Goal:
  
  A : Type
  p : nat → A → bool
  q : nat → A → bool
  n : nat
  l : list A
  hfg : ∀ i : nat, p i =1 q i
  ============================
   (alli p n l = alli q n l)


DEBUG:Going to execute:
induction l in n |- *

Goals:
  
  A : Type
  p : nat → A → bool
  q : nat → A → bool
  n : nat
  hfg : ∀ i : nat, p i =1 q i
  ============================
   (alli p n [] = alli q n [])

  
  A : Type
  p : nat → A → bool
  q : nat → A → bool
  n : nat
  a : A
  l : list A
  hfg : ∀ i : nat, p i =1 q i
  IHl : ∀ n : nat, alli p n l = alli q n l
  ============================
   (alli p n (a :: l) = alli q n (a :: l))


DEBUG:Going to execute:
simpl
DEBUG LTAC Evaluated term: l

Goals:
  
  A : Type
  p : nat → A → bool
  q : nat → A → bool
  n : nat
  hfg : ∀ i : nat, p i =1 q i
  ============================
   (true = true)

  
  A : Type
  p : nat → A → bool
  q : nat → A → bool
  n : nat
  a : A
  l : list A
  hfg : ∀ i : nat, p i =1 q i
  IHl : ∀ n : nat, alli p n l = alli q n l
  ============================
   (p n a && alli p (S n) l = q n a && alli q (S n) l)


DEBUG:Going to execute:
auto

Goals:
  
  A : Type
  p : nat → A → bool
  q : nat → A → bool
  n : nat
  hfg : ∀ i : nat, p i =1 q i
  ============================
   (true = true)

  
  A : Type
  p : nat → A → bool
  q : nat → A → bool
  n : nat
  a : A
  l : list A
  hfg : ∀ i : nat, p i =1 q i
  IHl : ∀ n : nat, alli p n l = alli q n l
  ============================
   (p n a && alli p (S n) l = q n a && alli q (S n) l)


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