Goal:
    A : Type  i : positive  x : A
  ============================
   (forall m : tree' A, get' i (set' i x m) = Some x)


DEBUG:Going to execute:
induction i

Goals:
  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  ============================
   (forall m : tree' A, get' (xI i) (set' (xI i) x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  ============================
   (forall m : tree' A, get' (xO i) (set' (xO i) x m) = Some x)

    A : Type  x : A
  ============================
   (forall m : tree' A, get' xH (set' xH x m) = Some x)


DEBUG:Going to execute:
destruct m
DEBUG LTAC Evaluated term: i

Goals:
  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' (xI i) (set' (xI i) x (Node001 m)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  ============================
   (get' (xI i) (set' (xI i) x (Node010 a)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  m : tree' A
  ============================
   (get' (xI i) (set' (xI i) x (Node011 a m)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' (xI i) (set' (xI i) x (Node100 m)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  m2 : tree' A
  ============================
   (get' (xI i) (set' (xI i) x (Node101 m1 m2)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  a : A
  ============================
   (get' (xI i) (set' (xI i) x (Node110 m a)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  a : A
  m2 : tree' A
  ============================
   (get' (xI i) (set' (xI i) x (Node111 m1 a m2)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' (xO i) (set' (xO i) x (Node001 m)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  ============================
   (get' (xO i) (set' (xO i) x (Node010 a)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  m : tree' A
  ============================
   (get' (xO i) (set' (xO i) x (Node011 a m)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' (xO i) (set' (xO i) x (Node100 m)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  m2 : tree' A
  ============================
   (get' (xO i) (set' (xO i) x (Node101 m1 m2)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  a : A
  ============================
   (get' (xO i) (set' (xO i) x (Node110 m a)) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  a : A
  m2 : tree' A
  ============================
   (get' (xO i) (set' (xO i) x (Node111 m1 a m2)) = Some x)

    A : Type  x : A  m : tree' A
  ============================
   (get' xH (set' xH x (Node001 m)) = Some x)

    A : Type  x : A  a : A
  ============================
   (get' xH (set' xH x (Node010 a)) = Some x)

    A : Type  x : A  a : A  m : tree' A
  ============================
   (get' xH (set' xH x (Node011 a m)) = Some x)

    A : Type  x : A  m : tree' A
  ============================
   (get' xH (set' xH x (Node100 m)) = Some x)

    A : Type  x : A  m1 : tree' A  m2 : tree' A
  ============================
   (get' xH (set' xH x (Node101 m1 m2)) = Some x)

    A : Type  x : A  m : tree' A  a : A
  ============================
   (get' xH (set' xH x (Node110 m a)) = Some x)

    A : Type  x : A  m1 : tree' A  a : A  m2 : tree' A
  ============================
   (get' xH (set' xH x (Node111 m1 a m2)) = Some x)


DEBUG:Going to execute:
simpl

Goals:
  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' i (set' i x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  m : tree' A
  ============================
   (get' i (set' i x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  m2 : tree' A
  ============================
   (get' i (set' i x m2) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  a : A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  a : A
  m2 : tree' A
  ============================
   (get' i (set' i x m2) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  m : tree' A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' i (set' i x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  m2 : tree' A
  ============================
   (get' i (set' i x m1) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  a : A
  ============================
   (get' i (set' i x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  a : A
  m2 : tree' A
  ============================
   (get' i (set' i x m1) = Some x)

    A : Type  x : A  m : tree' A
  ============================
   (Some x = Some x)

    A : Type  x : A  a : A
  ============================
   (Some x = Some x)

    A : Type  x : A  a : A  m : tree' A
  ============================
   (Some x = Some x)

    A : Type  x : A  m : tree' A
  ============================
   (Some x = Some x)

    A : Type  x : A  m1 : tree' A  m2 : tree' A
  ============================
   (Some x = Some x)

    A : Type  x : A  m : tree' A  a : A
  ============================
   (Some x = Some x)

    A : Type  x : A  m1 : tree' A  a : A  m2 : tree' A
  ============================
   (Some x = Some x)


DEBUG:Going to execute:
intros

Goals:
  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' i (set' i x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  m : tree' A
  ============================
   (get' i (set' i x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  m2 : tree' A
  ============================
   (get' i (set' i x m2) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  a : A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  a : A
  m2 : tree' A
  ============================
   (get' i (set' i x m2) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  a : A
  m : tree' A
  ============================
   (get' i (set0 i x) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  ============================
   (get' i (set' i x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  m2 : tree' A
  ============================
   (get' i (set' i x m1) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m : tree' A
  a : A
  ============================
   (get' i (set' i x m) = Some x)

  
  A : Type
  i : positive
  x : A
  IHi : forall m : tree' A, get' i (set' i x m) = Some x
  m1 : tree' A
  a : A
  m2 : tree' A
  ============================
   (get' i (set' i x m1) = Some x)

    A : Type  x : A  m : tree' A
  ============================
   (Some x = Some x)

    A : Type  x : A  a : A
  ============================
   (Some x = Some x)

    A : Type  x : A  a : A  m : tree' A
  ============================
   (Some x = Some x)

    A : Type  x : A  m : tree' A
  ============================
   (Some x = Some x)

    A : Type  x : A  m1 : tree' A  m2 : tree' A
  ============================
   (Some x = Some x)

    A : Type  x : A  m : tree' A  a : A
  ============================
   (Some x = Some x)

    A : Type  x : A  m1 : tree' A  a : A  m2 : tree' A
  ============================
   (Some x = Some x)


DEBUG:Going to execute:
auto using gss0