Goal:
  
  A : Type
  i : positive
  IHi : forall (j : positive) (x : A) (m : tree A),
        i <> j -> get i (set j x m) = get i m
  j : positive
  x : A
  m1 : tree A
  o : option A
  m2 : tree A
  H : not_trivially_empty m1 o m2
  IHm1 : xO i <> xI j -> get (xO i) (set (xI j) x m1) = get (xO i) m1
  IHm2 : xO i <> xI j -> get (xO i) (set (xI j) x m2) = get (xO i) m2
  H0 : xO i <> xI j
  ============================
   (get (xO i) (set (xI j) x (Node m1 o m2)) = get (xO i) (Node m1 o m2))


DEBUG:Going to execute:
rewrite set_Empty
DEBUG LTAC Evaluated term: set_Empty
DEBUG LTAC Evaluated term: set_Empty