Goal:
  
  A : Type
  B : Type
  C : Type
  f : option A -> option B -> option C
  f_None_None : f None None = None
  m : tree' A
  i : positive
  ============================
   (option_map (fun a : A => f (Some a) None) (get' i m) = f (get' i m) None)


DEBUG:Going to execute:
destruct (get' i m)
DEBUG LTAC Evaluated term: gmap_filter'
DEBUG LTAC Evaluated term: gmap_filter'

Goals:
  
  A : Type
  B : Type
  C : Type
  f : option A -> option B -> option C
  f_None_None : f None None = None
  m : tree' A
  i : positive
  a : A
  ============================
   (option_map (fun a : A => f (Some a) None) (Some a) = f (Some a) None)

  
  A : Type
  B : Type
  C : Type
  f : option A -> option B -> option C
  f_None_None : f None None = None
  m : tree' A
  i : positive
  ============================
   (option_map (fun a : A => f (Some a) None) None = f None None)


DEBUG:Going to execute:
auto
DEBUG LTAC Evaluated term: (get' i m)

Goals:
  
  A : Type
  B : Type
  C : Type
  f : option A -> option B -> option C
  f_None_None : f None None = None
  m : tree' A
  i : positive
  a : A
  ============================
   (option_map (fun a : A => f (Some a) None) (Some a) = f (Some a) None)

  
  A : Type
  B : Type
  C : Type
  f : option A -> option B -> option C
  f_None_None : f None None = None
  m : tree' A
  i : positive
  ============================
   (option_map (fun a : A => f (Some a) None) None = f None None)


DEBUG:Going to execute:
<coq-core.plugins.ltac::auto@0> $1 $2 $3