Goal:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (let H := CoreTactics.block in All Q (hd :: tl'))


DEBUG:Going to execute:
intros _

Goals:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd' :: tl))

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd :: tl'))


DEBUG:Going to execute:
CoreTactics.unblock_goal

Goals:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd' :: tl))

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd :: tl'))


DEBUG:Going to execute:
unfold CoreTactics.block in *; cbv zeta

Goals:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd' :: tl))

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd :: tl'))


DEBUG:Going to execute:
unfold CoreTactics.block in *

Goals:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd' :: tl))

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd :: tl'))


DEBUG:Going to execute:
cbv zeta

Goals:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd' :: tl))

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd :: tl'))


DEBUG:Going to execute:
constructor

Goals:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd' :: tl))

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (All Q (hd :: tl'))


DEBUG:Going to execute:
<coq-core.plugins.ltac::constructor@0>

Goals:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (Q hd')

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (All Q tl)

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (Q hd)

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (All Q tl')


DEBUG:Going to execute:
auto

Goals:
  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (Q hd')

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  hd' : A
  tl : list A
  p : P hd hd'
  q : Q hd
  H : All Q tl
  ============================
   (All Q tl)

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (Q hd)

  
  A : Type
  P : A → A → Type
  Q : A → Type
  HPQ : ∀ x y : A, Q x → P x y → Q y
  hd : A
  tl : list A
  tl' : list A
  X : OnOne2 P tl tl'
  IHX : All Q tl → All Q tl'
  q : Q hd
  H : All Q tl
  ============================
   (All Q tl')


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