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


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' B
  i : positive
  b : B
  ============================
   (option_map (fun b : B => f None (Some b)) (Some b) = f None (Some b))

  
  A : Type
  B : Type
  C : Type
  f : option A -> option B -> option C
  f_None_None : f None None = None
  m : tree' B
  i : positive
  ============================
   (option_map (fun b : B => f None (Some b)) 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' B
  i : positive
  b : B
  ============================
   (option_map (fun b : B => f None (Some b)) (Some b) = f None (Some b))

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


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