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 : xI i <> xO j -> get (xI i) (set (xO j) x m1) = get (xI i) m1
  IHm2 : xI i <> xO j -> get (xI i) (set (xO j) x m2) = get (xI i) m2
  H0 : xI i <> xO j
  ============================
   (get (xI i) (set (xO j) x (Node m1 o m2)) = get (xI i) (Node m1 o m2))


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