Library f_typ2

Here will we do some more advanced stuff with typing.

Require Import f_term f_env f_typ.

Require Import ut_term ut_red ut_env ut_typ ut_sr.

Require Import base.

Require Import List.

Require Import Peano_dec.

Require Import Compare_dec.

Require Import Lt Le Gt Plus Minus.


Module f_typ2_mod (X:term_sig) (Y:pts_sig X) (TM: f_term_mod X) (EM: f_env_mod X TM)
(UTM: ut_term_mod X) (URM:ut_red_mod X UTM) (UEM:ut_env_mod X UTM) (SRM: ut_sr_mod X Y UTM UEM URM).
Interactive Module f_typ2_mod started


 Import UTM URM UEM SRM X Y TM EM .
Warning: Notation _ →' _ was already used in scope UT_scope


Include (f_typ_mod X Y TM EM).


Open Scope F_scope.


Reserved Notation "'ε' x" (at level 4).
Identifier 'ε' now a keyword


Reserved Notation "'εc' x" (at level 4).
Identifier 'εc' now a keyword



In this file we prove more things about judgements
  • An alternative substitution lemma
  • Many facts about the erasure map, including the theorem PTSF -> PTS, erasure injectivity, erasure map for contexts and context conversion
  • The definition of repeated substitution to prove `equality_subst´

Lemma subst_typR : forall Δ A1 A2 n Γ Γ1 Γ2 H s,ins_in_env Δ A2 (S n) Γ Γ1->
                 sub_in_env (A2::Δ) (#0 H h 1) (A11) n Γ1 Γ2 -> Γ -> Δ A2:!s -> exists t, A2::Δ A11 : !t.
1 subgoals, subgoal 1 (ID 13)
  
  ============================
   forall (Δ : Env) (A1 A2 : Term) (n : nat) (Γ Γ1 Γ2 : Env) 
     (H : Prf) (s : Sorts),
   ins_in_env Δ A2 (S n) Γ Γ1 ->
   sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2 ->
   Γ ⊣ -> Δ ⊢ A2 : !s -> exists t : Sorts, A2 :: Δ ⊢ A1 ↑ 1 : !t

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 26)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : ins_in_env Δ A2 (S n) Γ Γ1
  H1 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H2 : Γ ⊣
  H3 : Δ ⊢ A2 : !s
  ============================
   exists t : Sorts, A2 :: Δ ⊢ A1 ↑ 1 : !t

(dependent evars:)


eapply wf_item;[eapply subst_item| |eapply subst_trunc];try eassumption.
1 subgoals, subgoal 1 (ID 30)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : ins_in_env Δ A2 (S n) Γ Γ1
  H1 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H2 : Γ ⊣
  H3 : Δ ⊢ A2 : !s
  ============================
   Γ1 ⊣

(dependent evars: ?27 using , ?28 using , ?32 using , ?33 using , ?34 using , ?36 using , ?37 using , ?38 using ,)


destruct weakening as (_&_&HH);eapply HH;[eassumption|eassumption..].
No more subgoals.
(dependent evars: ?27 using , ?28 using , ?32 using , ?33 using , ?34 using , ?36 using , ?37 using , ?38 using , ?53 using , ?54 using , ?55 using , ?56 using , ?57 using ,)


Qed.
subst_typR is defined



Lemma subst_typ : forall Δ A1 A2 n Γ Γ1 Γ2 M N H s, Γ M:N->Δ H : A2=A1->Δ A2:!s
                    ->ins_in_env Δ A2 (S n) Γ Γ1->sub_in_env (A2::Δ) (#0 H h 1) (A11) n Γ1 Γ2->
                      Γ2 (M 1 # (S n)) [n #0 H h 1] : (N 1 # (S n)) [n #0 H h 1].
1 subgoals, subgoal 1 (ID 87)
  
  ============================
   forall (Δ : Env) (A1 A2 : Term) (n : nat) (Γ Γ1 Γ2 : Env) 
     (M N : Term) (H : Prf) (s : Sorts),
   Γ ⊢ M : N ->
   Δ ⊢ H : A2 = A1 ->
   Δ ⊢ A2 : !s ->
   ins_in_env Δ A2 (S n) Γ Γ1 ->
   sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2 ->
   Γ2 ⊢ M ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1] : N ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1]

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 103)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ M : N
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  ============================
   Γ2 ⊢ M ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1] : N ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1]

(dependent evars:)


assert (Γ1 ) by (destruct weakening as (_&_&HH);eapply HH;[eapply wf_typ;eexact H0|eassumption..]).
1 subgoals, subgoal 1 (ID 105)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ M : N
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  ============================
   Γ2 ⊢ M ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1] : N ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1]

(dependent evars: ?119 using , ?120 using , ?121 using , ?122 using , ?123 using , ?127 using , ?128 using ,)


edestruct subst_typR as (?s&?);try eapply wf_typ;[eassumption..|].
1 subgoals, subgoal 1 (ID 157)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ M : N
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   Γ2 ⊢ M ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1] : N ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1]

(dependent evars: ?119 using , ?120 using , ?121 using , ?122 using , ?123 using , ?127 using , ?128 using , ?132 using , ?133 using , ?134 using , ?135 using , ?136 using , ?137 using , ?138 using , ?139 using , ?140 using , ?158 using , ?159 using ,)


eapply substitution;[eapply weakening;eassumption| |eassumption..].
1 subgoals, subgoal 1 (ID 180)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ M : N
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ #0 ∽ H ↑h 1 : A1 ↑ 1

(dependent evars: ?119 using , ?120 using , ?121 using , ?122 using , ?123 using , ?127 using , ?128 using , ?132 using , ?133 using , ?134 using , ?135 using , ?136 using , ?137 using , ?138 using , ?139 using , ?140 using , ?158 using , ?159 using , ?169 using ?176 , ?170 using ?178 , ?171 using ?179 , ?176 using , ?178 using , ?179 using , ?191 using ?198 , ?192 using ?200 , ?193 using ?201 , ?194 using ?203 , ?198 using , ?200 using , ?201 using , ?203 using ,)


eapply cConv with (s:=s0).
3 subgoals, subgoal 1 (ID 206)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ M : N
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ #0 : ?205

subgoal 2 (ID 207) is:
 A2 :: Δ ⊢ A1 ↑ 1 : !s0
subgoal 3 (ID 208) is:
 A2 :: Δ ⊢ H ↑h 1 : ?205 = A1 ↑ 1
(dependent evars: ?119 using , ?120 using , ?121 using , ?122 using , ?123 using , ?127 using , ?128 using , ?132 using , ?133 using , ?134 using , ?135 using , ?136 using , ?137 using , ?138 using , ?139 using , ?140 using , ?158 using , ?159 using , ?169 using ?176 , ?170 using ?178 , ?171 using ?179 , ?176 using , ?178 using , ?179 using , ?191 using ?198 , ?192 using ?200 , ?193 using ?201 , ?194 using ?203 , ?198 using , ?200 using , ?201 using , ?203 using , ?205 open,)


repeat econstructor;eassumption.
2 subgoals, subgoal 1 (ID 207)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ M : N
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ A1 ↑ 1 : !s0

subgoal 2 (ID 208) is:
 A2 :: Δ ⊢ H ↑h 1 : A2 ↑ 1 = A1 ↑ 1
(dependent evars: ?119 using , ?120 using , ?121 using , ?122 using , ?123 using , ?127 using , ?128 using , ?132 using , ?133 using , ?134 using , ?135 using , ?136 using , ?137 using , ?138 using , ?139 using , ?140 using , ?158 using , ?159 using , ?169 using ?176 , ?170 using ?178 , ?171 using ?179 , ?176 using , ?178 using , ?179 using , ?191 using ?198 , ?192 using ?200 , ?193 using ?201 , ?194 using ?203 , ?198 using , ?200 using , ?201 using , ?203 using , ?205 using ?224 , ?215 using , ?224 using ,)


eassumption.
1 subgoals, subgoal 1 (ID 208)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ M : N
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ H ↑h 1 : A2 ↑ 1 = A1 ↑ 1

(dependent evars: ?119 using , ?120 using , ?121 using , ?122 using , ?123 using , ?127 using , ?128 using , ?132 using , ?133 using , ?134 using , ?135 using , ?136 using , ?137 using , ?138 using , ?139 using , ?140 using , ?158 using , ?159 using , ?169 using ?176 , ?170 using ?178 , ?171 using ?179 , ?176 using , ?178 using , ?179 using , ?191 using ?198 , ?192 using ?200 , ?193 using ?201 , ?194 using ?203 , ?198 using , ?200 using , ?201 using , ?203 using , ?205 using ?224 , ?215 using , ?224 using ,)


eapply thinning_h;eassumption.
No more subgoals.
(dependent evars: ?119 using , ?120 using , ?121 using , ?122 using , ?123 using , ?127 using , ?128 using , ?132 using , ?133 using , ?134 using , ?135 using , ?136 using , ?137 using , ?138 using , ?139 using , ?140 using , ?158 using , ?159 using , ?169 using ?176 , ?170 using ?178 , ?171 using ?179 , ?176 using , ?178 using , ?179 using , ?191 using ?198 , ?192 using ?200 , ?193 using ?201 , ?194 using ?203 , ?198 using , ?200 using , ?201 using , ?203 using , ?205 using ?224 , ?215 using , ?224 using , ?231 using ,)


Qed.
subst_typ is defined



Lemma subst_wf : forall Δ A1 A2 n Γ Γ1 Γ2 H s, Γ ->Δ H : A2=A1->Δ A2:!s
                    ->ins_in_env Δ A2 (S n) Γ Γ1->sub_in_env (A2::Δ) (#0 H h 1) (A11) n Γ1 Γ2->
                      Γ2 .
1 subgoals, subgoal 1 (ID 261)
  
  ============================
   forall (Δ : Env) (A1 A2 : Term) (n : nat) (Γ Γ1 Γ2 : Env) 
     (H : Prf) (s : Sorts),
   Γ ⊣ ->
   Δ ⊢ H : A2 = A1 ->
   Δ ⊢ A2 : !s ->
   ins_in_env Δ A2 (S n) Γ Γ1 ->
   sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2 -> Γ2 ⊣

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 275)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : Γ ⊣
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  ============================
   Γ2 ⊣

(dependent evars:)


assert (Γ1 ) by (destruct weakening as (_&_&HH);eapply HH;[eexact H0|eassumption..]).
1 subgoals, subgoal 1 (ID 277)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : Γ ⊣
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  ============================
   Γ2 ⊣

(dependent evars: ?291 using , ?292 using , ?293 using , ?294 using , ?295 using ,)


edestruct subst_typR as (?s&?);[eassumption..|].
1 subgoals, subgoal 1 (ID 326)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : Γ ⊣
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   Γ2 ⊣

(dependent evars: ?291 using , ?292 using , ?293 using , ?294 using , ?295 using , ?301 using , ?302 using , ?303 using , ?304 using , ?305 using , ?306 using , ?307 using , ?308 using , ?309 using ,)


eapply substitution;[eexact H5| |eassumption..].
1 subgoals, subgoal 1 (ID 352)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : Γ ⊣
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ #0 ∽ H ↑h 1 : A1 ↑ 1

(dependent evars: ?291 using , ?292 using , ?293 using , ?294 using , ?295 using , ?301 using , ?302 using , ?303 using , ?304 using , ?305 using , ?306 using , ?307 using , ?308 using , ?309 using , ?331 using ?339 , ?332 using ?341 , ?333 using ?342 , ?334 using ?343 , ?335 using ?345 , ?339 using ?347 , ?341 using ?349 , ?342 using ?350 , ?343 using ?351 , ?345 using ?353 , ?347 using , ?349 using , ?350 using , ?351 using , ?353 using ,)


eapply cConv with (s:=s0).
3 subgoals, subgoal 1 (ID 356)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : Γ ⊣
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ #0 : ?355

subgoal 2 (ID 357) is:
 A2 :: Δ ⊢ A1 ↑ 1 : !s0
subgoal 3 (ID 358) is:
 A2 :: Δ ⊢ H ↑h 1 : ?355 = A1 ↑ 1
(dependent evars: ?291 using , ?292 using , ?293 using , ?294 using , ?295 using , ?301 using , ?302 using , ?303 using , ?304 using , ?305 using , ?306 using , ?307 using , ?308 using , ?309 using , ?331 using ?339 , ?332 using ?341 , ?333 using ?342 , ?334 using ?343 , ?335 using ?345 , ?339 using ?347 , ?341 using ?349 , ?342 using ?350 , ?343 using ?351 , ?345 using ?353 , ?347 using , ?349 using , ?350 using , ?351 using , ?353 using , ?355 open,)


repeat econstructor;eassumption.
2 subgoals, subgoal 1 (ID 357)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : Γ ⊣
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ A1 ↑ 1 : !s0

subgoal 2 (ID 358) is:
 A2 :: Δ ⊢ H ↑h 1 : A2 ↑ 1 = A1 ↑ 1
(dependent evars: ?291 using , ?292 using , ?293 using , ?294 using , ?295 using , ?301 using , ?302 using , ?303 using , ?304 using , ?305 using , ?306 using , ?307 using , ?308 using , ?309 using , ?331 using ?339 , ?332 using ?341 , ?333 using ?342 , ?334 using ?343 , ?335 using ?345 , ?339 using ?347 , ?341 using ?349 , ?342 using ?350 , ?343 using ?351 , ?345 using ?353 , ?347 using , ?349 using , ?350 using , ?351 using , ?353 using , ?355 using ?374 , ?365 using , ?374 using ,)


eassumption.
1 subgoals, subgoal 1 (ID 358)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H : Prf
  s : Sorts
  H0 : Γ ⊣
  H1 : Δ ⊢ H : A2 = A1
  H2 : Δ ⊢ A2 : !s
  H3 : ins_in_env Δ A2 (S n) Γ Γ1
  H4 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H5 : Γ1 ⊣
  s0 : Sorts
  H6 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ H ↑h 1 : A2 ↑ 1 = A1 ↑ 1

(dependent evars: ?291 using , ?292 using , ?293 using , ?294 using , ?295 using , ?301 using , ?302 using , ?303 using , ?304 using , ?305 using , ?306 using , ?307 using , ?308 using , ?309 using , ?331 using ?339 , ?332 using ?341 , ?333 using ?342 , ?334 using ?343 , ?335 using ?345 , ?339 using ?347 , ?341 using ?349 , ?342 using ?350 , ?343 using ?351 , ?345 using ?353 , ?347 using , ?349 using , ?350 using , ?351 using , ?353 using , ?355 using ?374 , ?365 using , ?374 using ,)


eapply thinning_h;eassumption.
No more subgoals.
(dependent evars: ?291 using , ?292 using , ?293 using , ?294 using , ?295 using , ?301 using , ?302 using , ?303 using , ?304 using , ?305 using , ?306 using , ?307 using , ?308 using , ?309 using , ?331 using ?339 , ?332 using ?341 , ?333 using ?342 , ?334 using ?343 , ?335 using ?345 , ?339 using ?347 , ?341 using ?349 , ?342 using ?350 , ?343 using ?351 , ?345 using ?353 , ?347 using , ?349 using , ?350 using , ?351 using , ?353 using , ?355 using ?374 , ?365 using , ?374 using , ?381 using ,)


Qed.
subst_wf is defined



Lemma subst_eq : forall Δ A1 A2 n Γ Γ1 Γ2 H2 M N H s, Γ H2 : M=N->Δ H : A2=A1->Δ A2:!s
                 ->ins_in_env Δ A2 (S n) Γ Γ1->sub_in_env (A2::Δ) (#0 H h 1) (A11) n Γ1 Γ2->
                 Γ2 (H2 h 1 # (S n)) [n h #0 H h 1] : (M 1 # (S n)) [n #0 H h 1] = (N 1 # (S n)) [n #0 H h 1].
1 subgoals, subgoal 1 (ID 412)
  
  ============================
   forall (Δ : Env) (A1 A2 : Term) (n : nat) (Γ Γ1 Γ2 : Env) 
     (H2 : Prf) (M N : Term) (H : Prf) (s : Sorts),
   Γ ⊢ H2 : M = N ->
   Δ ⊢ H : A2 = A1 ->
   Δ ⊢ A2 : !s ->
   ins_in_env Δ A2 (S n) Γ Γ1 ->
   sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2 ->
   Γ2 ⊢ H2 ↑h 1 # (S n) [n ←h #0 ∽ H ↑h 1]
   : M ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1] = N ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1]

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 429)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H2 : Prf
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ H2 : M = N
  H1 : Δ ⊢ H : A2 = A1
  H3 : Δ ⊢ A2 : !s
  H4 : ins_in_env Δ A2 (S n) Γ Γ1
  H5 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  ============================
   Γ2 ⊢ H2 ↑h 1 # (S n) [n ←h #0 ∽ H ↑h 1]
   : M ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1] = N ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1]

(dependent evars:)


assert (Γ1 ) by (edestruct equality_typing as ((?&?)&_);[eapply H0|];
                  destruct weakening as (_&_&HH);eapply HH;[eapply wf_typ;eassumption|try eassumption..]).
1 subgoals, subgoal 1 (ID 431)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H2 : Prf
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ H2 : M = N
  H1 : Δ ⊢ H : A2 = A1
  H3 : Δ ⊢ A2 : !s
  H4 : ins_in_env Δ A2 (S n) Γ Γ1
  H5 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H6 : Γ1 ⊣
  ============================
   Γ2 ⊢ H2 ↑h 1 # (S n) [n ←h #0 ∽ H ↑h 1]
   : M ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1] = N ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1]

(dependent evars: ?434 using , ?435 using , ?436 using , ?437 using , ?464 using , ?465 using , ?466 using , ?467 using , ?468 using , ?472 using , ?473 using ,)


assert (exists s, A2::Δ A11 : !s) as (?s&?) by (eapply wf_item;[eapply subst_item| |eapply subst_trunc];eassumption).
1 subgoals, subgoal 1 (ID 482)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H2 : Prf
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ H2 : M = N
  H1 : Δ ⊢ H : A2 = A1
  H3 : Δ ⊢ A2 : !s
  H4 : ins_in_env Δ A2 (S n) Γ Γ1
  H5 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H6 : Γ1 ⊣
  s0 : Sorts
  H7 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   Γ2 ⊢ H2 ↑h 1 # (S n) [n ←h #0 ∽ H ↑h 1]
   : M ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1] = N ↑ 1 # (S n) [n ← #0 ∽ H ↑h 1]

(dependent evars: ?434 using , ?435 using , ?436 using , ?437 using , ?464 using , ?465 using , ?466 using , ?467 using , ?468 using , ?472 using , ?473 using , ?483 using , ?484 using , ?488 using , ?489 using , ?490 using , ?492 using , ?493 using , ?494 using ,)


eapply substitution;[eapply weakening;eassumption| |eassumption..].
1 subgoals, subgoal 1 (ID 520)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H2 : Prf
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ H2 : M = N
  H1 : Δ ⊢ H : A2 = A1
  H3 : Δ ⊢ A2 : !s
  H4 : ins_in_env Δ A2 (S n) Γ Γ1
  H5 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H6 : Γ1 ⊣
  s0 : Sorts
  H7 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ #0 ∽ H ↑h 1 : A1 ↑ 1

(dependent evars: ?434 using , ?435 using , ?436 using , ?437 using , ?464 using , ?465 using , ?466 using , ?467 using , ?468 using , ?472 using , ?473 using , ?483 using , ?484 using , ?488 using , ?489 using , ?490 using , ?492 using , ?493 using , ?494 using , ?502 using ?509 , ?503 using ?511 , ?504 using ?512 , ?509 using ?516 , ?511 using ?518 , ?512 using ?519 , ?516 using , ?518 using , ?519 using , ?529 using ?536 , ?530 using ?538 , ?531 using ?539 , ?532 using ?541 , ?536 using ?543 , ?538 using ?545 , ?539 using ?546 , ?541 using ?548 , ?543 using , ?545 using , ?546 using , ?548 using ,)


eapply cConv with (s:=s0).
3 subgoals, subgoal 1 (ID 551)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H2 : Prf
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ H2 : M = N
  H1 : Δ ⊢ H : A2 = A1
  H3 : Δ ⊢ A2 : !s
  H4 : ins_in_env Δ A2 (S n) Γ Γ1
  H5 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H6 : Γ1 ⊣
  s0 : Sorts
  H7 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ #0 : ?550

subgoal 2 (ID 552) is:
 A2 :: Δ ⊢ A1 ↑ 1 : !s0
subgoal 3 (ID 553) is:
 A2 :: Δ ⊢ H ↑h 1 : ?550 = A1 ↑ 1
(dependent evars: ?434 using , ?435 using , ?436 using , ?437 using , ?464 using , ?465 using , ?466 using , ?467 using , ?468 using , ?472 using , ?473 using , ?483 using , ?484 using , ?488 using , ?489 using , ?490 using , ?492 using , ?493 using , ?494 using , ?502 using ?509 , ?503 using ?511 , ?504 using ?512 , ?509 using ?516 , ?511 using ?518 , ?512 using ?519 , ?516 using , ?518 using , ?519 using , ?529 using ?536 , ?530 using ?538 , ?531 using ?539 , ?532 using ?541 , ?536 using ?543 , ?538 using ?545 , ?539 using ?546 , ?541 using ?548 , ?543 using , ?545 using , ?546 using , ?548 using , ?550 open,)


repeat econstructor;eassumption.
2 subgoals, subgoal 1 (ID 552)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H2 : Prf
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ H2 : M = N
  H1 : Δ ⊢ H : A2 = A1
  H3 : Δ ⊢ A2 : !s
  H4 : ins_in_env Δ A2 (S n) Γ Γ1
  H5 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H6 : Γ1 ⊣
  s0 : Sorts
  H7 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ A1 ↑ 1 : !s0

subgoal 2 (ID 553) is:
 A2 :: Δ ⊢ H ↑h 1 : A2 ↑ 1 = A1 ↑ 1
(dependent evars: ?434 using , ?435 using , ?436 using , ?437 using , ?464 using , ?465 using , ?466 using , ?467 using , ?468 using , ?472 using , ?473 using , ?483 using , ?484 using , ?488 using , ?489 using , ?490 using , ?492 using , ?493 using , ?494 using , ?502 using ?509 , ?503 using ?511 , ?504 using ?512 , ?509 using ?516 , ?511 using ?518 , ?512 using ?519 , ?516 using , ?518 using , ?519 using , ?529 using ?536 , ?530 using ?538 , ?531 using ?539 , ?532 using ?541 , ?536 using ?543 , ?538 using ?545 , ?539 using ?546 , ?541 using ?548 , ?543 using , ?545 using , ?546 using , ?548 using , ?550 using ?569 , ?560 using , ?569 using ,)


eassumption.
1 subgoals, subgoal 1 (ID 553)
  
  Δ : Env
  A1 : Term
  A2 : Term
  n : nat
  Γ : Env
  Γ1 : Env
  Γ2 : Env
  H2 : Prf
  M : Term
  N : Term
  H : Prf
  s : Sorts
  H0 : Γ ⊢ H2 : M = N
  H1 : Δ ⊢ H : A2 = A1
  H3 : Δ ⊢ A2 : !s
  H4 : ins_in_env Δ A2 (S n) Γ Γ1
  H5 : sub_in_env (A2 :: Δ) (#0 ∽ H ↑h 1) A1 ↑ 1 n Γ1 Γ2
  H6 : Γ1 ⊣
  s0 : Sorts
  H7 : A2 :: Δ ⊢ A1 ↑ 1 : !s0
  ============================
   A2 :: Δ ⊢ H ↑h 1 : A2 ↑ 1 = A1 ↑ 1

(dependent evars: ?434 using , ?435 using , ?436 using , ?437 using , ?464 using , ?465 using , ?466 using , ?467 using , ?468 using , ?472 using , ?473 using , ?483 using , ?484 using , ?488 using , ?489 using , ?490 using , ?492 using , ?493 using , ?494 using , ?502 using ?509 , ?503 using ?511 , ?504 using ?512 , ?509 using ?516 , ?511 using ?518 , ?512 using ?519 , ?516 using , ?518 using , ?519 using , ?529 using ?536 , ?530 using ?538 , ?531 using ?539 , ?532 using ?541 , ?536 using ?543 , ?538 using ?545 , ?539 using ?546 , ?541 using ?548 , ?543 using , ?545 using , ?546 using , ?548 using , ?550 using ?569 , ?560 using , ?569 using ,)


eapply thinning_h;eassumption.
No more subgoals.
(dependent evars: ?434 using , ?435 using , ?436 using , ?437 using , ?464 using , ?465 using , ?466 using , ?467 using , ?468 using , ?472 using , ?473 using , ?483 using , ?484 using , ?488 using , ?489 using , ?490 using , ?492 using , ?493 using , ?494 using , ?502 using ?509 , ?503 using ?511 , ?504 using ?512 , ?509 using ?516 , ?511 using ?518 , ?512 using ?519 , ?516 using , ?518 using , ?519 using , ?529 using ?536 , ?530 using ?538 , ?531 using ?539 , ?532 using ?541 , ?536 using ?543 , ?538 using ?545 , ?539 using ?546 , ?541 using ?548 , ?543 using , ?545 using , ?546 using , ?548 using , ?550 using ?569 , ?560 using , ?569 using , ?576 using ,)


Qed.
subst_eq is defined




Fixpoint erasure (T:TM.Term) {struct T} : UTM.Term := match T with
   | # x => (# x)%UT
   | ! s => (! s)%UT
   | M · N => ((ε M) · (ε N))%UT
   | Π ( A ), B => (Π (ε A), (ε B))%UT
   | λ [ A ], M => (λ [ε A], (ε M))%UT
   | A H => ε A
 end
   where "'ε' t" := (erasure t) : F_scope.
erasure is recursively defined (decreasing on 1st argument)



Fixpoint erasure_context (Γ:EM.Env) {struct Γ} : UEM.Env := match Γ with
   | nil => nil
   | A::Γ => ε A::εc Γ
 end
   where "'εc' t" := (erasure_context t) : F_scope.
erasure_context is recursively defined (decreasing on 1st argument)



Lemma erasure_lift : forall a n m, ε(a n # m)=(ε a n # m)%UT.
1 subgoals, subgoal 1 (ID 607)
  
  ============================
   forall (a : Term) (n m : nat), ε (a ↑ n # m) = (ε a ↑ n # m)%UT

(dependent evars:)


induction a;simpl;intros;[destruct (le_gt_dec m v);simpl;reflexivity|try rewrite IHa1;try rewrite IHa2;trivial..].
No more subgoals.
(dependent evars:)


Qed.
erasure_lift is defined



Lemma erasure_subst : forall a n N, ε(a [n N])=(ε a [n ε N])%UT.
1 subgoals, subgoal 1 (ID 688)
  
  ============================
   forall (a : Term) (n : nat) (N : Term), ε (a [n ← N]) = (ε a [n ← ε N])%UT

(dependent evars:)


induction a;simpl;intros; [destruct (lt_eq_lt_dec v n) as [[]|];
simpl;try rewrite erasure_lift;trivial|try rewrite IHa1;try rewrite IHa2;trivial..].
No more subgoals.
(dependent evars:)


Qed.
erasure_subst is defined



Hint Rewrite erasure_lift erasure_subst.


Lemma erasure_lem2 : forall H a, ε a = ε((a 1 # 1) [ #0 H]).
1 subgoals, subgoal 1 (ID 780)
  
  ============================
   forall (H : Prf) (a : Term), ε a = ε ((a ↑ 1 # 1) [ ← #0 ∽ H])

(dependent evars:)


intros; rewrite erasure_subst.
1 subgoals, subgoal 1 (ID 783)
  
  H : Prf
  a : Term
  ============================
   ε a = (ε (a ↑ 1 # 1)%F [ ← ε (#0%F ∽ H)])%UT

(dependent evars:)

change (ε(#0 H)) with (ε(#0)).
1 subgoals, subgoal 1 (ID 785)
  
  H : Prf
  a : Term
  ============================
   ε a = (ε (a ↑ 1 # 1)%F [ ← ε #0%F])%UT

(dependent evars:)

rewrite <- erasure_subst.
1 subgoals, subgoal 1 (ID 786)
  
  H : Prf
  a : Term
  ============================
   ε a = ε ((a ↑ 1 # 1) [ ← #0])

(dependent evars:)


rewrite_l_rev erasure_lem1;reflexivity.
No more subgoals.
(dependent evars:)


Qed.
erasure_lem2 is defined



Lemma erasure_item : forall Γ A v, A v Γ -> (ε A v εc Γ)%UT.
1 subgoals, subgoal 1 (ID 801)
  
  ============================
   forall (Γ : list Term) (A : Term) (v : nat),
   A ↓ v ∈ Γ -> (ε A ↓ v ∈ εc Γ)%UT

(dependent evars:)


induction 1;simpl;auto.
No more subgoals.
(dependent evars:)


Qed.
erasure_item is defined



Lemma erasure_item_lift : forall Γ A v, A v Γ -> (ε A v εc Γ)%UT.
1 subgoals, subgoal 1 (ID 831)
  
  ============================
   forall (Γ : Env) (A : Term) (v : nat), A ↓ v ⊂ Γ -> (ε A ↓ v ⊂ εc Γ)%UT

(dependent evars:)


destruct 1 as (?&?&?).
1 subgoals, subgoal 1 (ID 843)
  
  Γ : Env
  A : Term
  v : nat
  x : Term
  H : A = x ↑ (S v)
  H0 : x ↓ v ∈ Γ
  ============================
   (ε A ↓ v ⊂ εc Γ)%UT

(dependent evars:)

exists ε x;intuition.
2 subgoals, subgoal 1 (ID 847)
  
  Γ : Env
  A : Term
  v : nat
  x : Term
  H : A = x ↑ (S v)
  H0 : x ↓ v ∈ Γ
  ============================
   ε A = (ε x ↑ (S v))%UT

subgoal 2 (ID 848) is:
 (ε x ↓ v ∈ εc Γ)%UT
(dependent evars:)

rewrite <- erasure_lift; rewrite <- H; reflexivity.
1 subgoals, subgoal 1 (ID 848)
  
  Γ : Env
  A : Term
  v : nat
  x : Term
  H : A = x ↑ (S v)
  H0 : x ↓ v ∈ Γ
  ============================
   (ε x ↓ v ∈ εc Γ)%UT

(dependent evars:)


apply erasure_item;assumption.
No more subgoals.
(dependent evars:)


Qed.
erasure_item_lift is defined



Lemma erasure_item_lift_rev : forall Δ Γ v A, εc Γ = Δ->(A v Δ)%UT->exists A',ε A'=A/\ A' v Γ.
1 subgoals, subgoal 1 (ID 882)
  
  ============================
   forall (Δ : UEM.Env) (Γ : Env) (v : nat) (A : UTM.Term),
   εc Γ = Δ -> (A ↓ v ⊂ Δ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ

(dependent evars:)


induction Δ;destruct 2 as (?&?&?);subst.
2 subgoals, subgoal 1 (ID 919)
  
  Γ : Env
  v : nat
  H : εc Γ = nil
  x : UTM.Term
  H1 : (x ↓ v ∈ nil)%UT
  ============================
   exists A' : Term, ε A' = (x ↑ (S v))%UT /\ A' ↓ v ⊂ Γ

subgoal 2 (ID 922) is:
 exists A' : Term, ε A' = (x ↑ (S v))%UT /\ A' ↓ v ⊂ Γ
(dependent evars:)


inversion H1.
1 subgoals, subgoal 1 (ID 922)
  
  a : UTM.Term
  Δ : list UTM.Term
  IHΔ : forall (Γ : Env) (v : nat) (A : UTM.Term),
        εc Γ = Δ ->
        (A ↓ v ⊂ Δ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ
  Γ : Env
  v : nat
  H : εc Γ = a :: Δ
  x : UTM.Term
  H1 : (x ↓ v ∈ a :: Δ)%UT
  ============================
   exists A' : Term, ε A' = (x ↑ (S v))%UT /\ A' ↓ v ⊂ Γ

(dependent evars:)


destruct Γ;try discriminate;simpl in H;injection H;intros;subst.
1 subgoals, subgoal 1 (ID 1000)
  
  t : Term
  Γ : list Term
  v : nat
  x : UTM.Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  H1 : (x ↓ v ∈ ε t :: εc Γ)%UT
  ============================
   exists A' : Term, ε A' = (x ↑ (S v))%UT /\ A' ↓ v ⊂ t :: Γ

(dependent evars:)


inversion H1;subst.
2 subgoals, subgoal 1 (ID 1076)
  
  t : Term
  Γ : list Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  H1 : (ε t ↓ 0 ∈ ε t :: εc Γ)%UT
  ============================
   exists A' : Term, ε A' = (ε t ↑ 1)%UT /\ A' ↓ 0 ⊂ t :: Γ

subgoal 2 (ID 1083) is:
 exists A' : Term, ε A' = (x ↑ (S (S n)))%UT /\ A' ↓ S n ⊂ t :: Γ
(dependent evars:)


exists t1;split.
3 subgoals, subgoal 1 (ID 1087)
  
  t : Term
  Γ : list Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  H1 : (ε t ↓ 0 ∈ ε t :: εc Γ)%UT
  ============================
   ε (t ↑ 1) = (ε t ↑ 1)%UT

subgoal 2 (ID 1088) is:
 t ↑ 1 ↓ 0 ⊂ t :: Γ
subgoal 3 (ID 1083) is:
 exists A' : Term, ε A' = (x ↑ (S (S n)))%UT /\ A' ↓ S n ⊂ t :: Γ
(dependent evars:)

rewrite erasure_lift;reflexivity.
2 subgoals, subgoal 1 (ID 1088)
  
  t : Term
  Γ : list Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  H1 : (ε t ↓ 0 ∈ ε t :: εc Γ)%UT
  ============================
   t ↑ 1 ↓ 0 ⊂ t :: Γ

subgoal 2 (ID 1083) is:
 exists A' : Term, ε A' = (x ↑ (S (S n)))%UT /\ A' ↓ S n ⊂ t :: Γ
(dependent evars:)

exists t;intuition.
1 subgoals, subgoal 1 (ID 1083)
  
  t : Term
  Γ : list Term
  x : UTM.Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  n : nat
  H4 : (x ↓ n ∈ εc Γ)%UT
  H1 : (x ↓ S n ∈ ε t :: εc Γ)%UT
  ============================
   exists A' : Term, ε A' = (x ↑ (S (S n)))%UT /\ A' ↓ S n ⊂ t :: Γ

(dependent evars:)


edestruct IHΔ as (?&?&?&?&?);[reflexivity|exists x;eauto|subst].
1 subgoals, subgoal 1 (ID 1144)
  
  t : Term
  Γ : list Term
  x : UTM.Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  n : nat
  H4 : (x ↓ n ∈ εc Γ)%UT
  H1 : (x ↓ S n ∈ ε t :: εc Γ)%UT
  x1 : Term
  H3 : x1 ↓ n ∈ Γ
  H0 : ε (x1 ↑ (S n)) = (x ↑ (S n))%UT
  ============================
   exists A' : Term, ε A' = (x ↑ (S (S n)))%UT /\ A' ↓ S n ⊂ t :: Γ

(dependent evars: ?1105 using , ?1106 using , ?1107 using ?1106 ,)


exists x1↑(S (S n)).
1 subgoals, subgoal 1 (ID 1146)
  
  t : Term
  Γ : list Term
  x : UTM.Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  n : nat
  H4 : (x ↓ n ∈ εc Γ)%UT
  H1 : (x ↓ S n ∈ ε t :: εc Γ)%UT
  x1 : Term
  H3 : x1 ↓ n ∈ Γ
  H0 : ε (x1 ↑ (S n)) = (x ↑ (S n))%UT
  ============================
   ε (x1 ↑ (S (S n))) = (x ↑ (S (S n)))%UT /\ x1 ↑ (S (S n)) ↓ S n ⊂ t :: Γ

(dependent evars: ?1105 using , ?1106 using , ?1107 using ?1106 ,)

rewrite erasure_lift in *.
1 subgoals, subgoal 1 (ID 1149)
  
  t : Term
  Γ : list Term
  x : UTM.Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  n : nat
  H4 : (x ↓ n ∈ εc Γ)%UT
  H1 : (x ↓ S n ∈ ε t :: εc Γ)%UT
  x1 : Term
  H3 : x1 ↓ n ∈ Γ
  H0 : (ε x1 ↑ (S n))%UT = (x ↑ (S n))%UT
  ============================
   (ε x1 ↑ (S (S n)))%UT = (x ↑ (S (S n)))%UT /\
   x1 ↑ (S (S n)) ↓ S n ⊂ t :: Γ

(dependent evars: ?1105 using , ?1106 using , ?1107 using ?1106 ,)

apply UTM.inv_lift in H0.
1 subgoals, subgoal 1 (ID 1151)
  
  t : Term
  Γ : list Term
  x : UTM.Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  n : nat
  H4 : (x ↓ n ∈ εc Γ)%UT
  H1 : (x ↓ S n ∈ ε t :: εc Γ)%UT
  x1 : Term
  H3 : x1 ↓ n ∈ Γ
  H0 : ε x1 = x
  ============================
   (ε x1 ↑ (S (S n)))%UT = (x ↑ (S (S n)))%UT /\
   x1 ↑ (S (S n)) ↓ S n ⊂ t :: Γ

(dependent evars: ?1105 using , ?1106 using , ?1107 using ?1106 ,)


rewrite H0;intuition.
1 subgoals, subgoal 1 (ID 1155)
  
  t : Term
  Γ : list Term
  x : UTM.Term
  IHΔ : forall (Γ0 : Env) (v : nat) (A : UTM.Term),
        εc Γ0 = εc Γ ->
        (A ↓ v ⊂ εc Γ)%UT -> exists A' : Term, ε A' = A /\ A' ↓ v ⊂ Γ0
  H : ε t :: εc Γ = ε t :: εc Γ
  n : nat
  H4 : (x ↓ n ∈ εc Γ)%UT
  H1 : (x ↓ S n ∈ ε t :: εc Γ)%UT
  x1 : Term
  H3 : x1 ↓ n ∈ Γ
  H0 : ε x1 = x
  ============================
   x1 ↑ (S (S n)) ↓ S n ⊂ t :: Γ

(dependent evars: ?1105 using , ?1106 using , ?1107 using ?1106 ,)

exists x1;intuition.
No more subgoals.
(dependent evars: ?1105 using , ?1106 using , ?1107 using ?1106 ,)


Qed.
erasure_item_lift_rev is defined



Theorem PTSF2PTS : (forall Γ A B,Γ A : B -> (εc Γ ε A : ε B)%UT )/\
                   (forall Γ H A B, Γ H : A = B -> ε A ε B)/\
                   (forall Γ, Γ -> εc Γ %UT).
1 subgoals, subgoal 1 (ID 1205)
  
  ============================
   (forall (Γ : Env) (A B : Term), Γ ⊢ A : B -> (εc Γ ⊢ ε A : ε B)%UT) /\
   (forall (Γ : Env) (H : Prf) (A B : Term), Γ ⊢ H : A = B -> ε A ≡ ε B) /\
   (forall Γ : Env, Γ ⊣ -> (εc Γ ⊣)%UT)

(dependent evars:)


apply typ_induc;simpl;intros;trivial;try (econstructor;eassumption).
8 subgoals, subgoal 1 (ID 1249)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣
  H : (εc Γ ⊣)%UT
  i : A ↓ v ⊂ Γ
  ============================
   (εc Γ ⊢ #v : ε A)%UT

subgoal 2 (ID 1283) is:
 (εc Γ ⊢ ε F · ε a : ε (B [ ← a])%F)%UT
subgoal 3 (ID 1311) is:
 ε B ≡ ε A
subgoal 4 (ID 1321) is:
 ε A ≡ ε C
subgoal 5 (ID 1338) is:
 ((λ [ε A], ε b) · ε a)%UT ≡ ε (b [ ← a])
subgoal 6 (ID 1365) is:
 (Π (ε A), ε B)%UT ≡ (Π (ε A'), ε B')%UT
subgoal 7 (ID 1398) is:
 (λ [ε A], ε b)%UT ≡ (λ [ε A'], ε b')%UT
subgoal 8 (ID 1421) is:
 (ε F · ε a)%UT ≡ (ε F' · ε a')%UT
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using ,)


constructor;try apply erasure_item_lift;trivial.
7 subgoals, subgoal 1 (ID 1283)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : (εc Γ ⊢ ε F : Π (ε A), ε B)%UT
  t0 : Γ ⊢ a : A
  H0 : (εc Γ ⊢ ε a : ε A)%UT
  ============================
   (εc Γ ⊢ ε F · ε a : ε (B [ ← a])%F)%UT

subgoal 2 (ID 1311) is:
 ε B ≡ ε A
subgoal 3 (ID 1321) is:
 ε A ≡ ε C
subgoal 4 (ID 1338) is:
 ((λ [ε A], ε b) · ε a)%UT ≡ ε (b [ ← a])
subgoal 5 (ID 1365) is:
 (Π (ε A), ε B)%UT ≡ (Π (ε A'), ε B')%UT
subgoal 6 (ID 1398) is:
 (λ [ε A], ε b)%UT ≡ (λ [ε A'], ε b')%UT
subgoal 7 (ID 1421) is:
 (ε F · ε a)%UT ≡ (ε F' · ε a')%UT
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using ,)


rewrite erasure_subst.
7 subgoals, subgoal 1 (ID 1505)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : (εc Γ ⊢ ε F : Π (ε A), ε B)%UT
  t0 : Γ ⊢ a : A
  H0 : (εc Γ ⊢ ε a : ε A)%UT
  ============================
   (εc Γ ⊢ ε F · ε a : ε B [ ← ε a])%UT

subgoal 2 (ID 1311) is:
 ε B ≡ ε A
subgoal 3 (ID 1321) is:
 ε A ≡ ε C
subgoal 4 (ID 1338) is:
 ((λ [ε A], ε b) · ε a)%UT ≡ ε (b [ ← a])
subgoal 5 (ID 1365) is:
 (Π (ε A), ε B)%UT ≡ (Π (ε A'), ε B')%UT
subgoal 6 (ID 1398) is:
 (λ [ε A], ε b)%UT ≡ (λ [ε A'], ε b')%UT
subgoal 7 (ID 1421) is:
 (ε F · ε a)%UT ≡ (ε F' · ε a')%UT
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using ,)

econstructor;eassumption.
6 subgoals, subgoal 1 (ID 1311)
  
  Γ : Env
  H : Prf
  A : Term
  B : Term
  t : Γ ⊢ H : A = B
  H0 : ε A ≡ ε B
  ============================
   ε B ≡ ε A

subgoal 2 (ID 1321) is:
 ε A ≡ ε C
subgoal 3 (ID 1338) is:
 ((λ [ε A], ε b) · ε a)%UT ≡ ε (b [ ← a])
subgoal 4 (ID 1365) is:
 (Π (ε A), ε B)%UT ≡ (Π (ε A'), ε B')%UT
subgoal 5 (ID 1398) is:
 (λ [ε A], ε b)%UT ≡ (λ [ε A'], ε b')%UT
subgoal 6 (ID 1421) is:
 (ε F · ε a)%UT ≡ (ε F' · ε a')%UT
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using , ?1511 using ,)


apply Betac_sym;trivial.
5 subgoals, subgoal 1 (ID 1321)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : ε A ≡ ε B
  t0 : Γ ⊢ K : B = C
  H1 : ε B ≡ ε C
  ============================
   ε A ≡ ε C

subgoal 2 (ID 1338) is:
 ((λ [ε A], ε b) · ε a)%UT ≡ ε (b [ ← a])
subgoal 3 (ID 1365) is:
 (Π (ε A), ε B)%UT ≡ (Π (ε A'), ε B')%UT
subgoal 4 (ID 1398) is:
 (λ [ε A], ε b)%UT ≡ (λ [ε A'], ε b')%UT
subgoal 5 (ID 1421) is:
 (ε F · ε a)%UT ≡ (ε F' · ε a')%UT
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using , ?1511 using ,)


apply Betac_trans with ε B;trivial.
4 subgoals, subgoal 1 (ID 1338)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : (εc Γ ⊢ ε a : ε A)%UT
  t0 : Γ ⊢ A : !s1
  H0 : (εc Γ ⊢ ε A : !s1)%UT
  t1 : A :: Γ ⊢ b : B
  H1 : (ε A :: εc Γ ⊢ ε b : ε B)%UT
  t2 : A :: Γ ⊢ B : !s2
  H2 : (ε A :: εc Γ ⊢ ε B : !s2)%UT
  ============================
   ((λ [ε A], ε b) · ε a)%UT ≡ ε (b [ ← a])

subgoal 2 (ID 1365) is:
 (Π (ε A), ε B)%UT ≡ (Π (ε A'), ε B')%UT
subgoal 3 (ID 1398) is:
 (λ [ε A], ε b)%UT ≡ (λ [ε A'], ε b')%UT
subgoal 4 (ID 1421) is:
 (ε F · ε a)%UT ≡ (ε F' · ε a')%UT
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using , ?1511 using ,)


apply Betac_Betas;apply Betas_Beta;rewrite erasure_subst;simpl;constructor.
3 subgoals, subgoal 1 (ID 1365)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : (εc Γ ⊢ ε A : !s1)%UT
  t0 : Γ ⊢ A' : !s1'
  H1 : (εc Γ ⊢ ε A' : !s1')%UT
  t1 : A :: Γ ⊢ B : !s2
  H2 : (ε A :: εc Γ ⊢ ε B : !s2)%UT
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : (ε A' :: εc Γ ⊢ ε B' : !s2')%UT
  t3 : Γ ⊢ H : A = A'
  H4 : ε A ≡ ε A'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : ε B ≡ ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  ============================
   (Π (ε A), ε B)%UT ≡ (Π (ε A'), ε B')%UT

subgoal 2 (ID 1398) is:
 (λ [ε A], ε b)%UT ≡ (λ [ε A'], ε b')%UT
subgoal 3 (ID 1421) is:
 (ε F · ε a)%UT ≡ (ε F' · ε a')%UT
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using , ?1511 using ,)


simpl;apply Betac_Pi;rewrite <- erasure_lem2 in H5;assumption.
2 subgoals, subgoal 1 (ID 1398)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : (εc Γ ⊢ ε A : !s1)%UT
  t0 : Γ ⊢ A' : !s1'
  H1 : (εc Γ ⊢ ε A' : !s1')%UT
  t1 : A :: Γ ⊢ b : B
  H2 : (ε A :: εc Γ ⊢ ε b : ε B)%UT
  t2 : A' :: Γ ⊢ b' : B'
  H3 : (ε A' :: εc Γ ⊢ ε b' : ε B')%UT
  t3 : A :: Γ ⊢ B : !s2
  H4 : (ε A :: εc Γ ⊢ ε B : !s2)%UT
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : (ε A' :: εc Γ ⊢ ε B' : !s2')%UT
  t5 : Γ ⊢ H : A = A'
  H6 : ε A ≡ ε A'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : ε b ≡ ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  ============================
   (λ [ε A], ε b)%UT ≡ (λ [ε A'], ε b')%UT

subgoal 2 (ID 1421) is:
 (ε F · ε a)%UT ≡ (ε F' · ε a')%UT
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using , ?1511 using ,)


simpl;apply Betac_La;rewrite <- erasure_lem2 in H7;assumption.
1 subgoals, subgoal 1 (ID 1421)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : (εc Γ ⊢ ε F : Π (ε A), ε B)%UT
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : (εc Γ ⊢ ε F' : Π (ε A'), ε B')%UT
  t1 : Γ ⊢ a : A
  H2 : (εc Γ ⊢ ε a : ε A)%UT
  t2 : Γ ⊢ a' : A'
  H3 : (εc Γ ⊢ ε a' : ε A')%UT
  t3 : Γ ⊢ H : F = F'
  H4 : ε F ≡ ε F'
  t4 : Γ ⊢ K : a = a'
  H5 : ε a ≡ ε a'
  ============================
   (ε F · ε a)%UT ≡ (ε F' · ε a')%UT

(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using , ?1511 using ,)


simpl;apply Betac_App;assumption.
No more subgoals.
(dependent evars: ?1444 using , ?1445 using , ?1453 using , ?1454 using , ?1455 using , ?1477 using , ?1478 using , ?1484 using , ?1511 using ,)


Qed.
PTSF2PTS is defined



Proposition erasure_injectivity_term : forall a b Γ A B,Γ a : A->Γ b : B->ε a=ε b->exists H, Γ H : a = b.
1 subgoals, subgoal 1 (ID 1547)
  
  ============================
   forall (a b : Term) (Γ : Env) (A B : Term),
   Γ ⊢ a : A -> Γ ⊢ b : B -> ε a = ε b -> exists H : Prf, Γ ⊢ H : a = b

(dependent evars:)


induction a;
[(induction b;simpl;intros;try discriminate;try (inversion H0;subst;edestruct IHb;eauto))..
|intros; apply gen_conv in H; destruct H as (A0&s&?&?&?);
destruct (IHa b Γ A0 B);trivial;exists (ι(ap)x);eauto].
5 subgoals, subgoal 1 (ID 1627)
  
  v : Vars
  v0 : Vars
  Γ : Env
  A : Term
  B : Term
  H : Γ ⊢ #v : A
  H0 : Γ ⊢ #v0 : B
  H1 : #v%UT = #v0%UT
  ============================
   exists H2 : Prf, Γ ⊢ H2 : #v = #v0

subgoal 2 (ID 2546) is:
 exists H2 : Prf, Γ ⊢ H2 : !s = !s0
subgoal 3 (ID 3466) is:
 exists H2 : Prf, Γ ⊢ H2 : Π (a1), a2 = Π (b1), b2
subgoal 4 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 5 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using ,)


injection H1;intros;subst; exists (ρ #v0);eauto.
4 subgoals, subgoal 1 (ID 2546)
  
  s : Sorts
  s0 : Sorts
  Γ : Env
  A : Term
  B : Term
  H : Γ ⊢ !s : A
  H0 : Γ ⊢ !s0 : B
  H1 : !s%UT = !s0%UT
  ============================
   exists H2 : Prf, Γ ⊢ H2 : !s = !s0

subgoal 2 (ID 3466) is:
 exists H2 : Prf, Γ ⊢ H2 : Π (a1), a2 = Π (b1), b2
subgoal 3 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 4 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using ,)


injection H1;intros;subst; exists (ρ !s0);eauto.
3 subgoals, subgoal 1 (ID 3466)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : Γ ⊢ Π (a1), a2 : A
  H0 : Γ ⊢ Π (b1), b2 : B
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  ============================
   exists H2 : Prf, Γ ⊢ H2 : Π (a1), a2 = Π (b1), b2

subgoal 2 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 3 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using ,)


injection H1;intros.
3 subgoals, subgoal 1 (ID 6471)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : Γ ⊢ Π (a1), a2 : A
  H0 : Γ ⊢ Π (b1), b2 : B
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H4 : Prf, Γ ⊢ H4 : Π (a1), a2 = Π (b1), b2

subgoal 2 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 3 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using ,)


apply gen_pi in H; apply gen_pi in H0.
3 subgoals, subgoal 1 (ID 6475)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : exists s1 s2 s3 : Sorts,
        A = !s3 /\ Rel s1 s2 s3 /\ (Γ ⊢ a1 : !s1) /\ a1 :: Γ ⊢ a2 : !s2
  H0 : exists s1 s2 s3 : Sorts,
         B = !s3 /\ Rel s1 s2 s3 /\ (Γ ⊢ b1 : !s1) /\ b1 :: Γ ⊢ b2 : !s2
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H4 : Prf, Γ ⊢ H4 : Π (a1), a2 = Π (b1), b2

subgoal 2 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 3 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using ,)


destruct H as (s&t&u&?&?&?&?);destruct H0 as (s'&t'&u'&?&?&?&?).
3 subgoals, subgoal 1 (ID 6537)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : A = !u
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  H0 : B = !u'
  H7 : Rel s' t' u'
  H8 : Γ ⊢ b1 : !s'
  H9 : b1 :: Γ ⊢ b2 : !t'
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H10 : Prf, Γ ⊢ H10 : Π (a1), a2 = Π (b1), b2

subgoal 2 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 3 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using ,)


destruct (IHa1 b1 Γ !s !s');try eassumption.
3 subgoals, subgoal 1 (ID 6553)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : A = !u
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  H0 : B = !u'
  H7 : Rel s' t' u'
  H8 : Γ ⊢ b1 : !s'
  H9 : b1 :: Γ ⊢ b2 : !t'
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H10 : Γ ⊢ x : a1 = b1
  ============================
   exists H11 : Prf, Γ ⊢ H11 : Π (a1), a2 = Π (b1), b2

subgoal 2 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 3 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using ,)


destruct (IHa2 ((b2 1 # 1) [ #0 x h 1]) (a1 :: Γ) !t !t').
6 subgoals, subgoal 1 (ID 6562)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : A = !u
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  H0 : B = !u'
  H7 : Rel s' t' u'
  H8 : Γ ⊢ b1 : !s'
  H9 : b1 :: Γ ⊢ b2 : !t'
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H10 : Γ ⊢ x : a1 = b1
  ============================
   a1 :: Γ ⊢ a2 : !t

subgoal 2 (ID 6564) is:
 a1 :: Γ ⊢ (b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1] : !t'
subgoal 3 (ID 6566) is:
 ε a2 = ε ((b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1])
subgoal 4 (ID 6570) is:
 exists H12 : Prf, Γ ⊢ H12 : Π (a1), a2 = Π (b1), b2
subgoal 5 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 6 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using ,)

eassumption.
5 subgoals, subgoal 1 (ID 6564)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : A = !u
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  H0 : B = !u'
  H7 : Rel s' t' u'
  H8 : Γ ⊢ b1 : !s'
  H9 : b1 :: Γ ⊢ b2 : !t'
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H10 : Γ ⊢ x : a1 = b1
  ============================
   a1 :: Γ ⊢ (b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1] : !t'

subgoal 2 (ID 6566) is:
 ε a2 = ε ((b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1])
subgoal 3 (ID 6570) is:
 exists H12 : Prf, Γ ⊢ H12 : Π (a1), a2 = Π (b1), b2
subgoal 4 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 5 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using ,)


change !t' with (!t' 1 # 1) [ #0 x h 1].
5 subgoals, subgoal 1 (ID 6572)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : A = !u
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  H0 : B = !u'
  H7 : Rel s' t' u'
  H8 : Γ ⊢ b1 : !s'
  H9 : b1 :: Γ ⊢ b2 : !t'
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H10 : Γ ⊢ x : a1 = b1
  ============================
   a1 :: Γ ⊢ (b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1] : (!t' ↑ 1 # 1) [ ← #0 ∽ x ↑h 1]

subgoal 2 (ID 6566) is:
 ε a2 = ε ((b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1])
subgoal 3 (ID 6570) is:
 exists H12 : Prf, Γ ⊢ H12 : Π (a1), a2 = Π (b1), b2
subgoal 4 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 5 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using ,)

eapply subst_typ;try eassumption;repeat econstructor;eassumption.
4 subgoals, subgoal 1 (ID 6566)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : A = !u
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  H0 : B = !u'
  H7 : Rel s' t' u'
  H8 : Γ ⊢ b1 : !s'
  H9 : b1 :: Γ ⊢ b2 : !t'
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H10 : Γ ⊢ x : a1 = b1
  ============================
   ε a2 = ε ((b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1])

subgoal 2 (ID 6570) is:
 exists H12 : Prf, Γ ⊢ H12 : Π (a1), a2 = Π (b1), b2
subgoal 3 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 4 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using ,)


rewrite <- erasure_lem2;assumption.
3 subgoals, subgoal 1 (ID 6570)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b1 : B ->
         ε (Π (a1), a2) = ε b1 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ Π (a1), a2 : A ->
         Γ ⊢ b2 : B ->
         ε (Π (a1), a2) = ε b2 -> exists H : Prf, Γ ⊢ H : Π (a1), a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : A = !u
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  H0 : B = !u'
  H7 : Rel s' t' u'
  H8 : Γ ⊢ b1 : !s'
  H9 : b1 :: Γ ⊢ b2 : !t'
  H1 : (Π (ε a1), ε a2)%UT = (Π (ε b1), ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H10 : Γ ⊢ x : a1 = b1
  x0 : Prf
  H11 : a1 :: Γ ⊢ x0 : a2 = (b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1]
  ============================
   exists H12 : Prf, Γ ⊢ H12 : Π (a1), a2 = Π (b1), b2

subgoal 2 (ID 4450) is:
 exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2
subgoal 3 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using ,)


econstructor; eapply cProdEq; [eexact H4|eexact H7|eassumption..].
2 subgoals, subgoal 1 (ID 4450)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : Γ ⊢ λ [a1], a2 : A
  H0 : Γ ⊢ λ [b1], b2 : B
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  ============================
   exists H2 : Prf, Γ ⊢ H2 : λ [a1], a2 = λ [b1], b2

subgoal 2 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using ,)


injection H1;intros.
2 subgoals, subgoal 1 (ID 6622)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : Γ ⊢ λ [a1], a2 : A
  H0 : Γ ⊢ λ [b1], b2 : B
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H4 : Prf, Γ ⊢ H4 : λ [a1], a2 = λ [b1], b2

subgoal 2 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using ,)


apply gen_la in H; apply gen_la in H0.
2 subgoals, subgoal 1 (ID 6626)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : exists (s1 s2 s3 : Sorts) (B : Term),
        A = Π (a1), B /\
        Rel s1 s2 s3 /\ (Γ ⊢ a1 : !s1) /\ a1 :: Γ ⊢ a2 : B : !s2
  H0 : exists (s1 s2 s3 : Sorts) (B0 : Term),
         B = Π (b1), B0 /\
         Rel s1 s2 s3 /\ (Γ ⊢ b1 : !s1) /\ b1 :: Γ ⊢ b2 : B0 : !s2
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H4 : Prf, Γ ⊢ H4 : λ [a1], a2 = λ [b1], b2

subgoal 2 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using ,)


destruct H as (s&t&u&B0&?&?&?&?&?);destruct H0 as (s'&t'&u'&B1&?&?&?&?&?).
2 subgoals, subgoal 1 (ID 6708)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  B0 : Term
  H : A = Π (a1), B0
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : B0
  H7 : a1 :: Γ ⊢ B0 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  B1 : Term
  H0 : B = Π (b1), B1
  H8 : Rel s' t' u'
  H9 : Γ ⊢ b1 : !s'
  H10 : b1 :: Γ ⊢ b2 : B1
  H11 : b1 :: Γ ⊢ B1 : !t'
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H12 : Prf, Γ ⊢ H12 : λ [a1], a2 = λ [b1], b2

subgoal 2 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using ,)


destruct (IHa1 b1 Γ !s !s');try eassumption.
2 subgoals, subgoal 1 (ID 6724)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  B0 : Term
  H : A = Π (a1), B0
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : B0
  H7 : a1 :: Γ ⊢ B0 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  B1 : Term
  H0 : B = Π (b1), B1
  H8 : Rel s' t' u'
  H9 : Γ ⊢ b1 : !s'
  H10 : b1 :: Γ ⊢ b2 : B1
  H11 : b1 :: Γ ⊢ B1 : !t'
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H12 : Γ ⊢ x : a1 = b1
  ============================
   exists H13 : Prf, Γ ⊢ H13 : λ [a1], a2 = λ [b1], b2

subgoal 2 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using ,)


destruct (IHa2 ((b2 1 # 1) [ #0 x h 1]) (a1 :: Γ) B0 (B1 1 # 1) [ #0 x h 1]).
5 subgoals, subgoal 1 (ID 6733)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  B0 : Term
  H : A = Π (a1), B0
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : B0
  H7 : a1 :: Γ ⊢ B0 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  B1 : Term
  H0 : B = Π (b1), B1
  H8 : Rel s' t' u'
  H9 : Γ ⊢ b1 : !s'
  H10 : b1 :: Γ ⊢ b2 : B1
  H11 : b1 :: Γ ⊢ B1 : !t'
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H12 : Γ ⊢ x : a1 = b1
  ============================
   a1 :: Γ ⊢ a2 : B0

subgoal 2 (ID 6735) is:
 a1 :: Γ ⊢ (b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1] : (B1 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1]
subgoal 3 (ID 6737) is:
 ε a2 = ε ((b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1])
subgoal 4 (ID 6741) is:
 exists H14 : Prf, Γ ⊢ H14 : λ [a1], a2 = λ [b1], b2
subgoal 5 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using ,)

eassumption.
4 subgoals, subgoal 1 (ID 6735)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  B0 : Term
  H : A = Π (a1), B0
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : B0
  H7 : a1 :: Γ ⊢ B0 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  B1 : Term
  H0 : B = Π (b1), B1
  H8 : Rel s' t' u'
  H9 : Γ ⊢ b1 : !s'
  H10 : b1 :: Γ ⊢ b2 : B1
  H11 : b1 :: Γ ⊢ B1 : !t'
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H12 : Γ ⊢ x : a1 = b1
  ============================
   a1 :: Γ ⊢ (b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1] : (B1 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1]

subgoal 2 (ID 6737) is:
 ε a2 = ε ((b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1])
subgoal 3 (ID 6741) is:
 exists H14 : Prf, Γ ⊢ H14 : λ [a1], a2 = λ [b1], b2
subgoal 4 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using ,)


eapply subst_typ;try eassumption;repeat econstructor;eassumption.
3 subgoals, subgoal 1 (ID 6737)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  B0 : Term
  H : A = Π (a1), B0
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : B0
  H7 : a1 :: Γ ⊢ B0 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  B1 : Term
  H0 : B = Π (b1), B1
  H8 : Rel s' t' u'
  H9 : Γ ⊢ b1 : !s'
  H10 : b1 :: Γ ⊢ b2 : B1
  H11 : b1 :: Γ ⊢ B1 : !t'
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H12 : Γ ⊢ x : a1 = b1
  ============================
   ε a2 = ε ((b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1])

subgoal 2 (ID 6741) is:
 exists H14 : Prf, Γ ⊢ H14 : λ [a1], a2 = λ [b1], b2
subgoal 3 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using ,)


rewrite <- erasure_lem2;assumption.
2 subgoals, subgoal 1 (ID 6741)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b1 : B ->
         ε (λ [a1], a2) = ε b1 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ λ [a1], a2 : A ->
         Γ ⊢ b2 : B ->
         ε (λ [a1], a2) = ε b2 -> exists H : Prf, Γ ⊢ H : λ [a1], a2 = b2
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  B0 : Term
  H : A = Π (a1), B0
  H4 : Rel s t u
  H5 : Γ ⊢ a1 : !s
  H6 : a1 :: Γ ⊢ a2 : B0
  H7 : a1 :: Γ ⊢ B0 : !t
  s' : Sorts
  t' : Sorts
  u' : Sorts
  B1 : Term
  H0 : B = Π (b1), B1
  H8 : Rel s' t' u'
  H9 : Γ ⊢ b1 : !s'
  H10 : b1 :: Γ ⊢ b2 : B1
  H11 : b1 :: Γ ⊢ B1 : !t'
  H1 : (λ [ε a1], ε a2)%UT = (λ [ε b1], ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H12 : Γ ⊢ x : a1 = b1
  x0 : Prf
  H13 : a1 :: Γ ⊢ x0 : a2 = (b2 ↑ 1 # 1) [ ← #0 ∽ x ↑h 1]
  ============================
   exists H14 : Prf, Γ ⊢ H14 : λ [a1], a2 = λ [b1], b2

subgoal 2 (ID 5448) is:
 exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using ,)


econstructor; eapply cAbsEq; [eexact H4|eexact H8|eassumption..].
1 subgoals, subgoal 1 (ID 5448)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b1 : B ->
         ε (a1 · a2) = ε b1 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b2 : B ->
         ε (a1 · a2) = ε b2 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : Γ ⊢ a1 · a2 : A
  H0 : Γ ⊢ b1 · b2 : B
  H1 : (ε a1 · ε a2)%UT = (ε b1 · ε b2)%UT
  ============================
   exists H2 : Prf, Γ ⊢ H2 : a1 · a2 = b1 · b2

(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using , ?6763 using ?6767 ?6766 ?6765 , ?6765 using , ?6766 using , ?6767 using , ?6768 using , ?6769 using , ?6770 using , ?6771 using , ?6772 using , ?6773 using , ?6774 using , ?6775 using ,)


injection H1;intros.
1 subgoals, subgoal 1 (ID 6795)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b1 : B ->
         ε (a1 · a2) = ε b1 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b2 : B ->
         ε (a1 · a2) = ε b2 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : Γ ⊢ a1 · a2 : A
  H0 : Γ ⊢ b1 · b2 : B
  H1 : (ε a1 · ε a2)%UT = (ε b1 · ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H4 : Prf, Γ ⊢ H4 : a1 · a2 = b1 · b2

(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using , ?6763 using ?6767 ?6766 ?6765 , ?6765 using , ?6766 using , ?6767 using , ?6768 using , ?6769 using , ?6770 using , ?6771 using , ?6772 using , ?6773 using , ?6774 using , ?6775 using ,)


apply gen_app in H; apply gen_app in H0.
1 subgoals, subgoal 1 (ID 6799)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b1 : B ->
         ε (a1 · a2) = ε b1 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b2 : B ->
         ε (a1 · a2) = ε b2 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b2
  Γ : Env
  A : Term
  B : Term
  H : exists A0 B : Term,
        A = B [ ← a2] /\ (Γ ⊢ a1 : Π (A0), B) /\ Γ ⊢ a2 : A0
  H0 : exists A B0 : Term,
         B = B0 [ ← b2] /\ (Γ ⊢ b1 : Π (A), B0) /\ Γ ⊢ b2 : A
  H1 : (ε a1 · ε a2)%UT = (ε b1 · ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H4 : Prf, Γ ⊢ H4 : a1 · a2 = b1 · b2

(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using , ?6763 using ?6767 ?6766 ?6765 , ?6765 using , ?6766 using , ?6767 using , ?6768 using , ?6769 using , ?6770 using , ?6771 using , ?6772 using , ?6773 using , ?6774 using , ?6775 using ,)


destruct H as (A0&B0&?&?&?);destruct H0 as (A1&B1&?&?&?).
1 subgoals, subgoal 1 (ID 6841)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b1 : B ->
         ε (a1 · a2) = ε b1 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b2 : B ->
         ε (a1 · a2) = ε b2 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b2
  Γ : Env
  A : Term
  B : Term
  A0 : Term
  B0 : Term
  H : A = B0 [ ← a2]
  H4 : Γ ⊢ a1 : Π (A0), B0
  H5 : Γ ⊢ a2 : A0
  A1 : Term
  B1 : Term
  H0 : B = B1 [ ← b2]
  H6 : Γ ⊢ b1 : Π (A1), B1
  H7 : Γ ⊢ b2 : A1
  H1 : (ε a1 · ε a2)%UT = (ε b1 · ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  ============================
   exists H8 : Prf, Γ ⊢ H8 : a1 · a2 = b1 · b2

(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using , ?6763 using ?6767 ?6766 ?6765 , ?6765 using , ?6766 using , ?6767 using , ?6768 using , ?6769 using , ?6770 using , ?6771 using , ?6772 using , ?6773 using , ?6774 using , ?6775 using ,)


destruct (IHa1 b1 Γ (Π (A0), B0) (Π (A1), B1));try eassumption.
1 subgoals, subgoal 1 (ID 6857)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b1 : B ->
         ε (a1 · a2) = ε b1 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b2 : B ->
         ε (a1 · a2) = ε b2 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b2
  Γ : Env
  A : Term
  B : Term
  A0 : Term
  B0 : Term
  H : A = B0 [ ← a2]
  H4 : Γ ⊢ a1 : Π (A0), B0
  H5 : Γ ⊢ a2 : A0
  A1 : Term
  B1 : Term
  H0 : B = B1 [ ← b2]
  H6 : Γ ⊢ b1 : Π (A1), B1
  H7 : Γ ⊢ b2 : A1
  H1 : (ε a1 · ε a2)%UT = (ε b1 · ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H8 : Γ ⊢ x : a1 = b1
  ============================
   exists H9 : Prf, Γ ⊢ H9 : a1 · a2 = b1 · b2

(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using , ?6763 using ?6767 ?6766 ?6765 , ?6765 using , ?6766 using , ?6767 using , ?6768 using , ?6769 using , ?6770 using , ?6771 using , ?6772 using , ?6773 using , ?6774 using , ?6775 using ,)


destruct (IHa2 b2 Γ A0 A1);trivial.
1 subgoals, subgoal 1 (ID 6873)
  
  a1 : Term
  a2 : Term
  IHa1 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a1 : A ->
         Γ ⊢ b : B -> ε a1 = ε b -> exists H : Prf, Γ ⊢ H : a1 = b
  IHa2 : forall (b : Term) (Γ : Env) (A B : Term),
         Γ ⊢ a2 : A ->
         Γ ⊢ b : B -> ε a2 = ε b -> exists H : Prf, Γ ⊢ H : a2 = b
  b1 : Term
  b2 : Term
  IHb1 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b1 : B ->
         ε (a1 · a2) = ε b1 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b1
  IHb2 : forall (Γ : Env) (A B : Term),
         Γ ⊢ a1 · a2 : A ->
         Γ ⊢ b2 : B ->
         ε (a1 · a2) = ε b2 -> exists H : Prf, Γ ⊢ H : a1 · a2 = b2
  Γ : Env
  A : Term
  B : Term
  A0 : Term
  B0 : Term
  H : A = B0 [ ← a2]
  H4 : Γ ⊢ a1 : Π (A0), B0
  H5 : Γ ⊢ a2 : A0
  A1 : Term
  B1 : Term
  H0 : B = B1 [ ← b2]
  H6 : Γ ⊢ b1 : Π (A1), B1
  H7 : Γ ⊢ b2 : A1
  H1 : (ε a1 · ε a2)%UT = (ε b1 · ε b2)%UT
  H2 : ε a2 = ε b2
  H3 : ε a1 = ε b1
  x : Prf
  H8 : Γ ⊢ x : a1 = b1
  x0 : Prf
  H9 : Γ ⊢ x0 : a2 = b2
  ============================
   exists H10 : Prf, Γ ⊢ H10 : a1 · a2 = b1 · b2

(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using , ?6763 using ?6767 ?6766 ?6765 , ?6765 using , ?6766 using , ?6767 using , ?6768 using , ?6769 using , ?6770 using , ?6771 using , ?6772 using , ?6773 using , ?6774 using , ?6775 using ,)


econstructor; eapply cAppEq;eassumption.
No more subgoals.
(dependent evars: ?2062 using , ?2063 using , ?2064 using , ?2082 using ?2089 ?2088 , ?2088 using , ?2089 using , ?2090 using , ?2299 using , ?2300 using , ?2301 using , ?2975 using , ?2976 using , ?2977 using , ?2996 using ?3003 ?3002 , ?3002 using , ?3003 using , ?3004 using , ?3213 using , ?3214 using , ?3215 using , ?3901 using , ?3902 using , ?3903 using , ?3926 using ?3933 ?3932 , ?3932 using , ?3933 using , ?3934 using , ?4191 using , ?4192 using , ?4193 using , ?4881 using , ?4882 using , ?4883 using , ?4910 using ?4917 ?4916 , ?4916 using , ?4917 using , ?4918 using , ?5183 using , ?5184 using , ?5185 using , ?5869 using , ?5870 using , ?5871 using , ?5896 using ?5903 ?5902 , ?5902 using , ?5903 using , ?5904 using , ?6149 using , ?6150 using , ?6151 using , ?6393 using , ?6397 using , ?6398 using , ?6399 using , ?6440 using , ?6457 using , ?6573 using , ?6574 using , ?6575 using , ?6576 using , ?6577 using ?6588 ?6587 , ?6578 using , ?6586 using , ?6587 using , ?6588 using , ?6594 using ?6598 ?6597 ?6596 , ?6596 using , ?6597 using , ?6598 using , ?6599 using , ?6600 using , ?6601 using , ?6602 using , ?6603 using , ?6604 using , ?6742 using , ?6743 using , ?6744 using , ?6745 using , ?6746 using ?6757 ?6756 , ?6747 using , ?6755 using , ?6756 using , ?6757 using , ?6763 using ?6767 ?6766 ?6765 , ?6765 using , ?6766 using , ?6767 using , ?6768 using , ?6769 using , ?6770 using , ?6771 using , ?6772 using , ?6773 using , ?6774 using , ?6775 using , ?6875 using ?6878 ?6877 , ?6877 using , ?6878 using , ?6879 using , ?6880 using , ?6881 using , ?6882 using ,)


Qed.
erasure_injectivity_term is defined



Lemma erasure_injectivity_term_sort : forall A Γ B s,Γ A : B->ε A=!s%UT->Γ A = !s.
1 subgoals, subgoal 1 (ID 6903)
  
  ============================
   forall (A : Term) (Γ : Env) (B : Term) (s : Sorts),
   Γ ⊢ A : B -> ε A = !s%UT -> Γ ⊢ A = !s

(dependent evars:)


induction A;simpl;intros;try discriminate.
2 subgoals, subgoal 1 (ID 6953)
  
  s : Sorts
  Γ : Env
  B : Term
  s0 : Sorts
  H : Γ ⊢ !s : B
  H0 : !s%UT = !s0%UT
  ============================
   Γ ⊢ !s = !s0

subgoal 2 (ID 6973) is:
 Γ ⊢ A ∽ p = !s
(dependent evars:)


injection H0;intros;subst;econstructor;eapply cRefl;eassumption.
1 subgoals, subgoal 1 (ID 6973)
  
  A : Term
  p : Prf
  IHA : forall (Γ : Env) (B : Term) (s : Sorts),
        Γ ⊢ A : B -> ε A = !s%UT -> Γ ⊢ A = !s
  Γ : Env
  B : Term
  s : Sorts
  H : Γ ⊢ A ∽ p : B
  H0 : ε A = !s%UT
  ============================
   Γ ⊢ A ∽ p = !s

(dependent evars: ?7012 using , ?7014 using ,)


inversion H;intros;subst.
1 subgoals, subgoal 1 (ID 7212)
  
  A : Term
  p : Prf
  IHA : forall (Γ : Env) (B : Term) (s : Sorts),
        Γ ⊢ A : B -> ε A = !s%UT -> Γ ⊢ A = !s
  Γ : Env
  B : Term
  s : Sorts
  H : Γ ⊢ A ∽ p : B
  H0 : ε A = !s%UT
  A0 : Term
  s0 : Sorts
  H4 : Γ ⊢ A : A0
  H6 : Γ ⊢ B : !s0
  H8 : Γ ⊢ p : A0 = B
  ============================
   Γ ⊢ A ∽ p = !s

(dependent evars: ?7012 using , ?7014 using ,)


edestruct IHA;try eassumption;econstructor;eapply cTrans with (B:=A);apply cSym.
2 subgoals, subgoal 1 (ID 7237)
  
  A : Term
  p : Prf
  IHA : forall (Γ : Env) (B : Term) (s : Sorts),
        Γ ⊢ A : B -> ε A = !s%UT -> Γ ⊢ A = !s
  Γ : Env
  B : Term
  s : Sorts
  H : Γ ⊢ A ∽ p : B
  H0 : ε A = !s%UT
  A0 : Term
  s0 : Sorts
  H4 : Γ ⊢ A : A0
  H6 : Γ ⊢ B : !s0
  H8 : Γ ⊢ p : A0 = B
  x : Prf
  H1 : Γ ⊢ x : A = !s
  ============================
   Γ ⊢ ?7236 : A = A ∽ p

subgoal 2 (ID 7239) is:
 Γ ⊢ ?7238 : !s = A
(dependent evars: ?7012 using , ?7014 using , ?7215 using , ?7216 using , ?7217 using , ?7230 using ?7233 ?7232 , ?7232 using ?7236 , ?7233 using ?7238 , ?7236 open, ?7238 open,)


eapply cIota;eassumption.
1 subgoals, subgoal 1 (ID 7239)
  
  A : Term
  p : Prf
  IHA : forall (Γ : Env) (B : Term) (s : Sorts),
        Γ ⊢ A : B -> ε A = !s%UT -> Γ ⊢ A = !s
  Γ : Env
  B : Term
  s : Sorts
  H : Γ ⊢ A ∽ p : B
  H0 : ε A = !s%UT
  A0 : Term
  s0 : Sorts
  H4 : Γ ⊢ A : A0
  H6 : Γ ⊢ B : !s0
  H8 : Γ ⊢ p : A0 = B
  x : Prf
  H1 : Γ ⊢ x : A = !s
  ============================
   Γ ⊢ ?7238 : !s = A

(dependent evars: ?7012 using , ?7014 using , ?7215 using , ?7216 using , ?7217 using , ?7230 using ?7233 ?7232 , ?7232 using ?7236 , ?7233 using ?7238 , ?7236 using , ?7238 open, ?7240 using , ?7241 using , ?7242 using ,)

apply cSym;eassumption.
No more subgoals.
(dependent evars: ?7012 using , ?7014 using , ?7215 using , ?7216 using , ?7217 using , ?7230 using ?7233 ?7232 , ?7232 using ?7236 , ?7233 using ?7238 , ?7236 using , ?7238 using ?7246 , ?7240 using , ?7241 using , ?7242 using , ?7246 using ,)


Qed.
erasure_injectivity_term_sort is defined



Lemma erasure_injectivity_term_type : forall A' A Γ a,Γ a : A'->forall B,Γ A : B->ε A=ε A'->Γ A = A'.
1 subgoals, subgoal 1 (ID 7261)
  
  ============================
   forall (A' A : Term) (Γ : Env) (a : Term),
   Γ ⊢ a : A' -> forall B : Term, Γ ⊢ A : B -> ε A = ε A' -> Γ ⊢ A = A'

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 7269)
  
  A' : Term
  A : Term
  Γ : Env
  a : Term
  H : Γ ⊢ a : A'
  B : Term
  H0 : Γ ⊢ A : B
  H1 : ε A = ε A'
  ============================
   Γ ⊢ A = A'

(dependent evars:)

apply TypeCorrect in H; destruct H as [(?&?)|(?&?)].
2 subgoals, subgoal 1 (ID 7282)
  
  A' : Term
  A : Term
  Γ : Env
  a : Term
  x : Sorts
  H : A' = !x
  B : Term
  H0 : Γ ⊢ A : B
  H1 : ε A = ε A'
  ============================
   Γ ⊢ A = A'

subgoal 2 (ID 7289) is:
 Γ ⊢ A = A'
(dependent evars:)


subst; eapply erasure_injectivity_term_sort;eassumption.
1 subgoals, subgoal 1 (ID 7289)
  
  A' : Term
  A : Term
  Γ : Env
  a : Term
  x : Sorts
  H : Γ ⊢ A' : !x
  B : Term
  H0 : Γ ⊢ A : B
  H1 : ε A = ε A'
  ============================
   Γ ⊢ A = A'

(dependent evars: ?7295 using ,)


intros;eapply erasure_injectivity_term;eassumption.
No more subgoals.
(dependent evars: ?7295 using , ?7298 using , ?7299 using ,)


Qed.
erasure_injectivity_term_type is defined



Lemma erasure_injectivity_type : forall A1 A2 Γ B1 B2,Γ B1 : A1->Γ B2 : A2->ε A1=ε A2
                                 ->((A1=A2/\exists s,A1=!s)\/Γ A1 = A2).
1 subgoals, subgoal 1 (ID 7321)
  
  ============================
   forall (A1 A2 : Term) (Γ : Env) (B1 B2 : Term),
   Γ ⊢ B1 : A1 ->
   Γ ⊢ B2 : A2 ->
   ε A1 = ε A2 -> A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2

(dependent evars:)


intros;destruct (TypeCorrect Γ B1 A1 H) as [(?&?)|(?&?)].
2 subgoals, subgoal 1 (ID 7342)
  
  A1 : Term
  A2 : Term
  Γ : Env
  B1 : Term
  B2 : Term
  H : Γ ⊢ B1 : A1
  H0 : Γ ⊢ B2 : A2
  H1 : ε A1 = ε A2
  x : Sorts
  H2 : A1 = !x
  ============================
   A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2

subgoal 2 (ID 7347) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
(dependent evars:)


apply TypeCorrect in H0 as [(?&?)|(?&?)].
3 subgoals, subgoal 1 (ID 7358)
  
  A1 : Term
  A2 : Term
  Γ : Env
  B1 : Term
  B2 : Term
  H : Γ ⊢ B1 : A1
  H1 : ε A1 = ε A2
  x : Sorts
  H2 : A1 = !x
  x0 : Sorts
  H0 : A2 = !x0
  ============================
   A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2

subgoal 2 (ID 7363) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
subgoal 3 (ID 7347) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
(dependent evars:)


left;subst;simpl in H1;subst.
3 subgoals, subgoal 1 (ID 7377)
  
  Γ : Env
  B1 : Term
  B2 : Term
  x : Sorts
  x0 : Sorts
  H : Γ ⊢ B1 : !x
  H1 : !x%UT = !x0%UT
  ============================
   !x = !x0 /\ (exists s : Sorts, !x = !s)

subgoal 2 (ID 7363) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
subgoal 3 (ID 7347) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
(dependent evars:)

injection H1;intros;subst.
3 subgoals, subgoal 1 (ID 7388)
  
  Γ : Env
  B1 : Term
  B2 : Term
  x0 : Sorts
  H : Γ ⊢ B1 : !x0
  H1 : !x0%UT = !x0%UT
  ============================
   !x0 = !x0 /\ (exists s : Sorts, !x0 = !s)

subgoal 2 (ID 7363) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
subgoal 3 (ID 7347) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
(dependent evars:)

eauto.
2 subgoals, subgoal 1 (ID 7363)
  
  A1 : Term
  A2 : Term
  Γ : Env
  B1 : Term
  B2 : Term
  H : Γ ⊢ B1 : A1
  H1 : ε A1 = ε A2
  x : Sorts
  H2 : A1 = !x
  x0 : Sorts
  H0 : Γ ⊢ A2 : !x0
  ============================
   A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2

subgoal 2 (ID 7347) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
(dependent evars: ?7392 using ,)


edestruct erasure_injectivity_term_type;[exact H|exact H0|symmetry;assumption|].
2 subgoals, subgoal 1 (ID 7415)
  
  A1 : Term
  A2 : Term
  Γ : Env
  B1 : Term
  B2 : Term
  H : Γ ⊢ B1 : A1
  H1 : ε A1 = ε A2
  x : Sorts
  H2 : A1 = !x
  x0 : Sorts
  H0 : Γ ⊢ A2 : !x0
  x1 : Prf
  H3 : Γ ⊢ x1 : A2 = A1
  ============================
   A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2

subgoal 2 (ID 7347) is:
 A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2
(dependent evars: ?7392 using , ?7397 using , ?7398 using , ?7399 using , ?7400 using , ?7401 using ,)


right;econstructor;apply cSym;eassumption.
1 subgoals, subgoal 1 (ID 7347)
  
  A1 : Term
  A2 : Term
  Γ : Env
  B1 : Term
  B2 : Term
  H : Γ ⊢ B1 : A1
  H0 : Γ ⊢ B2 : A2
  H1 : ε A1 = ε A2
  x : Sorts
  H2 : Γ ⊢ A1 : !x
  ============================
   A1 = A2 /\ (exists s : Sorts, A1 = !s) \/ Γ ⊢ A1 = A2

(dependent evars: ?7392 using , ?7397 using , ?7398 using , ?7399 using , ?7400 using , ?7401 using , ?7421 using ?7423 , ?7423 using ,)


right;eapply erasure_injectivity_term_type;eassumption.
No more subgoals.
(dependent evars: ?7392 using , ?7397 using , ?7398 using , ?7399 using , ?7400 using , ?7401 using , ?7421 using ?7423 , ?7423 using , ?7427 using , ?7428 using ,)


Qed.
erasure_injectivity_type is defined



Lemma erasure_term : forall A1 A2 Γ a1,Γ a1 : A1->ε A1=ε A2->semitype A2 Γ->exists a2,ε a2=ε a1/\Γ a2 : A2.
1 subgoals, subgoal 1 (ID 7448)
  
  ============================
   forall (A1 A2 : Term) (Γ : Env) (a1 : Term),
   Γ ⊢ a1 : A1 ->
   ε A1 = ε A2 ->
   semitype A2 Γ -> exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2

(dependent evars:)


destruct 3 as [(?&?)|(?&?)].
2 subgoals, subgoal 1 (ID 7464)
  
  A1 : Term
  A2 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  H0 : ε A1 = ε A2
  x : Sorts
  H1 : A2 = !x
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2

subgoal 2 (ID 7469) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
(dependent evars:)


destruct (TypeCorrect _ _ _ H) as [(?&?)|(?&?)].
3 subgoals, subgoal 1 (ID 7485)
  
  A1 : Term
  A2 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  H0 : ε A1 = ε A2
  x : Sorts
  H1 : A2 = !x
  x0 : Sorts
  H2 : A1 = !x0
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2

subgoal 2 (ID 7490) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
subgoal 3 (ID 7469) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
(dependent evars:)


subst;simpl in H0;injection H0;intros;subst.
3 subgoals, subgoal 1 (ID 7513)
  
  Γ : Env
  a1 : Term
  x : Sorts
  H : Γ ⊢ a1 : !x
  H0 : !x%UT = !x%UT
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : !x

subgoal 2 (ID 7490) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
subgoal 3 (ID 7469) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
(dependent evars:)

exists a1;eauto.
2 subgoals, subgoal 1 (ID 7490)
  
  A1 : Term
  A2 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  H0 : ε A1 = ε A2
  x : Sorts
  H1 : A2 = !x
  x0 : Sorts
  H2 : Γ ⊢ A1 : !x0
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2

subgoal 2 (ID 7469) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
(dependent evars:)


subst;simpl in H0.
2 subgoals, subgoal 1 (ID 7524)
  
  A1 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  x : Sorts
  x0 : Sorts
  H2 : Γ ⊢ A1 : !x0
  H0 : ε A1 = !x%UT
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : !x

subgoal 2 (ID 7469) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
(dependent evars:)


destruct (erasure_injectivity_term_sort _ _ _ x H2); try assumption.
2 subgoals, subgoal 1 (ID 7537)
  
  A1 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  x : Sorts
  x0 : Sorts
  H2 : Γ ⊢ A1 : !x0
  H0 : ε A1 = !x%UT
  x1 : Prf
  H1 : Γ ⊢ x1 : A1 = !x
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : !x

subgoal 2 (ID 7469) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
(dependent evars:)


edestruct equality_typing as (?&?&?); try exact H1.
2 subgoals, subgoal 1 (ID 7555)
  
  A1 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  x : Sorts
  x0 : Sorts
  H2 : Γ ⊢ A1 : !x0
  H0 : ε A1 = !x%UT
  x1 : Prf
  H1 : Γ ⊢ x1 : A1 = !x
  H3 : has_type A1 Γ
  x2 : Term
  H4 : Γ ⊢ !x : x2
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : !x

subgoal 2 (ID 7469) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
(dependent evars: ?7540 using , ?7541 using , ?7542 using , ?7543 using ,)


destruct (gen_sort _ _ _ H4) as (?&?&?);subst.
2 subgoals, subgoal 1 (ID 7574)
  
  A1 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  x : Sorts
  x0 : Sorts
  H2 : Γ ⊢ A1 : !x0
  H0 : ε A1 = !x%UT
  x1 : Prf
  H1 : Γ ⊢ x1 : A1 = !x
  H3 : has_type A1 Γ
  x3 : Sorts
  H6 : Ax x x3
  H4 : Γ ⊢ !x : !x3
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : !x

subgoal 2 (ID 7469) is:
 exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2
(dependent evars: ?7540 using , ?7541 using , ?7542 using , ?7543 using ,)


exists (a1 x1);eauto.
1 subgoals, subgoal 1 (ID 7469)
  
  A1 : Term
  A2 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  H0 : ε A1 = ε A2
  x : Sorts
  H1 : Γ ⊢ A2 : !x
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2

(dependent evars: ?7540 using , ?7541 using , ?7542 using , ?7543 using , ?7580 using , ?7581 using ,)


destruct (erasure_injectivity_term_type _ _ _ _ H _ H1);try (symmetry;assumption).
1 subgoals, subgoal 1 (ID 7601)
  
  A1 : Term
  A2 : Term
  Γ : Env
  a1 : Term
  H : Γ ⊢ a1 : A1
  H0 : ε A1 = ε A2
  x : Sorts
  H1 : Γ ⊢ A2 : !x
  x0 : Prf
  H2 : Γ ⊢ x0 : A2 = A1
  ============================
   exists a2 : Term, ε a2 = ε a1 /\ Γ ⊢ a2 : A2

(dependent evars: ?7540 using , ?7541 using , ?7542 using , ?7543 using , ?7580 using , ?7581 using ,)


exists (a1 x0);eauto.
No more subgoals.
(dependent evars: ?7540 using , ?7541 using , ?7542 using , ?7543 using , ?7580 using , ?7581 using , ?7610 using , ?7611 using ,)


Qed.
erasure_term is defined



Lemma erasure_term_type : forall Γ a1 A1 A2 B s,Γ a1 : A1->Γ A2 : B->ε A1=ε A2->ε B=!s%UT
                            ->exists A a,ε A=ε A1/\ε a=ε a1/\Γ a : A : !s.
1 subgoals, subgoal 1 (ID 7636)
  
  ============================
   forall (Γ : Env) (a1 A1 A2 B : Term) (s : Sorts),
   Γ ⊢ a1 : A1 ->
   Γ ⊢ A2 : B ->
   ε A1 = ε A2 ->
   ε B = !s%UT ->
   exists A a : Term, ε A = ε A1 /\ ε a = ε a1 /\ Γ ⊢ a : A : !s

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 7646)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = !s%UT
  ============================
   exists A a : Term, ε A = ε A1 /\ ε a = ε a1 /\ Γ ⊢ a : A : !s

(dependent evars:)

change !s%UT with (ε!s) in H2.
1 subgoals, subgoal 1 (ID 7648)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  ============================
   exists A a : Term, ε A = ε A1 /\ ε a = ε a1 /\ Γ ⊢ a : A : !s

(dependent evars:)

edestruct erasure_term as (A&?&?);[exact H0|exact H2|left;exists s;trivial|].
1 subgoals, subgoal 1 (ID 7672)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  A : Term
  H3 : ε A = ε A2
  H4 : Γ ⊢ A : !s
  ============================
   exists A0 a : Term, ε A0 = ε A1 /\ ε a = ε a1 /\ Γ ⊢ a : A0 : !s

(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using ,)


 edestruct erasure_term as (a&?&?).
4 subgoals, subgoal 1 (ID 7688)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  A : Term
  H3 : ε A = ε A2
  H4 : Γ ⊢ A : !s
  ============================
   ?7681 ⊢ ?7682 : ?7679

subgoal 2 (ID 7690) is:
 ε ?7679 = ε ?7680
subgoal 3 (ID 7692) is:
 semitype ?7680 ?7681
subgoal 4 (ID 7700) is:
 exists A0 a0 : Term, ε A0 = ε A1 /\ ε a0 = ε a1 /\ Γ ⊢ a0 : A0 : !s
(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using , ?7679 open, ?7680 open, ?7681 open, ?7682 open,)

exact H.
3 subgoals, subgoal 1 (ID 7690)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  A : Term
  H3 : ε A = ε A2
  H4 : Γ ⊢ A : !s
  ============================
   ε A1 = ε ?7680

subgoal 2 (ID 7692) is:
 semitype ?7680 Γ
subgoal 3 (ID 7700) is:
 exists A0 a0 : Term, ε A0 = ε A1 /\ ε a0 = ε a1 /\ Γ ⊢ a0 : A0 : !s
(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using , ?7679 using , ?7680 open, ?7681 using , ?7682 using ,)

transitivity (ε A2).
4 subgoals, subgoal 1 (ID 7702)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  A : Term
  H3 : ε A = ε A2
  H4 : Γ ⊢ A : !s
  ============================
   ε A1 = ε A2

subgoal 2 (ID 7703) is:
 ε A2 = ε ?7680
subgoal 3 (ID 7692) is:
 semitype ?7680 Γ
subgoal 4 (ID 7700) is:
 exists A0 a0 : Term, ε A0 = ε A1 /\ ε a0 = ε a1 /\ Γ ⊢ a0 : A0 : !s
(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using , ?7679 using , ?7680 open, ?7681 using , ?7682 using ,)

exact H1.
3 subgoals, subgoal 1 (ID 7703)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  A : Term
  H3 : ε A = ε A2
  H4 : Γ ⊢ A : !s
  ============================
   ε A2 = ε ?7680

subgoal 2 (ID 7692) is:
 semitype ?7680 Γ
subgoal 3 (ID 7700) is:
 exists A0 a0 : Term, ε A0 = ε A1 /\ ε a0 = ε a1 /\ Γ ⊢ a0 : A0 : !s
(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using , ?7679 using , ?7680 open, ?7681 using , ?7682 using ,)

symmetry;exact H3.
2 subgoals, subgoal 1 (ID 7692)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  A : Term
  H3 : ε A = ε A2
  H4 : Γ ⊢ A : !s
  ============================
   semitype A Γ

subgoal 2 (ID 7700) is:
 exists A0 a0 : Term, ε A0 = ε A1 /\ ε a0 = ε a1 /\ Γ ⊢ a0 : A0 : !s
(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using , ?7679 using , ?7680 using , ?7681 using , ?7682 using ,)


right;exists s;trivial.
1 subgoals, subgoal 1 (ID 7700)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  A : Term
  H3 : ε A = ε A2
  H4 : Γ ⊢ A : !s
  a : Term
  H5 : ε a = ε a1
  H6 : Γ ⊢ a : A
  ============================
   exists A0 a0 : Term, ε A0 = ε A1 /\ ε a0 = ε a1 /\ Γ ⊢ a0 : A0 : !s

(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using , ?7679 using , ?7680 using , ?7681 using , ?7682 using ,)


exists A;exists a;intuition.
1 subgoals, subgoal 1 (ID 7715)
  
  Γ : Env
  a1 : Term
  A1 : Term
  A2 : Term
  B : Term
  s : Sorts
  H : Γ ⊢ a1 : A1
  H0 : Γ ⊢ A2 : B
  H1 : ε A1 = ε A2
  H2 : ε B = ε !s
  A : Term
  H3 : ε A = ε A2
  H4 : Γ ⊢ A : !s
  a : Term
  H5 : ε a = ε a1
  H6 : Γ ⊢ a : A
  ============================
   ε A = ε A1

(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using , ?7679 using , ?7680 using , ?7681 using , ?7682 using ,)

transitivity (ε A2);intuition.
No more subgoals.
(dependent evars: ?7651 using , ?7652 using , ?7653 using , ?7654 using , ?7679 using , ?7680 using , ?7681 using , ?7682 using ,)


Qed.
erasure_term_type is defined



Lemma erasure_equality : forall Γ a1 a2 A B H,Γ H : a1 = a2->Γ a1 : A->Γ a2 : A->ε A=ε B->semitype B Γ
                           ->exists b1 b2,ε b1=ε a1/\ε b2=ε a2/\Γ b1 : B/\Γ b2 : B/\Γ b1 = b2.
1 subgoals, subgoal 1 (ID 7789)
  
  ============================
   forall (Γ : Env) (a1 a2 A B : Term) (H : Prf),
   Γ ⊢ H : a1 = a2 ->
   Γ ⊢ a1 : A ->
   Γ ⊢ a2 : A ->
   ε A = ε B ->
   semitype B Γ ->
   exists b1 b2 : Term,
     ε b1 = ε a1 /\
     ε b2 = ε a2 /\ (Γ ⊢ b1 : B) /\ (Γ ⊢ b2 : B) /\ Γ ⊢ b1 = b2

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 7800)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  ============================
   exists b1 b2 : Term,
     ε b1 = ε a1 /\
     ε b2 = ε a2 /\ (Γ ⊢ b1 : B) /\ (Γ ⊢ b2 : B) /\ Γ ⊢ b1 = b2

(dependent evars:)

edestruct erasure_term as (b1&?&?);[exact H1|exact H3|assumption| ].
1 subgoals, subgoal 1 (ID 7824)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H5 : ε b1 = ε a1
  H6 : Γ ⊢ b1 : B
  ============================
   exists b0 b2 : Term,
     ε b0 = ε a1 /\
     ε b2 = ε a2 /\ (Γ ⊢ b0 : B) /\ (Γ ⊢ b2 : B) /\ Γ ⊢ b0 = b2

(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using ,)


edestruct erasure_term as (b2&?&?);[exact H2|exact H3|assumption| ].
1 subgoals, subgoal 1 (ID 7848)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H5 : ε b1 = ε a1
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H7 : ε b2 = ε a2
  H8 : Γ ⊢ b2 : B
  ============================
   exists b0 b3 : Term,
     ε b0 = ε a1 /\
     ε b3 = ε a2 /\ (Γ ⊢ b0 : B) /\ (Γ ⊢ b3 : B) /\ Γ ⊢ b0 = b3

(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using ,)


exists b1;exists b2;intuition.
1 subgoals, subgoal 1 (ID 7864)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H5 : ε b1 = ε a1
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H7 : ε b2 = ε a2
  H8 : Γ ⊢ b2 : B
  ============================
   Γ ⊢ b1 = b2

(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using ,)


eapply erasure_injectivity_term in H5;eauto.
1 subgoals, subgoal 1 (ID 7889)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H7 : ε b2 = ε a2
  H8 : Γ ⊢ b2 : B
  H5 : exists H : Prf, Γ ⊢ H : b1 = a1
  ============================
   Γ ⊢ b1 = b2

(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using , ?7885 using , ?7886 using , ?7887 using ,)

eapply erasure_injectivity_term in H7;eauto.
1 subgoals, subgoal 1 (ID 7896)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H8 : Γ ⊢ b2 : B
  H5 : exists H : Prf, Γ ⊢ H : b1 = a1
  H7 : exists H : Prf, Γ ⊢ H : b2 = a2
  ============================
   Γ ⊢ b1 = b2

(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using , ?7885 using , ?7886 using , ?7887 using , ?7892 using , ?7893 using , ?7894 using ,)


destruct H5;destruct H7.
1 subgoals, subgoal 1 (ID 7908)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H8 : Γ ⊢ b2 : B
  x : Prf
  H5 : Γ ⊢ x : b1 = a1
  x0 : Prf
  H7 : Γ ⊢ x0 : b2 = a2
  ============================
   Γ ⊢ b1 = b2

(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using , ?7885 using , ?7886 using , ?7887 using , ?7892 using , ?7893 using , ?7894 using ,)


econstructor;eapply cTrans.
2 subgoals, subgoal 1 (ID 7915)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H8 : Γ ⊢ b2 : B
  x : Prf
  H5 : Γ ⊢ x : b1 = a1
  x0 : Prf
  H7 : Γ ⊢ x0 : b2 = a2
  ============================
   Γ ⊢ ?7912 : b1 = ?7914

subgoal 2 (ID 7916) is:
 Γ ⊢ ?7913 : ?7914 = b2
(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using , ?7885 using , ?7886 using , ?7887 using , ?7892 using , ?7893 using , ?7894 using , ?7910 using ?7913 ?7912 , ?7912 open, ?7913 open, ?7914 open,)

exact H5.
1 subgoals, subgoal 1 (ID 7916)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H8 : Γ ⊢ b2 : B
  x : Prf
  H5 : Γ ⊢ x : b1 = a1
  x0 : Prf
  H7 : Γ ⊢ x0 : b2 = a2
  ============================
   Γ ⊢ ?7913 : a1 = b2

(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using , ?7885 using , ?7886 using , ?7887 using , ?7892 using , ?7893 using , ?7894 using , ?7910 using ?7913 ?7912 , ?7912 using , ?7913 open, ?7914 using ,)


eapply cTrans.
2 subgoals, subgoal 1 (ID 7920)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H8 : Γ ⊢ b2 : B
  x : Prf
  H5 : Γ ⊢ x : b1 = a1
  x0 : Prf
  H7 : Γ ⊢ x0 : b2 = a2
  ============================
   Γ ⊢ ?7917 : a1 = ?7919

subgoal 2 (ID 7921) is:
 Γ ⊢ ?7918 : ?7919 = b2
(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using , ?7885 using , ?7886 using , ?7887 using , ?7892 using , ?7893 using , ?7894 using , ?7910 using ?7913 ?7912 , ?7912 using , ?7913 using ?7918 ?7917 , ?7914 using , ?7917 open, ?7918 open, ?7919 open,)

exact H0.
1 subgoals, subgoal 1 (ID 7921)
  
  Γ : Env
  a1 : Term
  a2 : Term
  A : Term
  B : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ a1 : A
  H2 : Γ ⊢ a2 : A
  H3 : ε A = ε B
  H4 : semitype B Γ
  b1 : Term
  H6 : Γ ⊢ b1 : B
  b2 : Term
  H8 : Γ ⊢ b2 : B
  x : Prf
  H5 : Γ ⊢ x : b1 = a1
  x0 : Prf
  H7 : Γ ⊢ x0 : b2 = a2
  ============================
   Γ ⊢ ?7918 : a2 = b2

(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using , ?7885 using , ?7886 using , ?7887 using , ?7892 using , ?7893 using , ?7894 using , ?7910 using ?7913 ?7912 , ?7912 using , ?7913 using ?7918 ?7917 , ?7914 using , ?7917 using , ?7918 open, ?7919 using ,)

eapply cSym;exact H7.
No more subgoals.
(dependent evars: ?7803 using , ?7804 using , ?7805 using , ?7806 using , ?7827 using , ?7828 using , ?7829 using , ?7830 using , ?7885 using , ?7886 using , ?7887 using , ?7892 using , ?7893 using , ?7894 using , ?7910 using ?7913 ?7912 , ?7912 using , ?7913 using ?7918 ?7917 , ?7914 using , ?7917 using , ?7918 using ?7922 , ?7919 using , ?7922 using ,)


Qed.
erasure_equality is defined



Lemma erasure_equality2 : forall Γ a1 a2 b1 b2 B1 B2 H,Γ H : a1 = a2->Γ b1 : B1->Γ b2 : B2->ε a1=ε b1->ε a2=ε b2
                           ->Γ b1 = b2.
1 subgoals, subgoal 1 (ID 7946)
  
  ============================
   forall (Γ : Env) (a1 a2 b1 b2 B1 B2 : Term) (H : Prf),
   Γ ⊢ H : a1 = a2 ->
   Γ ⊢ b1 : B1 -> Γ ⊢ b2 : B2 -> ε a1 = ε b1 -> ε a2 = ε b2 -> Γ ⊢ b1 = b2

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 7959)
  
  Γ : Env
  a1 : Term
  a2 : Term
  b1 : Term
  b2 : Term
  B1 : Term
  B2 : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ b1 : B1
  H2 : Γ ⊢ b2 : B2
  H3 : ε a1 = ε b1
  H4 : ε a2 = ε b2
  ============================
   Γ ⊢ b1 = b2

(dependent evars:)


edestruct equality_typing as ((?&?)&(?&?));[exact H0|].
1 subgoals, subgoal 1 (ID 7981)
  
  Γ : Env
  a1 : Term
  a2 : Term
  b1 : Term
  b2 : Term
  B1 : Term
  B2 : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ b1 : B1
  H2 : Γ ⊢ b2 : B2
  H3 : ε a1 = ε b1
  H4 : ε a2 = ε b2
  x : Term
  H5 : Γ ⊢ a1 : x
  x0 : Term
  H6 : Γ ⊢ a2 : x0
  ============================
   Γ ⊢ b1 = b2

(dependent evars: ?7962 using , ?7963 using , ?7964 using , ?7965 using ,)


destruct (erasure_injectivity_term _ _ _ _ _ H5 H1 H3) as (?&?).
1 subgoals, subgoal 1 (ID 7993)
  
  Γ : Env
  a1 : Term
  a2 : Term
  b1 : Term
  b2 : Term
  B1 : Term
  B2 : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ b1 : B1
  H2 : Γ ⊢ b2 : B2
  H3 : ε a1 = ε b1
  H4 : ε a2 = ε b2
  x : Term
  H5 : Γ ⊢ a1 : x
  x0 : Term
  H6 : Γ ⊢ a2 : x0
  x1 : Prf
  H7 : Γ ⊢ x1 : a1 = b1
  ============================
   Γ ⊢ b1 = b2

(dependent evars: ?7962 using , ?7963 using , ?7964 using , ?7965 using ,)


destruct (erasure_injectivity_term _ _ _ _ _ H6 H2 H4) as (?&?).
1 subgoals, subgoal 1 (ID 8005)
  
  Γ : Env
  a1 : Term
  a2 : Term
  b1 : Term
  b2 : Term
  B1 : Term
  B2 : Term
  H : Prf
  H0 : Γ ⊢ H : a1 = a2
  H1 : Γ ⊢ b1 : B1
  H2 : Γ ⊢ b2 : B2
  H3 : ε a1 = ε b1
  H4 : ε a2 = ε b2
  x : Term
  H5 : Γ ⊢ a1 : x
  x0 : Term
  H6 : Γ ⊢ a2 : x0
  x1 : Prf
  H7 : Γ ⊢ x1 : a1 = b1
  x2 : Prf
  H8 : Γ ⊢ x2 : a2 = b2
  ============================
   Γ ⊢ b1 = b2

(dependent evars: ?7962 using , ?7963 using , ?7964 using , ?7965 using ,)


econstructor;eapply cTrans;[eapply cSym;eexact H7|eapply cTrans;[eexact H0|eexact H8]].
No more subgoals.
(dependent evars: ?7962 using , ?7963 using , ?7964 using , ?7965 using , ?8007 using ?8010 ?8009 , ?8009 using ?8014 , ?8010 using ?8017 ?8016 , ?8011 using , ?8014 using , ?8016 using , ?8017 using , ?8018 using ,)


Qed.
erasure_equality2 is defined



This is a map which erases only the outer conversion in a term. It will be used in the following situation: Suppose ε T=Π(A'),B', then we can write T as (Π(A),B)∽H1∽H2∽...∽Hn. Using the outer erasure, we can retrieve A and B from T.
Fixpoint erasure_outer (T:TM.Term) {struct T} : TM.Term := match T with
   | # x => # x
   | ! s => ! s
   | M · N => M · N
   | Π ( A ), B => Π (A), B
   | λ [ A ], M => λ [A], M
   | A H => erasure_outer A
 end.
erasure_outer is recursively defined (decreasing on 1st argument)



Lemma erasure_erasure_outer : forall t,ε (erasure_outer t)=ε t.
1 subgoals, subgoal 1 (ID 8039)
  
  ============================
   forall t : Term, ε (erasure_outer t) = ε t

(dependent evars:)


induction t;simpl;try reflexivity;assumption.
No more subgoals.
(dependent evars:)


Qed.
erasure_erasure_outer is defined



Lemma erasure_outer_not_conv : forall t a H,~(erasure_outer t=aH).
1 subgoals, subgoal 1 (ID 8092)
  
  ============================
   forall (t a : Term) (H : Prf), erasure_outer t <> a ∽ H

(dependent evars:)


induction t;intros;simpl;try discriminate;trivial.
No more subgoals.
(dependent evars:)


Qed.
erasure_outer_not_conv is defined



Lemma erasure_outer_typing : forall Γ A B,Γ A : B->exists B',Γ erasure_outer A : B'.
1 subgoals, subgoal 1 (ID 8190)
  
  ============================
   forall (Γ : Env) (A B : Term),
   Γ ⊢ A : B -> exists B' : Term, Γ ⊢ erasure_outer A : B'

(dependent evars:)


induction 1;simpl;try assumption;econstructor;econstructor;eassumption.
No more subgoals.
(dependent evars: ?8293 using ?8308 , ?8296 using , ?8299 using ?8318 , ?8302 using ?8329 ?8328 , ?8305 using ?8342 , ?8308 using , ?8318 using , ?8319 using , ?8320 using , ?8328 using , ?8329 using , ?8330 using , ?8331 using , ?8332 using , ?8342 using , ?8343 using ,)


Qed.
erasure_outer_typing is defined



Lemma context_conversion_context : forall Γ Δ v A, εc Γ = εc Δ->A v Γ->exists A',ε A'=ε A/\ A' v Δ.
1 subgoals, subgoal 1 (ID 8358)
  
  ============================
   forall (Γ Δ : Env) (v : nat) (A : Term),
   εc Γ = εc Δ -> A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ

(dependent evars:)


induction Γ;destruct 2 as (?&?&?).
2 subgoals, subgoal 1 (ID 8379)
  
  Δ : Env
  v : nat
  A : Term
  H : εc nil = εc Δ
  x : Term
  H0 : A = x ↑ (S v)
  H1 : x ↓ v ∈ nil
  ============================
   exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ

subgoal 2 (ID 8392) is:
 exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
(dependent evars:)


inversion H1.
1 subgoals, subgoal 1 (ID 8392)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  Δ : Env
  v : nat
  A : Term
  H : εc (a :: Γ) = εc Δ
  x : Term
  H0 : A = x ↑ (S v)
  H1 : x ↓ v ∈ a :: Γ
  ============================
   exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ

(dependent evars:)


simpl in H;destruct Δ;try discriminate;simpl in H;injection H;intros;subst.
1 subgoals, subgoal 1 (ID 8461)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  v : nat
  H : ε a :: εc Γ = ε t :: εc Δ
  x : Term
  H1 : x ↓ v ∈ a :: Γ
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  ============================
   exists A' : Term, ε A' = ε (x ↑ (S v)) /\ A' ↓ v ⊂ t :: Δ

(dependent evars:)


inversion H1;subst.
2 subgoals, subgoal 1 (ID 8537)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  H1 : a ↓ 0 ∈ a :: Γ
  ============================
   exists A' : Term, ε A' = ε (a ↑ 1) /\ A' ↓ 0 ⊂ t :: Δ

subgoal 2 (ID 8544) is:
 exists A' : Term, ε A' = ε (x ↑ (S (S n))) /\ A' ↓ S n ⊂ t :: Δ
(dependent evars:)


exists t1;split.
3 subgoals, subgoal 1 (ID 8548)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  H1 : a ↓ 0 ∈ a :: Γ
  ============================
   ε (t ↑ 1) = ε (a ↑ 1)

subgoal 2 (ID 8549) is:
 t ↑ 1 ↓ 0 ⊂ t :: Δ
subgoal 3 (ID 8544) is:
 exists A' : Term, ε A' = ε (x ↑ (S (S n))) /\ A' ↓ S n ⊂ t :: Δ
(dependent evars:)

rewrite 2 erasure_lift;f_equal;symmetry;trivial.
2 subgoals, subgoal 1 (ID 8549)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  H1 : a ↓ 0 ∈ a :: Γ
  ============================
   t ↑ 1 ↓ 0 ⊂ t :: Δ

subgoal 2 (ID 8544) is:
 exists A' : Term, ε A' = ε (x ↑ (S (S n))) /\ A' ↓ S n ⊂ t :: Δ
(dependent evars:)

exists t;intuition.
1 subgoals, subgoal 1 (ID 8544)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  x : Term
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  n : nat
  H6 : x ↓ n ∈ Γ
  H1 : x ↓ S n ∈ a :: Γ
  ============================
   exists A' : Term, ε A' = ε (x ↑ (S (S n))) /\ A' ↓ S n ⊂ t :: Δ

(dependent evars:)


edestruct IHΓ as (?&?&?&?&?);[exact H2|exists x;eauto|..].
1 subgoals, subgoal 1 (ID 8616)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  x : Term
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  n : nat
  H6 : x ↓ n ∈ Γ
  H1 : x ↓ S n ∈ a :: Γ
  x0 : Term
  H0 : ε x0 = ε (x ↑ (S n))
  x1 : Term
  H4 : x0 = x1 ↑ (S n)
  H5 : x1 ↓ n ∈ Δ
  ============================
   exists A' : Term, ε A' = ε (x ↑ (S (S n))) /\ A' ↓ S n ⊂ t :: Δ

(dependent evars: ?8591 using , ?8592 using , ?8593 using ?8592 ,)


subst.
1 subgoals, subgoal 1 (ID 8629)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  x : Term
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  n : nat
  H6 : x ↓ n ∈ Γ
  H1 : x ↓ S n ∈ a :: Γ
  x1 : Term
  H5 : x1 ↓ n ∈ Δ
  H0 : ε (x1 ↑ (S n)) = ε (x ↑ (S n))
  ============================
   exists A' : Term, ε A' = ε (x ↑ (S (S n))) /\ A' ↓ S n ⊂ t :: Δ

(dependent evars: ?8591 using , ?8592 using , ?8593 using ?8592 ,)

exists x1↑(S (S n)).
1 subgoals, subgoal 1 (ID 8631)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  x : Term
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  n : nat
  H6 : x ↓ n ∈ Γ
  H1 : x ↓ S n ∈ a :: Γ
  x1 : Term
  H5 : x1 ↓ n ∈ Δ
  H0 : ε (x1 ↑ (S n)) = ε (x ↑ (S n))
  ============================
   ε (x1 ↑ (S (S n))) = ε (x ↑ (S (S n))) /\ x1 ↑ (S (S n)) ↓ S n ⊂ t :: Δ

(dependent evars: ?8591 using , ?8592 using , ?8593 using ?8592 ,)

rewrite 2 erasure_lift in *.
1 subgoals, subgoal 1 (ID 8637)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  x : Term
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  n : nat
  H6 : x ↓ n ∈ Γ
  H1 : x ↓ S n ∈ a :: Γ
  x1 : Term
  H5 : x1 ↓ n ∈ Δ
  H0 : (ε x1 ↑ (S n))%UT = (ε x ↑ (S n))%UT
  ============================
   (ε x1 ↑ (S (S n)))%UT = (ε x ↑ (S (S n)))%UT /\
   x1 ↑ (S (S n)) ↓ S n ⊂ t :: Δ

(dependent evars: ?8591 using , ?8592 using , ?8593 using ?8592 ,)

apply UTM.inv_lift in H0.
1 subgoals, subgoal 1 (ID 8639)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  x : Term
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  n : nat
  H6 : x ↓ n ∈ Γ
  H1 : x ↓ S n ∈ a :: Γ
  x1 : Term
  H5 : x1 ↓ n ∈ Δ
  H0 : ε x1 = ε x
  ============================
   (ε x1 ↑ (S (S n)))%UT = (ε x ↑ (S (S n)))%UT /\
   x1 ↑ (S (S n)) ↓ S n ⊂ t :: Δ

(dependent evars: ?8591 using , ?8592 using , ?8593 using ?8592 ,)


rewrite H0;intuition.
1 subgoals, subgoal 1 (ID 8643)
  
  a : Term
  Γ : list Term
  IHΓ : forall (Δ : Env) (v : nat) (A : Term),
        εc Γ = εc Δ ->
        A ↓ v ⊂ Γ -> exists A' : Term, ε A' = ε A /\ A' ↓ v ⊂ Δ
  t : Term
  Δ : list Term
  H : ε a :: εc Γ = ε t :: εc Δ
  x : Term
  H2 : εc Γ = εc Δ
  H3 : ε a = ε t
  n : nat
  H6 : x ↓ n ∈ Γ
  H1 : x ↓ S n ∈ a :: Γ
  x1 : Term
  H5 : x1 ↓ n ∈ Δ
  H0 : ε x1 = ε x
  ============================
   x1 ↑ (S (S n)) ↓ S n ⊂ t :: Δ

(dependent evars: ?8591 using , ?8592 using , ?8593 using ?8592 ,)

exists x1;intuition.
No more subgoals.
(dependent evars: ?8591 using , ?8592 using , ?8593 using ?8592 ,)


Qed.
context_conversion_context is defined



some destruction tactics for the Theorem context_conversion

Local Ltac destruct_ext := fun H Γ A =>
let t := fresh "t" with x := fresh "x" with T := fresh "T" with Ht := fresh "Ht" with HT := fresh "HT"
with eq1 := fresh "eqt" with eq2 := fresh "eq" with eq3 := fresh "eqT" in
(edestruct H with (Δ:=Γ) as (t&x&eq1&eq2&Ht);
[try assumption;econstructor;eassumption|try assumption;simpl;f_equal;trivial;symmetry;trivial|];
try match goal with
 | [ H0 : ε A = _ |- _ ] => symmetry in eq2;apply (eq_trans H0) in eq2
end;
edestruct erasure_term with (A2:=A) as (T&eq3&HT);[exact Ht|eauto|try (left;eauto;fail);try (right;eauto;fail)| ];
try (apply (eq_trans eq3) in eq1; clear eq3 eq2 x Ht t)
).
destruct_ext is defined



Local Ltac destruct_ext2 := fun H Γ =>
let x := fresh "x" with T := fresh "T" with HT := fresh "HT" with eq1 := fresh "eqt" with eq2 := fresh "eq" in
(edestruct H with (Δ:=Γ) as (T&x&eq1&eq2&HT);
[try assumption;econstructor;eassumption|try assumption;simpl;f_equal;trivial;symmetry;trivial|]
).
destruct_ext2 is defined



Local Ltac destruct_eq := fun H Γ =>
let A := fresh "A" with B := fresh "B" with HAB := fresh "H" with HT := fresh "HT" with eq1 := fresh "eqA" with eq2 := fresh "eqB"
with tp1 := fresh "tp" with Htp1 := fresh "Htp" with HH1 := fresh "HH" with HHT1 := fresh "HHT" in
(edestruct H with (Δ:=Γ) as (HAB&A&B&eq1&eq2&HT);
[try assumption;econstructor;eassumption|try assumption;simpl;f_equal;trivial;symmetry;trivial|];
try match goal with
 | [ H0 : ε ?a = ε ?b, eq1 : ε A = ε ?b |- _ ] => rewrite <- H0 in eq1;
 destruct (equality_typing _ _ _ _ HT) as ((tp1&Htp1)&_);
 try match goal with
  | H1 : (_ a : _) |- _ => edestruct erasure_injectivity_term as (HH1&HHT1);[exact H1|exact Htp1|symmetry;assumption| ]
  | H1 : (_ _ : a) |- _ => edestruct erasure_injectivity_term_type as (HH1&HHT1);[exact H1|exact Htp1|assumption| ];apply cSym in HHT1
 end;try apply (cTrans _ _ _ _ _ _ HHT1) in HT; clear tp1 Htp1 HHT1 A eq1
end;let tp2 := fresh "tp" with Htp2 := fresh "Htp" with HH2 := fresh "HH" with HHT2 := fresh "HHT" in
try match goal with
 | [ H0 : ε ?a = ε ?b, eq2 : ε B = ε ?b |- _ ] => rewrite <- H0 in eq2;
 destruct (equality_typing _ _ _ _ HT) as (_&(tp2&Htp2));
 try match goal with
  | H1 : (_ a : _) |- _ => edestruct erasure_injectivity_term as (HH2&HHT2);[try exact H1|try exact Htp2|symmetry;try assumption| ]
  | H1 : (_ _ : a) |- _ => edestruct erasure_injectivity_term_type as (HH2&HHT2);[exact H1|exact Htp2|assumption| ];apply cSym in HHT2
 end;apply cSym in HT;try apply (cTrans _ _ _ _ _ _ HHT2) in HT;apply cSym in HT;clear tp2 Htp2 HHT2 B eq2
end;match goal with
 | [ HT : (_ ?a : _ = _) |- _ ] => revert HT;generalize a;clear HAB;intros HAB HT;try clear HH1;try clear HH2
end
).
destruct_eq is defined



Local Ltac search_prod :=
let HeqX := fresh "HeqX" with Htp := fresh "Htp" with Hetp := fresh "Hetp" with s := fresh "s" in
match goal with
 | eq : ε ?x = ε (Π (?A), ?B),HT : _ _ : ?x |- _ =>
 rewrite <- erasure_erasure_outer in eq at 1;remember (erasure_outer x) as X eqn:HeqX;
 destruct X;simpl in eq;try discriminate;[|symmetry in HeqX;apply erasure_outer_not_conv in HeqX; elim HeqX];
 destruct (TypeCorrect _ _ _ HT) as [(?&Htp)|(s&Htp)];[subst;simpl in HeqX;discriminate|];
 destruct (erasure_outer_typing _ _ _ Htp) as (?&Hetp);
 rewrite <- HeqX in Hetp;
 destruct (gen_pi _ _ _ _ Hetp) as (?s&_&?s&?&_&?&_);subst;clear s Htp HeqX HT;injection eq;intros
end.
search_prod is defined



Here we prove context conversion. This is a Theorem we do not use in the paper or thesis, but it allows some simpler formulation of the implication PTSeq -> PTSf.

Lemma context_conversion :
(forall Γ A B,Γ A : B->forall Δ,Δ ->εc Γ = εc Δ->exists A' B',ε A'=ε A/\ε B'=ε B/\Δ A' : B')/\
(forall Γ H A B,Γ H : A = B->forall Δ,Δ ->εc Γ = εc Δ->exists H' A' B',ε A'=ε A/\ε B'=ε B/\Δ H' : A' = B')/\
(forall Γ, Γ ->True).
1 subgoals, subgoal 1 (ID 8714)
  
  ============================
   (forall (Γ : Env) (A B : Term),
    Γ ⊢ A : B ->
    forall Δ : Env,
    Δ ⊣ ->
    εc Γ = εc Δ ->
    exists A' B' : Term, ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ A' : B') /\
   (forall (Γ : Env) (H : Prf) (A B : Term),
    Γ ⊢ H : A = B ->
    forall Δ : Env,
    Δ ⊣ ->
    εc Γ = εc Δ ->
    exists (H' : Prf) (A' B' : Term),
      ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B') /\
   (forall Γ : Env, Γ ⊣ -> True)

(dependent evars:)


apply typ_induc;intros;trivial.
14 subgoals, subgoal 1 (ID 8739)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣
  H : True
  Δ : Env
  H0 : Δ ⊣
  H1 : εc Γ = εc Δ
  ============================
   exists A' B' : Term, ε A' = ε !s /\ ε B' = ε !t /\ Δ ⊢ A' : B'

subgoal 2 (ID 8748) is:
 exists A' B' : Term, ε A' = ε #v /\ ε B' = ε A /\ Δ ⊢ A' : B'
subgoal 3 (ID 8762) is:
 exists A' B' : Term, ε A' = ε (Π (A), B) /\ ε B' = ε !s3 /\ Δ ⊢ A' : B'
subgoal 4 (ID 8779) is:
 exists A' B' : Term,
   ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
subgoal 5 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 6 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 7 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 10 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 11 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 13 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 14 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars:)


exists !s;exists !t;intuition.
13 subgoals, subgoal 1 (ID 8748)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣
  H : True
  i : A ↓ v ⊂ Γ
  Δ : Env
  H0 : Δ ⊣
  H1 : εc Γ = εc Δ
  ============================
   exists A' B' : Term, ε A' = ε #v /\ ε B' = ε A /\ Δ ⊢ A' : B'

subgoal 2 (ID 8762) is:
 exists A' B' : Term, ε A' = ε (Π (A), B) /\ ε B' = ε !s3 /\ Δ ⊢ A' : B'
subgoal 3 (ID 8779) is:
 exists A' B' : Term,
   ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
subgoal 4 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 5 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 6 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 10 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 13 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars:)


edestruct context_conversion_context as (A0&?&?);[eassumption|exact i|exists #v;exists A0;intuition].
12 subgoals, subgoal 1 (ID 8762)
  
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ B : !s2
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  ============================
   exists A' B' : Term, ε A' = ε (Π (A), B) /\ ε B' = ε !s3 /\ Δ ⊢ A' : B'

subgoal 2 (ID 8779) is:
 exists A' B' : Term,
   ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 4 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 5 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using ,)


destruct_ext H Δ !s1.
12 subgoals, subgoal 1 (ID 9101)
  
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ B : !s2
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  ============================
   exists A' B' : Term, ε A' = ε (Π (A), B) /\ ε B' = ε !s3 /\ Δ ⊢ A' : B'

subgoal 2 (ID 8779) is:
 exists A' B' : Term,
   ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 4 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 5 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using ,)


destruct_ext H0 (T::Δ) !s2.
12 subgoals, subgoal 1 (ID 9193)
  
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ B : !s2
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : T :: Δ ⊢ T0 : !s2
  eqt0 : ε T0 = ε B
  ============================
   exists A' B' : Term, ε A' = ε (Π (A), B) /\ ε B' = ε !s3 /\ Δ ⊢ A' : B'

subgoal 2 (ID 8779) is:
 exists A' B' : Term,
   ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 4 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 5 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using ,)


exists (Π (T), T0);exists !s3;simpl;intuition.
13 subgoals, subgoal 1 (ID 9200)
  
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ B : !s2
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : T :: Δ ⊢ T0 : !s2
  eqt0 : ε T0 = ε B
  ============================
   (Π (ε T), ε T0)%UT = (Π (ε A), ε B)%UT

subgoal 2 (ID 9204) is:
 Δ ⊢ Π (T), T0 : !s3
subgoal 3 (ID 8779) is:
 exists A' B' : Term,
   ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
subgoal 4 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 5 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 6 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 10 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 13 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using ,)


f_equal;assumption.
12 subgoals, subgoal 1 (ID 9204)
  
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ B : !s2
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : T :: Δ ⊢ T0 : !s2
  eqt0 : ε T0 = ε B
  ============================
   Δ ⊢ Π (T), T0 : !s3

subgoal 2 (ID 8779) is:
 exists A' B' : Term,
   ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 4 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 5 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using ,)

econstructor;eassumption.
11 subgoals, subgoal 1 (ID 8779)
  
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ b : B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ B : !s2
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  ============================
   exists A' B' : Term,
     ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 4 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using ,)


destruct_ext H Δ !s1.
11 subgoals, subgoal 1 (ID 9337)
  
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ b : B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ B : !s2
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  ============================
   exists A' B' : Term,
     ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 4 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using ,)


destruct_ext H1 (T::Δ) !s2.
11 subgoals, subgoal 1 (ID 9429)
  
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ b : B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ B : !s2
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : T :: Δ ⊢ T0 : !s2
  eqt0 : ε T0 = ε B
  ============================
   exists A' B' : Term,
     ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 4 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using ,)


destruct_ext H0 (T::Δ) T0.
11 subgoals, subgoal 1 (ID 9540)
  
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ b : B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ B : !s2
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : T :: Δ ⊢ T0 : !s2
  eqt0 : ε T0 = ε B
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : T0
  eqt1 : ε T1 = ε b
  ============================
   exists A' B' : Term,
     ε A' = ε (λ [A], b) /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 4 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using ,)


exists (λ [T], T1);exists (Π (T), T0);simpl;intuition.
13 subgoals, subgoal 1 (ID 9547)
  
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ b : B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ B : !s2
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : T :: Δ ⊢ T0 : !s2
  eqt0 : ε T0 = ε B
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : T0
  eqt1 : ε T1 = ε b
  ============================
   (λ [ε T], ε T1)%UT = (λ [ε A], ε b)%UT

subgoal 2 (ID 9550) is:
 (Π (ε T), ε T0)%UT = (Π (ε A), ε B)%UT
subgoal 3 (ID 9551) is:
 Δ ⊢ λ [T], T1 : Π (T), T0
subgoal 4 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 5 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 6 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 10 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 13 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using ,)


f_equal;assumption.
12 subgoals, subgoal 1 (ID 9550)
  
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ b : B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ B : !s2
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : T :: Δ ⊢ T0 : !s2
  eqt0 : ε T0 = ε B
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : T0
  eqt1 : ε T1 = ε b
  ============================
   (Π (ε T), ε T0)%UT = (Π (ε A), ε B)%UT

subgoal 2 (ID 9551) is:
 Δ ⊢ λ [T], T1 : Π (T), T0
subgoal 3 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 4 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 5 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using ,)

f_equal;assumption.
11 subgoals, subgoal 1 (ID 9551)
  
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A : !s1
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : A :: Γ ⊢ b : B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ B : !s2
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : T :: Δ ⊢ T0 : !s2
  eqt0 : ε T0 = ε B
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : T0
  eqt1 : ε T1 = ε b
  ============================
   Δ ⊢ λ [T], T1 : Π (T), T0

subgoal 2 (ID 8791) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 4 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using ,)

econstructor;eassumption.
10 subgoals, subgoal 1 (ID 8791)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  ============================
   exists A' B' : Term,
     ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 3 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using ,)


destruct_ext2 H Δ.
10 subgoals, subgoal 1 (ID 9710)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  eq : ε x = ε (Π (A), B)
  HT : Δ ⊢ T : x
  ============================
   exists A' B' : Term,
     ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 3 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using ,)

search_prod.
10 subgoals, subgoal 1 (ID 9942)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H4 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H3 : ε X2 = ε B
  H5 : ε X1 = ε A
  ============================
   exists A' B' : Term,
     ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 3 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using ,)


destruct_ext H Δ (Π (X1), X2).
11 subgoals, subgoal 1 (ID 9980)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H4 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H3 : ε X2 = ε B
  H5 : ε X1 = ε A
  t1 : Term
  x0 : Term
  eqt0 : ε t1 = ε F
  eq0 : ε x0 = ε (Π (A), B)
  Ht : Δ ⊢ t1 : x0
  ============================
   ε x0 = ε (Π (X1), X2)

subgoal 2 (ID 10016) is:
 exists A' B' : Term, ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'
subgoal 3 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 4 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using ,)

simpl;rewrite eq;assumption.
10 subgoals, subgoal 1 (ID 10016)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H4 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H3 : ε X2 = ε B
  H5 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  ============================
   exists A' B' : Term,
     ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 3 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using ,)


destruct_ext H0 Δ X1.
10 subgoals, subgoal 1 (ID 10098)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H4 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H3 : ε X2 = ε B
  H5 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  ============================
   exists A' B' : Term,
     ε A' = ε (F · a) /\ ε B' = ε (B [ ← a]) /\ Δ ⊢ A' : B'

subgoal 2 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 3 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using ,)


exists (T0 · T1);exists (X2 [ T1]);simpl;intuition.
12 subgoals, subgoal 1 (ID 10105)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H4 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H3 : ε X2 = ε B
  H5 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  ============================
   (ε T0 · ε T1)%UT = (ε F · ε a)%UT

subgoal 2 (ID 10108) is:
 ε (X2 [ ← T1]) = ε (B [ ← a])
subgoal 3 (ID 10109) is:
 Δ ⊢ T0 · T1 : X2 [ ← T1]
subgoal 4 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 5 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 9 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 12 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using ,)


f_equal;assumption.
11 subgoals, subgoal 1 (ID 10108)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H4 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H3 : ε X2 = ε B
  H5 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  ============================
   ε (X2 [ ← T1]) = ε (B [ ← a])

subgoal 2 (ID 10109) is:
 Δ ⊢ T0 · T1 : X2 [ ← T1]
subgoal 3 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 4 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 8 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 11 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using ,)

rewrite 2! erasure_subst;f_equal;assumption.
10 subgoals, subgoal 1 (ID 10109)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  t : Γ ⊢ F : Π (A), B
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H4 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H3 : ε X2 = ε B
  H5 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  ============================
   Δ ⊢ T0 · T1 : X2 [ ← T1]

subgoal 2 (ID 8806) is:
 exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'
subgoal 3 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 7 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 10 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using ,)

econstructor;eassumption.
9 subgoals, subgoal 1 (ID 8806)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  ============================
   exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'

subgoal 2 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using ,)


destruct_ext2 H0 Δ.
9 subgoals, subgoal 1 (ID 10288)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  ============================
   exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'

subgoal 2 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using ,)


destruct_ext H1 Δ !s.
9 subgoals, subgoal 1 (ID 10349)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  T0 : Term
  HT0 : Δ ⊢ T0 : !s
  eqt0 : ε T0 = ε B
  ============================
   exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'

subgoal 2 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using ,)


destruct_eq H2 Δ.
9 subgoals, subgoal 1 (ID 10490)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  T0 : Term
  HT0 : Δ ⊢ T0 : !s
  eqt0 : ε T0 = ε B
  H5 : Prf
  HT1 : Δ ⊢ H5 : x = T0
  ============================
   exists A' B' : Term, ε A' = ε (a ∽ H) /\ ε B' = ε B /\ Δ ⊢ A' : B'

subgoal 2 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using ,)


eexists (T _);exists T0;simpl;intuition.
9 subgoals, subgoal 1 (ID 10502)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  T0 : Term
  HT0 : Δ ⊢ T0 : !s
  eqt0 : ε T0 = ε B
  H5 : Prf
  HT1 : Δ ⊢ H5 : x = T0
  ============================
   Δ ⊢ T ∽ ?10491 : T0

subgoal 2 (ID 8819) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 6 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 9 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 open,)


econstructor; try eassumption.
8 subgoals, subgoal 1 (ID 8819)
  
  Γ : Env
  a : Term
  A : Term
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H0 : Δ ⊣
  H1 : εc Γ = εc Δ
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using ,)


destruct_ext2 H Δ.
8 subgoals, subgoal 1 (ID 10566)
  
  Γ : Env
  a : Term
  A : Term
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  Δ : Env
  H0 : Δ ⊣
  H1 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε a /\ ε B' = ε a /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8828) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 5 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 8 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using ,)


do 3 econstructor;eauto.
7 subgoals, subgoal 1 (ID 8828)
  
  Γ : Env
  H : Prf
  A : Term
  B : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using ,)


destruct_eq H0 Δ.
7 subgoals, subgoal 1 (ID 10649)
  
  Γ : Env
  H : Prf
  A : Term
  B : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H1 : Δ ⊣
  H2 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H3 : Prf
  HT : Δ ⊢ H3 : A0 = B0
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε B /\ ε B' = ε A /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8841) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using ,)


do 3 econstructor;eauto.
6 subgoals, subgoal 1 (ID 8841)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using ,)


destruct_eq H0 Δ.
6 subgoals, subgoal 1 (ID 10717)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using ,)


destruct_eq H1 Δ.
6 subgoals, subgoal 1 (ID 10776)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using ,)


edestruct equality_typing as (?&?&?).
7 subgoals, subgoal 1 (ID 10786)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  ============================
   ?10779 ⊢ ?10780 : ?10781 = ?10782

subgoal 2 (ID 10794) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 open, ?10780 open, ?10781 open, ?10782 open,)

exact HT.
6 subgoals, subgoal 1 (ID 10794)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using ,)


edestruct equality_typing as ((?&?)&?).
7 subgoals, subgoal 1 (ID 10804)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  ============================
   ?10797 ⊢ ?10798 : ?10799 = ?10800

subgoal 2 (ID 10812) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 open, ?10798 open, ?10799 open, ?10800 open,)

exact HT0.
6 subgoals, subgoal 1 (ID 10812)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  x0 : Term
  H8 : Δ ⊢ A1 : x0
  H9 : has_type B1 Δ
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using ,)


edestruct erasure_injectivity_term;[exact H7|exact H8|transitivity ε B;trivial;symmetry;trivial|].
6 subgoals, subgoal 1 (ID 10833)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  x0 : Term
  H8 : Δ ⊢ A1 : x0
  H9 : has_type B1 Δ
  x1 : Prf
  H10 : Δ ⊢ x1 : B0 = A1
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε A /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using ,)


econstructor;exists A0;exists B1;intuition.
6 subgoals, subgoal 1 (ID 10851)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  x0 : Term
  H8 : Δ ⊢ A1 : x0
  H9 : has_type B1 Δ
  x1 : Prf
  H10 : Δ ⊢ x1 : B0 = A1
  ============================
   Δ ⊢ ?10840 : A0 = B1

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 open,)


eapply cTrans.
7 subgoals, subgoal 1 (ID 10911)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  x0 : Term
  H8 : Δ ⊢ A1 : x0
  H9 : has_type B1 Δ
  x1 : Prf
  H10 : Δ ⊢ x1 : B0 = A1
  ============================
   Δ ⊢ ?10908 : A0 = ?10910

subgoal 2 (ID 10912) is:
 Δ ⊢ ?10909 : ?10910 = B1
subgoal 3 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 open, ?10909 open, ?10910 open,)

exact HT.
6 subgoals, subgoal 1 (ID 10912)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  x0 : Term
  H8 : Δ ⊢ A1 : x0
  H9 : has_type B1 Δ
  x1 : Prf
  H10 : Δ ⊢ x1 : B0 = A1
  ============================
   Δ ⊢ ?10909 : B0 = B1

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 open, ?10910 using ,)

eapply cTrans.
7 subgoals, subgoal 1 (ID 10916)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  x0 : Term
  H8 : Δ ⊢ A1 : x0
  H9 : has_type B1 Δ
  x1 : Prf
  H10 : Δ ⊢ x1 : B0 = A1
  ============================
   Δ ⊢ ?10913 : B0 = ?10915

subgoal 2 (ID 10917) is:
 Δ ⊢ ?10914 : ?10915 = B1
subgoal 3 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 4 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 7 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 open, ?10914 open, ?10915 open,)


exact H10.
6 subgoals, subgoal 1 (ID 10917)
  
  Γ : Env
  H : Prf
  K : Prf
  A : Term
  B : Term
  C : Term
  t : Γ ⊢ H : A = B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  t0 : Γ ⊢ K : B = C
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε B /\ ε B' = ε C /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H2 : Δ ⊣
  H3 : εc Γ = εc Δ
  A0 : Term
  B0 : Term
  eqA : ε A0 = ε A
  eqB : ε B0 = ε B
  H4 : Prf
  HT : Δ ⊢ H4 : A0 = B0
  A1 : Term
  B1 : Term
  eqA0 : ε A1 = ε B
  eqB0 : ε B1 = ε C
  H5 : Prf
  HT0 : Δ ⊢ H5 : A1 = B1
  H6 : has_type A0 Δ
  x : Term
  H7 : Δ ⊢ B0 : x
  x0 : Term
  H8 : Δ ⊢ A1 : x0
  H9 : has_type B1 Δ
  x1 : Prf
  H10 : Δ ⊢ x1 : B0 = A1
  ============================
   Δ ⊢ ?10914 : A1 = B1

subgoal 2 (ID 8861) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 open, ?10915 using ,)

exact HT0.
5 subgoals, subgoal 1 (ID 8861)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using ,)


destruct_ext H0 Δ !s1.
5 subgoals, subgoal 1 (ID 10978)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using ,)


destruct_ext H Δ T.
5 subgoals, subgoal 1 (ID 11058)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : T
  eqt0 : ε T0 = ε a
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using ,)


destruct_ext H2 (T::Δ) !s2.
5 subgoals, subgoal 1 (ID 11150)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : T
  eqt0 : ε T0 = ε a
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using ,)


destruct_ext H1 (T::Δ) T1.
5 subgoals, subgoal 1 (ID 11261)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : T
  eqt0 : ε T0 = ε a
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T :: Δ ⊢ T2 : T1
  eqt2 : ε T2 = ε b
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε ((λ [A], b) · a) /\ ε B' = ε (b [ ← a]) /\ Δ ⊢ H' : A' = B'

subgoal 2 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using ,)


econstructor;exists ((λ [T], T2) · T0);exists (T2 [ T0]).
5 subgoals, subgoal 1 (ID 11268)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : T
  eqt0 : ε T0 = ε a
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T :: Δ ⊢ T2 : T1
  eqt2 : ε T2 = ε b
  ============================
   ε ((λ [T], T2) · T0) = ε ((λ [A], b) · a) /\
   ε (T2 [ ← T0]) = ε (b [ ← a]) /\
   Δ ⊢ ?11263 : (λ [T], T2) · T0 = T2 [ ← T0]

subgoal 2 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 open,)


split.
6 subgoals, subgoal 1 (ID 11270)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : T
  eqt0 : ε T0 = ε a
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T :: Δ ⊢ T2 : T1
  eqt2 : ε T2 = ε b
  ============================
   ε ((λ [T], T2) · T0) = ε ((λ [A], b) · a)

subgoal 2 (ID 11271) is:
 ε (T2 [ ← T0]) = ε (b [ ← a]) /\ Δ ⊢ ?11263 : (λ [T], T2) · T0 = T2 [ ← T0]
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 open,)

simpl;f_equal;[f_equal|];assumption.
5 subgoals, subgoal 1 (ID 11271)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : T
  eqt0 : ε T0 = ε a
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T :: Δ ⊢ T2 : T1
  eqt2 : ε T2 = ε b
  ============================
   ε (T2 [ ← T0]) = ε (b [ ← a]) /\
   Δ ⊢ ?11263 : (λ [T], T2) · T0 = T2 [ ← T0]

subgoal 2 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 open,)


split.
6 subgoals, subgoal 1 (ID 11310)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : T
  eqt0 : ε T0 = ε a
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T :: Δ ⊢ T2 : T1
  eqt2 : ε T2 = ε b
  ============================
   ε (T2 [ ← T0]) = ε (b [ ← a])

subgoal 2 (ID 11311) is:
 Δ ⊢ ?11263 : (λ [T], T2) · T0 = T2 [ ← T0]
subgoal 3 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 6 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 open,)

rewrite 2 erasure_subst;f_equal;assumption.
5 subgoals, subgoal 1 (ID 11311)
  
  Γ : Env
  a : Term
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ a : A
  H : forall Δ : Env,
      Δ ⊣ ->
      εc Γ = εc Δ ->
      exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t1 : A :: Γ ⊢ b : B
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : T
  eqt0 : ε T0 = ε a
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T :: Δ ⊢ T2 : T1
  eqt2 : ε T2 = ε b
  ============================
   Δ ⊢ ?11263 : (λ [T], T2) · T0 = T2 [ ← T0]

subgoal 2 (ID 8891) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 open,)


eapply cBeta;eassumption.
4 subgoals, subgoal 1 (ID 8891)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using ,)


destruct_ext H0 Δ !s1.
4 subgoals, subgoal 1 (ID 11410)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using ,)


destruct_ext H1 Δ !s1'.
4 subgoals, subgoal 1 (ID 11471)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using ,)


destruct_ext H2 (T::Δ) !s2.
4 subgoals, subgoal 1 (ID 11563)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using ,)


destruct_ext H3 (T0::Δ) !s2'.
4 subgoals, subgoal 1 (ID 11655)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using ,)


destruct_eq H4 Δ.
4 subgoals, subgoal 1 (ID 11796)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using ,)


assert (ε ((T2 1 # 1) [ #0 H8 h 1])=ε ((B' 1 # 1) [ #0 H h 1])).
5 subgoals, subgoal 1 (ID 11798)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  ============================
   ε ((T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]) = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])

subgoal 2 (ID 11799) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using ,)


rewrite 2 erasure_subst;rewrite 2 erasure_lift;f_equal;trivial;f_equal;trivial.
4 subgoals, subgoal 1 (ID 11799)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  H9 : ε ((T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]) = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using ,)


assert (T::Δ ((T2 1 # 1) [ #0 H8 h 1]) : ((!s2' 1 # 1) [ #0 H8 h 1])).
5 subgoals, subgoal 1 (ID 11851)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  H9 : ε ((T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]) = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  ============================
   T :: Δ ⊢ (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1] : (!s2' ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]

subgoal 2 (ID 11852) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 5 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using ,)


eapply subst_typ;try eassumption;repeat econstructor.
4 subgoals, subgoal 1 (ID 11852)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  H9 : ε ((T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]) = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H10 : T :: Δ ⊢ (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
        : (!s2' ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using ,)


destruct_eq H5 (T::Δ).
4 subgoals, subgoal 1 (ID 12043)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  H9 : ε ((T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]) = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H10 : T :: Δ ⊢ (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
        : (!s2' ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  H11 : Prf
  HT4 : T :: Δ ⊢ H11 : T1 = (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (Π (A), B) /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using ,)


econstructor;exists (Π (T), T1);exists (Π (T0), T2).
4 subgoals, subgoal 1 (ID 12050)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  H9 : ε ((T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]) = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H10 : T :: Δ ⊢ (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
        : (!s2' ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  H11 : Prf
  HT4 : T :: Δ ⊢ H11 : T1 = (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  ============================
   ε (Π (T), T1) = ε (Π (A), B) /\
   ε (Π (T0), T2) = ε (Π (A'), B') /\ Δ ⊢ ?12045 : Π (T), T1 = Π (T0), T2

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 open,)


split;[simpl;f_equal;assumption|].
4 subgoals, subgoal 1 (ID 12053)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  H9 : ε ((T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]) = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H10 : T :: Δ ⊢ (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
        : (!s2' ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  H11 : Prf
  HT4 : T :: Δ ⊢ H11 : T1 = (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  ============================
   ε (Π (T0), T2) = ε (Π (A'), B') /\ Δ ⊢ ?12045 : Π (T), T1 = Π (T0), T2

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 open,)


split;[simpl;f_equal;assumption|].
4 subgoals, subgoal 1 (ID 12075)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ B : !s2
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ B' : !s2'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t3 : Γ ⊢ H : A = A'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t4 : A :: Γ ⊢ K : B = (B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B'0 : Term),
         ε A' = ε B /\
         ε B'0 = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'0
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  H8 : Prf
  HT3 : Δ ⊢ H8 : T = T0
  H9 : ε ((T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]) = ε ((B' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H10 : T :: Δ ⊢ (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
        : (!s2' ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  H11 : Prf
  HT4 : T :: Δ ⊢ H11 : T1 = (T2 ↑ 1 # 1) [ ← #0 ∽ H8 ↑h 1]
  ============================
   Δ ⊢ ?12045 : Π (T), T1 = Π (T0), T2

subgoal 2 (ID 8927) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 open,)


eapply cProdEq;[exact r|exact r0|eassumption..].
3 subgoals, subgoal 1 (ID 8927)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using ,)


destruct_ext H0 Δ !s1.
3 subgoals, subgoal 1 (ID 12172)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using ,)


destruct_ext H1 Δ !s1'.
3 subgoals, subgoal 1 (ID 12233)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using ,)


destruct_ext H4 (T::Δ) !s2.
3 subgoals, subgoal 1 (ID 12325)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using ,)


destruct_ext H5 (T0::Δ) !s2'.
3 subgoals, subgoal 1 (ID 12417)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using ,)


destruct_ext H2 (T::Δ) T1.
3 subgoals, subgoal 1 (ID 12528)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using ,)


destruct_ext H3 (T0::Δ) T2.
3 subgoals, subgoal 1 (ID 12639)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using ,)


destruct_eq H6 Δ.
3 subgoals, subgoal 1 (ID 12780)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using ,)


assert (ε ((T4 1 # 1) [ #0 H10 h 1])=ε ((b' 1 # 1) [ #0 H h 1])).
4 subgoals, subgoal 1 (ID 12782)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  ============================
   ε ((T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]) = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])

subgoal 2 (ID 12783) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using ,)


rewrite 2 erasure_subst;rewrite 2 erasure_lift;f_equal;trivial;f_equal;trivial.
3 subgoals, subgoal 1 (ID 12783)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  H11 : ε ((T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]) =
        ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using ,)


assert (T::Δ ((T4 1 # 1) [ #0 H10 h 1]) : ((T2 1 # 1) [ #0 H10 h 1])).
4 subgoals, subgoal 1 (ID 12835)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  H11 : ε ((T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]) =
        ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  ============================
   T :: Δ ⊢ (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1] : (T2 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]

subgoal 2 (ID 12836) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 4 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using ,)


eapply subst_typ;try eassumption;repeat econstructor.
3 subgoals, subgoal 1 (ID 12836)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  H11 : ε ((T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]) =
        ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H12 : T :: Δ ⊢ (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
        : (T2 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using ,)


destruct_eq H7 (T::Δ).
3 subgoals, subgoal 1 (ID 13027)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  H11 : ε ((T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]) =
        ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H12 : T :: Δ ⊢ (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
        : (T2 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  H13 : Prf
  HT6 : T :: Δ ⊢ H13 : T3 = (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (λ [A], b) /\ ε B'0 = ε (λ [A'], b') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using ,)


econstructor;exists (λ [T], T3);exists (λ [T0], T4).
3 subgoals, subgoal 1 (ID 13034)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  H11 : ε ((T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]) =
        ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H12 : T :: Δ ⊢ (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
        : (T2 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  H13 : Prf
  HT6 : T :: Δ ⊢ H13 : T3 = (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  ============================
   ε (λ [T], T3) = ε (λ [A], b) /\
   ε (λ [T0], T4) = ε (λ [A'], b') /\ Δ ⊢ ?13029 : λ [T], T3 = λ [T0], T4

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 open,)


split;[simpl;f_equal;assumption|].
3 subgoals, subgoal 1 (ID 13037)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  H11 : ε ((T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]) =
        ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H12 : T :: Δ ⊢ (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
        : (T2 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  H13 : Prf
  HT6 : T :: Δ ⊢ H13 : T3 = (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  ============================
   ε (λ [T0], T4) = ε (λ [A'], b') /\ Δ ⊢ ?13029 : λ [T], T3 = λ [T0], T4

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 open,)


split;[simpl;f_equal;assumption|].
3 subgoals, subgoal 1 (ID 13059)
  
  Γ : Env
  A : Term
  A' : Term
  b : Term
  b' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  s1' : Sorts
  s2' : Sorts
  s3' : Sorts
  r : Rel s1 s2 s3
  r0 : Rel s1' s2' s3'
  t : Γ ⊢ A : !s1
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε A /\ ε B' = ε !s1 /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ A' : !s1'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε A' /\ ε B' = ε !s1' /\ Δ ⊢ A'0 : B'
  t1 : A :: Γ ⊢ b : B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε b /\ ε B' = ε B /\ Δ ⊢ A' : B'
  t2 : A' :: Γ ⊢ b' : B'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε b' /\ ε B'0 = ε B' /\ Δ ⊢ A' : B'0
  t3 : A :: Γ ⊢ B : !s2
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s2 /\ Δ ⊢ A' : B'
  t4 : A' :: Γ ⊢ B' : !s2'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc (A' :: Γ) = εc Δ ->
       exists A' B'0 : Term, ε A' = ε B' /\ ε B'0 = ε !s2' /\ Δ ⊢ A' : B'0
  t5 : Γ ⊢ H : A = A'
  H6 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A'0 B' : Term),
         ε A'0 = ε A /\ ε B' = ε A' /\ Δ ⊢ H' : A'0 = B'
  t6 : A :: Γ ⊢ K : b = (b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]
  H7 : forall Δ : Env,
       Δ ⊣ ->
       εc (A :: Γ) = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε b /\
         ε B' = ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1]) /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H8 : Δ ⊣
  H9 : εc Γ = εc Δ
  T : Term
  HT : Δ ⊢ T : !s1
  eqt : ε T = ε A
  T0 : Term
  HT0 : Δ ⊢ T0 : !s1'
  eqt0 : ε T0 = ε A'
  T1 : Term
  HT1 : T :: Δ ⊢ T1 : !s2
  eqt1 : ε T1 = ε B
  T2 : Term
  HT2 : T0 :: Δ ⊢ T2 : !s2'
  eqt2 : ε T2 = ε B'
  T3 : Term
  HT3 : T :: Δ ⊢ T3 : T1
  eqt3 : ε T3 = ε b
  T4 : Term
  HT4 : T0 :: Δ ⊢ T4 : T2
  eqt4 : ε T4 = ε b'
  H10 : Prf
  HT5 : Δ ⊢ H10 : T = T0
  H11 : ε ((T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]) =
        ε ((b' ↑ 1 # 1) [ ← #0 ∽ H ↑h 1])
  H12 : T :: Δ ⊢ (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
        : (T2 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  H13 : Prf
  HT6 : T :: Δ ⊢ H13 : T3 = (T4 ↑ 1 # 1) [ ← #0 ∽ H10 ↑h 1]
  ============================
   Δ ⊢ ?13029 : λ [T], T3 = λ [T0], T4

subgoal 2 (ID 8953) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 open,)


eapply cAbsEq;[exact r|exact r0|eassumption..].
2 subgoals, subgoal 1 (ID 8953)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using ,)


destruct_ext2 H0 Δ.
2 subgoals, subgoal 1 (ID 13124)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  eq : ε x = ε (Π (A), B)
  HT : Δ ⊢ T : x
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using ,)

search_prod.
2 subgoals, subgoal 1 (ID 13360)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using ,)


destruct_ext H0 Δ (Π (X1), X2).
3 subgoals, subgoal 1 (ID 13398)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  t5 : Term
  x0 : Term
  eqt0 : ε t5 = ε F
  eq0 : ε x0 = ε (Π (A), B)
  Ht : Δ ⊢ t5 : x0
  ============================
   ε x0 = ε (Π (X1), X2)

subgoal 2 (ID 13434) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using ,)

simpl;rewrite eq;assumption.
2 subgoals, subgoal 1 (ID 13434)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  eq : (Π (ε X1), ε X2)%UT = (Π (ε A), ε B)%UT
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using ,)


clear eq;destruct_ext H2 Δ X1.
2 subgoals, subgoal 1 (ID 13517)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using ,)


destruct_ext2 H1 Δ.
2 subgoals, subgoal 1 (ID 13542)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  eq : ε x0 = ε (Π (A'), B')
  HT1 : Δ ⊢ T2 : x0
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using ,)

search_prod.
2 subgoals, subgoal 1 (ID 13783)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  eq : (Π (ε X3), ε X4)%UT = (Π (ε A'), ε B')%UT
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using ,)


destruct_ext H1 Δ (Π (X3), X4).
3 subgoals, subgoal 1 (ID 13821)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  eq : (Π (ε X3), ε X4)%UT = (Π (ε A'), ε B')%UT
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  t5 : Term
  x1 : Term
  eqt3 : ε t5 = ε F'
  eq0 : ε x1 = ε (Π (A'), B')
  Ht : Δ ⊢ t5 : x1
  ============================
   ε x1 = ε (Π (X3), X4)

subgoal 2 (ID 13857) is:
 exists (H' : Prf) (A'0 B'0 : Term),
   ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0
subgoal 3 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using ,)

simpl;rewrite eq;assumption.
2 subgoals, subgoal 1 (ID 13857)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  eq : (Π (ε X3), ε X4)%UT = (Π (ε A'), ε B')%UT
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  T3 : Term
  HT1 : Δ ⊢ T3 : Π (X3), X4
  eqt3 : ε T3 = ε F'
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using ,)


clear eq;destruct_ext H3 Δ X3.
2 subgoals, subgoal 1 (ID 13940)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  T3 : Term
  HT1 : Δ ⊢ T3 : Π (X3), X4
  eqt3 : ε T3 = ε F'
  T4 : Term
  HT2 : Δ ⊢ T4 : X3
  eqt4 : ε T4 = ε a'
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using ,)


destruct_eq H4 Δ.
2 subgoals, subgoal 1 (ID 14081)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  T3 : Term
  HT1 : Δ ⊢ T3 : Π (X3), X4
  eqt3 : ε T3 = ε F'
  T4 : Term
  HT2 : Δ ⊢ T4 : X3
  eqt4 : ε T4 = ε a'
  H14 : Prf
  HT3 : Δ ⊢ H14 : T0 = T3
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using ,)

destruct_eq H5 Δ.
2 subgoals, subgoal 1 (ID 14222)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  T3 : Term
  HT1 : Δ ⊢ T3 : Π (X3), X4
  eqt3 : ε T3 = ε F'
  T4 : Term
  HT2 : Δ ⊢ T4 : X3
  eqt4 : ε T4 = ε a'
  H14 : Prf
  HT3 : Δ ⊢ H14 : T0 = T3
  H15 : Prf
  HT4 : Δ ⊢ H15 : T1 = T4
  ============================
   exists (H' : Prf) (A'0 B'0 : Term),
     ε A'0 = ε (F · a) /\ ε B'0 = ε (F' · a') /\ Δ ⊢ H' : A'0 = B'0

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using ,)


econstructor;exists (T0 · T1);exists (T3 · T4).
2 subgoals, subgoal 1 (ID 14229)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  T3 : Term
  HT1 : Δ ⊢ T3 : Π (X3), X4
  eqt3 : ε T3 = ε F'
  T4 : Term
  HT2 : Δ ⊢ T4 : X3
  eqt4 : ε T4 = ε a'
  H14 : Prf
  HT3 : Δ ⊢ H14 : T0 = T3
  H15 : Prf
  HT4 : Δ ⊢ H15 : T1 = T4
  ============================
   ε (T0 · T1) = ε (F · a) /\
   ε (T3 · T4) = ε (F' · a') /\ Δ ⊢ ?14224 : T0 · T1 = T3 · T4

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 open,)


split;[simpl;f_equal;assumption|].
2 subgoals, subgoal 1 (ID 14232)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  T3 : Term
  HT1 : Δ ⊢ T3 : Π (X3), X4
  eqt3 : ε T3 = ε F'
  T4 : Term
  HT2 : Δ ⊢ T4 : X3
  eqt4 : ε T4 = ε a'
  H14 : Prf
  HT3 : Δ ⊢ H14 : T0 = T3
  H15 : Prf
  HT4 : Δ ⊢ H15 : T1 = T4
  ============================
   ε (T3 · T4) = ε (F' · a') /\ Δ ⊢ ?14224 : T0 · T1 = T3 · T4

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 open,)


split;[simpl;f_equal;assumption|].
2 subgoals, subgoal 1 (ID 14254)
  
  Γ : Env
  F : Term
  F' : Term
  a : Term
  a' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Prf
  K : Prf
  t : Γ ⊢ F : Π (A), B
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε F /\ ε B' = ε (Π (A), B) /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ F' : Π (A'), B'
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B'0 : Term,
         ε A'0 = ε F' /\ ε B'0 = ε (Π (A'), B') /\ Δ ⊢ A'0 : B'0
  t1 : Γ ⊢ a : A
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t2 : Γ ⊢ a' : A'
  H3 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A'0 B' : Term, ε A'0 = ε a' /\ ε B' = ε A' /\ Δ ⊢ A'0 : B'
  t3 : Γ ⊢ H : F = F'
  H4 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε F /\ ε B' = ε F' /\ Δ ⊢ H' : A' = B'
  t4 : Γ ⊢ K : a = a'
  H5 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε a /\ ε B' = ε a' /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H6 : Δ ⊣
  H7 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε F
  X1 : Term
  X2 : Term
  s0 : Sorts
  s1 : Sorts
  H9 : Δ ⊢ X1 : !s0
  Hetp : Δ ⊢ Π (X1), X2 : !s1
  H8 : ε X2 = ε B
  H10 : ε X1 = ε A
  T0 : Term
  HT : Δ ⊢ T0 : Π (X1), X2
  eqt0 : ε T0 = ε F
  T1 : Term
  HT0 : Δ ⊢ T1 : X1
  eqt1 : ε T1 = ε a
  T2 : Term
  x0 : Term
  eqt2 : ε T2 = ε F'
  X3 : Term
  X4 : Term
  s2 : Sorts
  s3 : Sorts
  H12 : Δ ⊢ X3 : !s2
  Hetp0 : Δ ⊢ Π (X3), X4 : !s3
  H11 : ε X4 = ε B'
  H13 : ε X3 = ε A'
  T3 : Term
  HT1 : Δ ⊢ T3 : Π (X3), X4
  eqt3 : ε T3 = ε F'
  T4 : Term
  HT2 : Δ ⊢ T4 : X3
  eqt4 : ε T4 = ε a'
  H14 : Prf
  HT3 : Δ ⊢ H14 : T0 = T3
  H15 : Prf
  HT4 : Δ ⊢ H15 : T1 = T4
  ============================
   Δ ⊢ ?14224 : T0 · T1 = T3 · T4

subgoal 2 (ID 8968) is:
 exists (H' : Prf) (A' B' : Term),
   ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 open,)


eapply cAppEq;eassumption.
1 subgoals, subgoal 1 (ID 8968)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'

(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 using ?14275 ?14274 , ?14274 using , ?14275 using , ?14276 using , ?14277 using , ?14278 using , ?14279 using ,)


destruct_ext2 H0 Δ.
1 subgoals, subgoal 1 (ID 14310)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'

(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 using ?14275 ?14274 , ?14274 using , ?14275 using , ?14276 using , ?14277 using , ?14278 using , ?14279 using ,)


destruct_ext H1 Δ !s.
1 subgoals, subgoal 1 (ID 14371)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  T0 : Term
  HT0 : Δ ⊢ T0 : !s
  eqt0 : ε T0 = ε B
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'

(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 using ?14275 ?14274 , ?14274 using , ?14275 using , ?14276 using , ?14277 using , ?14278 using , ?14279 using , ?14338 using , ?14339 using , ?14340 using , ?14362 using , ?14365 using , ?14368 using ,)


destruct_eq H2 Δ.
1 subgoals, subgoal 1 (ID 14512)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  T0 : Term
  HT0 : Δ ⊢ T0 : !s
  eqt0 : ε T0 = ε B
  H5 : Prf
  HT1 : Δ ⊢ H5 : x = T0
  ============================
   exists (H' : Prf) (A' B' : Term),
     ε A' = ε a /\ ε B' = ε (a ∽ H) /\ Δ ⊢ H' : A' = B'

(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 using ?14275 ?14274 , ?14274 using , ?14275 using , ?14276 using , ?14277 using , ?14278 using , ?14279 using , ?14338 using , ?14339 using , ?14340 using , ?14362 using , ?14365 using , ?14368 using , ?14421 using , ?14422 using , ?14423 using , ?14424 using , ?14425 using , ?14444 using , ?14447 using , ?14471 using , ?14472 using , ?14473 using , ?14474 using , ?14475 using , ?14496 using , ?14499 using ,)


econstructor;exists T;eexists (T _);intuition.
1 subgoals, subgoal 1 (ID 14526)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  t : Γ ⊢ a : A
  H0 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε a /\ ε B' = ε A /\ Δ ⊢ A' : B'
  t0 : Γ ⊢ B : !s
  H1 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists A' B' : Term, ε A' = ε B /\ ε B' = ε !s /\ Δ ⊢ A' : B'
  t1 : Γ ⊢ H : A = B
  H2 : forall Δ : Env,
       Δ ⊣ ->
       εc Γ = εc Δ ->
       exists (H' : Prf) (A' B' : Term),
         ε A' = ε A /\ ε B' = ε B /\ Δ ⊢ H' : A' = B'
  Δ : Env
  H3 : Δ ⊣
  H4 : εc Γ = εc Δ
  T : Term
  x : Term
  eqt : ε T = ε a
  eq : ε x = ε A
  HT : Δ ⊢ T : x
  T0 : Term
  HT0 : Δ ⊢ T0 : !s
  eqt0 : ε T0 = ε B
  H5 : Prf
  HT1 : Δ ⊢ H5 : x = T0
  ============================
   Δ ⊢ ?14514 : T = T ∽ ?14518

(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 using ?14275 ?14274 , ?14274 using , ?14275 using , ?14276 using , ?14277 using , ?14278 using , ?14279 using , ?14338 using , ?14339 using , ?14340 using , ?14362 using , ?14365 using , ?14368 using , ?14421 using , ?14422 using , ?14423 using , ?14424 using , ?14425 using , ?14444 using , ?14447 using , ?14471 using , ?14472 using , ?14473 using , ?14474 using , ?14475 using , ?14496 using , ?14499 using , ?14514 open, ?14518 open,)


eapply cIota;eassumption.
No more subgoals.
(dependent evars: ?8995 using , ?8996 using , ?8997 using , ?8998 using , ?9068 using , ?9069 using , ?9070 using , ?9092 using , ?9095 using , ?9098 using , ?9130 using , ?9160 using , ?9161 using , ?9162 using , ?9184 using , ?9187 using , ?9190 using , ?9272 using , ?9273 using , ?9304 using , ?9305 using , ?9306 using , ?9328 using , ?9331 using , ?9334 using , ?9366 using , ?9396 using , ?9397 using , ?9398 using , ?9420 using , ?9423 using , ?9426 using , ?9458 using , ?9495 using , ?9498 using , ?9503 using , ?9504 using , ?9505 using , ?9532 using , ?9534 using , ?9537 using , ?9679 using , ?9680 using , ?9681 using , ?9970 using , ?9971 using , ?9972 using , ?9999 using , ?10010 using , ?10013 using , ?10053 using , ?10056 using , ?10061 using , ?10062 using , ?10063 using , ?10090 using , ?10092 using , ?10095 using , ?10261 using , ?10316 using , ?10317 using , ?10318 using , ?10340 using , ?10343 using , ?10346 using , ?10399 using , ?10400 using , ?10401 using , ?10402 using , ?10403 using , ?10422 using , ?10425 using , ?10449 using , ?10450 using , ?10451 using , ?10452 using , ?10453 using , ?10474 using , ?10477 using , ?10491 using , ?10537 using , ?10538 using , ?10568 using ?10582 , ?10571 using , ?10574 using , ?10582 using , ?10595 using , ?10651 using ?10665 , ?10654 using , ?10657 using , ?10665 using , ?10779 using , ?10780 using , ?10781 using , ?10782 using , ?10797 using , ?10798 using , ?10799 using , ?10800 using , ?10815 using , ?10816 using , ?10817 using , ?10818 using , ?10819 using , ?10840 using ?10909 ?10908 , ?10908 using , ?10909 using ?10914 ?10913 , ?10910 using , ?10913 using , ?10914 using , ?10915 using , ?10945 using , ?10946 using , ?10947 using , ?10969 using , ?10972 using , ?10975 using , ?11013 using , ?11016 using , ?11021 using , ?11022 using , ?11023 using , ?11050 using , ?11052 using , ?11055 using , ?11087 using , ?11117 using , ?11118 using , ?11119 using , ?11141 using , ?11144 using , ?11147 using , ?11179 using , ?11216 using , ?11219 using , ?11224 using , ?11225 using , ?11226 using , ?11253 using , ?11255 using , ?11258 using , ?11263 using , ?11341 using , ?11342 using , ?11343 using , ?11344 using , ?11377 using , ?11378 using , ?11379 using , ?11401 using , ?11404 using , ?11407 using , ?11438 using , ?11439 using , ?11440 using , ?11462 using , ?11465 using , ?11468 using , ?11500 using , ?11530 using , ?11531 using , ?11532 using , ?11554 using , ?11557 using , ?11560 using , ?11592 using , ?11622 using , ?11623 using , ?11624 using , ?11646 using , ?11649 using , ?11652 using , ?11705 using , ?11706 using , ?11707 using , ?11708 using , ?11709 using , ?11728 using , ?11731 using , ?11755 using , ?11756 using , ?11757 using , ?11758 using , ?11759 using , ?11780 using , ?11783 using , ?11853 using , ?11854 using , ?11855 using , ?11856 using , ?11857 using ?11868 ?11867 , ?11858 using , ?11866 using , ?11867 using , ?11868 using , ?11904 using , ?11952 using , ?11953 using , ?11954 using , ?11955 using , ?11956 using , ?11975 using , ?11978 using , ?12002 using , ?12003 using , ?12004 using , ?12005 using , ?12006 using , ?12027 using , ?12030 using , ?12045 using ?12097 ?12096 ?12095 , ?12095 using , ?12096 using , ?12097 using , ?12098 using , ?12099 using , ?12100 using , ?12101 using , ?12102 using , ?12103 using , ?12139 using , ?12140 using , ?12141 using , ?12163 using , ?12166 using , ?12169 using , ?12200 using , ?12201 using , ?12202 using , ?12224 using , ?12227 using , ?12230 using , ?12262 using , ?12292 using , ?12293 using , ?12294 using , ?12316 using , ?12319 using , ?12322 using , ?12354 using , ?12384 using , ?12385 using , ?12386 using , ?12408 using , ?12411 using , ?12414 using , ?12446 using , ?12483 using , ?12486 using , ?12491 using , ?12492 using , ?12493 using , ?12520 using , ?12522 using , ?12525 using , ?12557 using , ?12594 using , ?12597 using , ?12602 using , ?12603 using , ?12604 using , ?12631 using , ?12633 using , ?12636 using , ?12689 using , ?12690 using , ?12691 using , ?12692 using , ?12693 using , ?12712 using , ?12715 using , ?12739 using , ?12740 using , ?12741 using , ?12742 using , ?12743 using , ?12764 using , ?12767 using , ?12837 using , ?12838 using , ?12839 using , ?12840 using , ?12841 using ?12852 ?12851 , ?12842 using , ?12850 using , ?12851 using , ?12852 using , ?12888 using , ?12936 using , ?12937 using , ?12938 using , ?12939 using , ?12940 using , ?12959 using , ?12962 using , ?12986 using , ?12987 using , ?12988 using , ?12989 using , ?12990 using , ?13011 using , ?13014 using , ?13029 using ?13081 ?13080 ?13079 , ?13079 using , ?13080 using , ?13081 using , ?13082 using , ?13083 using , ?13084 using , ?13085 using , ?13086 using , ?13087 using , ?13088 using , ?13089 using , ?13388 using , ?13389 using , ?13390 using , ?13417 using , ?13428 using , ?13431 using , ?13472 using , ?13475 using , ?13480 using , ?13481 using , ?13482 using , ?13509 using , ?13511 using , ?13514 using , ?13811 using , ?13812 using , ?13813 using , ?13840 using , ?13851 using , ?13854 using , ?13895 using , ?13898 using , ?13903 using , ?13904 using , ?13905 using , ?13932 using , ?13934 using , ?13937 using , ?13990 using , ?13991 using , ?13992 using , ?13993 using , ?13994 using , ?14013 using , ?14016 using , ?14040 using , ?14041 using , ?14042 using , ?14043 using , ?14044 using , ?14065 using , ?14068 using , ?14131 using , ?14132 using , ?14133 using , ?14134 using , ?14135 using , ?14154 using , ?14157 using , ?14181 using , ?14182 using , ?14183 using , ?14184 using , ?14185 using , ?14206 using , ?14209 using , ?14224 using ?14275 ?14274 , ?14274 using , ?14275 using , ?14276 using , ?14277 using , ?14278 using , ?14279 using , ?14338 using , ?14339 using , ?14340 using , ?14362 using , ?14365 using , ?14368 using , ?14421 using , ?14422 using , ?14423 using , ?14424 using , ?14425 using , ?14444 using , ?14447 using , ?14471 using , ?14472 using , ?14473 using , ?14474 using , ?14475 using , ?14496 using , ?14499 using , ?14514 using ?14518 , ?14518 using , ?14575 using , ?14576 using , ?14577 using ,)


Qed.
context_conversion is defined



Multiple substitutions.

We want to prove that if the following assumptions hold A::Γ ⊢ F : N Γ ⊢ H : M1 = M2 Γ ⊢ M1 : A Γ ⊢ M2 : A then the following conclusion also holds: Γ ⊢ F M1 = F M2 Simply proving this by induction on the first assumption does not work, we need to generalize the context, such that A can be anywhere in the context Γ. To let everything work, notation becomes messy.
Inductive subst_mult_env : nat->Env->list Prf->Env-> Prop :=
| msub_O : forall n Γ,subst_mult_env n Γ nil Γ
| msub_S : forall n Γ H HH Γ' Γs Γ1 Γ2 A1 A2 s,
subst_mult_env (S n) Γ' HH Γ ->trunc (S n) Γ Γs->
Γs A2 : !s -> Γs H : A2 = A1 -> ins_in_env Γs A2 (S n) Γ Γ1->
sub_in_env (A2::Γs) (#0 H h 1) (A11) n Γ1 Γ2->
subst_mult_env n Γ' (H::HH) Γ2.
subst_mult_env is defined
subst_mult_env_ind is defined



Fixpoint subst_mult_term (n:nat) (M:Term) (HH:list Prf) {struct HH} := match HH with
| nil => M
| H'::HH' => (subst_mult_term (S n) M HH') 1 # (S n) [n #0 H' h 1]
end.
subst_mult_term is recursively defined (decreasing on 3rd argument)



Fixpoint subst_mult_prf (n:nat) (H:Prf) (HH:list Prf) {struct HH} := match HH with
| nil => H
| H'::HH' => (subst_mult_prf (S n) H HH') h 1 # (S n) [n h #0 H' h 1]
end.
subst_mult_prf is recursively defined (decreasing on 3rd argument)



Lemma subst_mult_typ : forall n Γ HH Γ' M' N', Γ' M' : N' -> subst_mult_env n Γ' HH Γ ->
                        Γ subst_mult_term n M' HH : subst_mult_term n N' HH.
1 subgoals, subgoal 1 (ID 14622)
  
  ============================
   forall (n : nat) (Γ : Env) (HH : list Prf) (Γ' : Env) (M' N' : Term),
   Γ' ⊢ M' : N' ->
   subst_mult_env n Γ' HH Γ ->
   Γ ⊢ subst_mult_term n M' HH : subst_mult_term n N' HH

(dependent evars:)


induction 2;simpl.
2 subgoals, subgoal 1 (ID 14674)
  
  M' : Term
  N' : Term
  Γ : Env
  H : Γ ⊢ M' : N'
  n : nat
  ============================
   Γ ⊢ M' : N'

subgoal 2 (ID 14675) is:
 Γ2 ⊢ (subst_mult_term (S n) M' HH) ↑ 1 # (S n) [n ← #0 ∽ H0 ↑h 1]
 : (subst_mult_term (S n) N' HH) ↑ 1 # (S n) [n ← #0 ∽ H0 ↑h 1]
(dependent evars:)


assumption.
1 subgoals, subgoal 1 (ID 14675)
  
  M' : Term
  N' : Term
  Γ' : Env
  H : Γ' ⊢ M' : N'
  n : nat
  Γ : Env
  H0 : Prf
  HH : list Prf
  Γs : list Term
  Γ1 : Env
  Γ2 : Env
  A1 : Term
  A2 : Term
  s : Sorts
  H1 : subst_mult_env (S n) Γ' HH Γ
  H2 : trunc (S n) Γ Γs
  H3 : Γs ⊢ A2 : !s
  H4 : Γs ⊢ H0 : A2 = A1
  H5 : ins_in_env Γs A2 (S n) Γ Γ1
  H6 : sub_in_env (A2 :: Γs) (#0 ∽ H0 ↑h 1) A1 ↑ 1 n Γ1 Γ2
  IHsubst_mult_env : Γ' ⊢ M' : N' ->
                     Γ ⊢ subst_mult_term (S n) M' HH
                     : subst_mult_term (S n) N' HH
  ============================
   Γ2 ⊢ (subst_mult_term (S n) M' HH) ↑ 1 # (S n) [n ← #0 ∽ H0 ↑h 1]
   : (subst_mult_term (S n) N' HH) ↑ 1 # (S n) [n ← #0 ∽ H0 ↑h 1]

(dependent evars:)


eapply subst_typ;[apply IHsubst_mult_env|..];eassumption.
No more subgoals.
(dependent evars: ?14676 using , ?14677 using , ?14678 using , ?14679 using , ?14680 using , ?14681 using ,)


Qed.
subst_mult_typ is defined



Lemma subst_mult_wf : forall n Γ HH Γ', Γ' -> subst_mult_env n Γ' HH Γ -> Γ .
1 subgoals, subgoal 1 (ID 14701)
  
  ============================
   forall (n : nat) (Γ : Env) (HH : list Prf) (Γ' : Env),
   Γ' ⊣ -> subst_mult_env n Γ' HH Γ -> Γ ⊣

(dependent evars:)


induction 2;simpl.
2 subgoals, subgoal 1 (ID 14751)
  
  Γ : Env
  H : Γ ⊣
  n : nat
  ============================
   Γ ⊣

subgoal 2 (ID 14752) is:
 Γ2 ⊣
(dependent evars:)


assumption.
1 subgoals, subgoal 1 (ID 14752)
  
  Γ' : Env
  H : Γ' ⊣
  n : nat
  Γ : Env
  H0 : Prf
  HH : list Prf
  Γs : list Term
  Γ1 : Env
  Γ2 : Env
  A1 : Term
  A2 : Term
  s : Sorts
  H1 : subst_mult_env (S n) Γ' HH Γ
  H2 : trunc (S n) Γ Γs
  H3 : Γs ⊢ A2 : !s
  H4 : Γs ⊢ H0 : A2 = A1
  H5 : ins_in_env Γs A2 (S n) Γ Γ1
  H6 : sub_in_env (A2 :: Γs) (#0 ∽ H0 ↑h 1) A1 ↑ 1 n Γ1 Γ2
  IHsubst_mult_env : Γ' ⊣ -> Γ ⊣
  ============================
   Γ2 ⊣

(dependent evars:)


eapply subst_wf;[apply IHsubst_mult_env|..];eassumption.
No more subgoals.
(dependent evars: ?14753 using , ?14754 using , ?14755 using , ?14756 using , ?14757 using , ?14758 using , ?14759 using , ?14760 using ,)


Qed.
subst_mult_wf is defined



Lemma subst_mult_eq : forall n Γ HH Γ' H' M' N', Γ' H' : M' = N' -> subst_mult_env n Γ' HH Γ
                        -> Γ subst_mult_prf n H' HH : subst_mult_term n M' HH = subst_mult_term n N' HH.
1 subgoals, subgoal 1 (ID 14781)
  
  ============================
   forall (n : nat) (Γ : Env) (HH : list Prf) (Γ' : Env) 
     (H' : Prf) (M' N' : Term),
   Γ' ⊢ H' : M' = N' ->
   subst_mult_env n Γ' HH Γ ->
   Γ ⊢ subst_mult_prf n H' HH : subst_mult_term n M' HH =
   subst_mult_term n N' HH

(dependent evars:)


induction 2;simpl.
2 subgoals, subgoal 1 (ID 14834)
  
  H' : Prf
  M' : Term
  N' : Term
  Γ : Env
  H : Γ ⊢ H' : M' = N'
  n : nat
  ============================
   Γ ⊢ H' : M' = N'

subgoal 2 (ID 14835) is:
 Γ2 ⊢ (subst_mult_prf (S n) H' HH) ↑h 1 # (S n) [n ←h #0 ∽ H0 ↑h 1]
 : (subst_mult_term (S n) M' HH) ↑ 1 # (S n) [n ← #0 ∽ H0 ↑h 1] =
 (subst_mult_term (S n) N' HH) ↑ 1 # (S n) [n ← #0 ∽ H0 ↑h 1]
(dependent evars:)


assumption.
1 subgoals, subgoal 1 (ID 14835)
  
  H' : Prf
  M' : Term
  N' : Term
  Γ' : Env
  H : Γ' ⊢ H' : M' = N'
  n : nat
  Γ : Env
  H0 : Prf
  HH : list Prf
  Γs : list Term
  Γ1 : Env
  Γ2 : Env
  A1 : Term
  A2 : Term
  s : Sorts
  H1 : subst_mult_env (S n) Γ' HH Γ
  H2 : trunc (S n) Γ Γs
  H3 : Γs ⊢ A2 : !s
  H4 : Γs ⊢ H0 : A2 = A1
  H5 : ins_in_env Γs A2 (S n) Γ Γ1
  H6 : sub_in_env (A2 :: Γs) (#0 ∽ H0 ↑h 1) A1 ↑ 1 n Γ1 Γ2
  IHsubst_mult_env : Γ' ⊢ H' : M' = N' ->
                     Γ ⊢ subst_mult_prf (S n) H' HH
                     : subst_mult_term (S n) M' HH =
                     subst_mult_term (S n) N' HH
  ============================
   Γ2 ⊢ (subst_mult_prf (S n) H' HH) ↑h 1 # (S n) [n ←h #0 ∽ H0 ↑h 1]
   : (subst_mult_term (S n) M' HH) ↑ 1 # (S n) [n ← #0 ∽ H0 ↑h 1] =
   (subst_mult_term (S n) N' HH) ↑ 1 # (S n) [n ← #0 ∽ H0 ↑h 1]

(dependent evars:)


eapply subst_eq;[apply IHsubst_mult_env|..];eassumption.
No more subgoals.
(dependent evars: ?14836 using , ?14837 using , ?14838 using , ?14839 using , ?14840 using , ?14841 using ,)


Qed.
subst_mult_eq is defined



Lemma subst_mult_lift_inf : forall HH n M' i,i<=n->subst_mult_term n M'i HH=(subst_mult_term (n-i) M' HH)↑i.
1 subgoals, subgoal 1 (ID 14863)
  
  ============================
   forall (HH : list Prf) (n : nat) (M' : Term) (i : nat),
   i <= n ->
   subst_mult_term n M' ↑ i HH = (subst_mult_term (n - i) M' HH) ↑ i

(dependent evars:)


induction HH;intros;simpl.
2 subgoals, subgoal 1 (ID 14880)
  
  n : nat
  M' : Term
  i : nat
  H : i <= n
  ============================
   M' ↑ i = M' ↑ i

subgoal 2 (ID 14881) is:
 (subst_mult_term (S n) M' ↑ i HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 (subst_mult_term (S (n - i)) M' HH) ↑ 1 # (S (n - i)) [
 (n - i) ← #0 ∽ a ↑h 1] ↑ i
(dependent evars:)


reflexivity.
1 subgoals, subgoal 1 (ID 14881)
  
  a : Prf
  HH : list Prf
  IHHH : forall (n : nat) (M' : Term) (i : nat),
         i <= n ->
         subst_mult_term n M' ↑ i HH = (subst_mult_term (n - i) M' HH) ↑ i
  n : nat
  M' : Term
  i : nat
  H : i <= n
  ============================
   (subst_mult_term (S n) M' ↑ i HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
   (subst_mult_term (S (n - i)) M' HH) ↑ 1 # (S (n - i)) [
   (n - i) ← #0 ∽ a ↑h 1] ↑ i

(dependent evars:)


rewrite IHHH;[|apply le_trans with n;[assumption|do 2 constructor]].
1 subgoals, subgoal 1 (ID 14883)
  
  a : Prf
  HH : list Prf
  IHHH : forall (n : nat) (M' : Term) (i : nat),
         i <= n ->
         subst_mult_term n M' ↑ i HH = (subst_mult_term (n - i) M' HH) ↑ i
  n : nat
  M' : Term
  i : nat
  H : i <= n
  ============================
   (subst_mult_term (S n - i) M' HH) ↑ i ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
   (subst_mult_term (S (n - i)) M' HH) ↑ 1 # (S (n - i)) [
   (n - i) ← #0 ∽ a ↑h 1] ↑ i

(dependent evars:)


rewrite <- (le_plus_minus_r i (S n)) at 1;[|constructor;assumption];
rewrite_l liftP2;[|apply le_0_n].
1 subgoals, subgoal 1 (ID 15074)
  
  a : Prf
  HH : list Prf
  IHHH : forall (n : nat) (M' : Term) (i : nat),
         i <= n ->
         subst_mult_term n M' ↑ i HH = (subst_mult_term (n - i) M' HH) ↑ i
  n : nat
  M' : Term
  i : nat
  H : i <= n
  ============================
   (subst_mult_term (S n - i) M' HH) ↑ 1 # (S n - i) ↑ i [n ← #0 ∽ a ↑h 1] =
   (subst_mult_term (S (n - i)) M' HH) ↑ 1 # (S (n - i)) [
   (n - i) ← #0 ∽ a ↑h 1] ↑ i

(dependent evars:)


rewrite <- (le_plus_minus_r i n) at 3;[|assumption];
rewrite_l substP2;[|apply le_0_n].
1 subgoals, subgoal 1 (ID 15204)
  
  a : Prf
  HH : list Prf
  IHHH : forall (n : nat) (M' : Term) (i : nat),
         i <= n ->
         subst_mult_term n M' ↑ i HH = (subst_mult_term (n - i) M' HH) ↑ i
  n : nat
  M' : Term
  i : nat
  H : i <= n
  ============================
   (subst_mult_term (S n - i) M' HH) ↑ 1 # (S n - i) [(n - i) ← #0 ∽ a ↑h 1]
   ↑ i =
   (subst_mult_term (S (n - i)) M' HH) ↑ 1 # (S (n - i)) [
   (n - i) ← #0 ∽ a ↑h 1] ↑ i

(dependent evars:)


rewrite minus_Sn_m;[reflexivity|assumption].
No more subgoals.
(dependent evars:)


Qed.
subst_mult_lift_inf is defined



Lemma subst_mult_lift_sup : forall HH n M' i,length HH+n<=i->subst_mult_term n M'i HH=M'i.
1 subgoals, subgoal 1 (ID 15222)
  
  ============================
   forall (HH : list Prf) (n : nat) (M' : Term) (i : nat),
   length HH + n <= i -> subst_mult_term n M' ↑ i HH = M' ↑ i

(dependent evars:)


induction HH;intros;simpl in *.
2 subgoals, subgoal 1 (ID 15243)
  
  n : nat
  M' : Term
  i : nat
  H : n <= i
  ============================
   M' ↑ i = M' ↑ i

subgoal 2 (ID 15251) is:
 (subst_mult_term (S n) M' ↑ i HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] = M' ↑ i
(dependent evars:)


reflexivity.
1 subgoals, subgoal 1 (ID 15251)
  
  a : Prf
  HH : list Prf
  IHHH : forall (n : nat) (M' : Term) (i : nat),
         length HH + n <= i -> subst_mult_term n M' ↑ i HH = M' ↑ i
  n : nat
  M' : Term
  i : nat
  H : S (length HH + n) <= i
  ============================
   (subst_mult_term (S n) M' ↑ i HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] = M' ↑ i

(dependent evars:)


rewrite IHHH;[|rewrite <- plus_n_Sm;assumption].
1 subgoals, subgoal 1 (ID 15253)
  
  a : Prf
  HH : list Prf
  IHHH : forall (n : nat) (M' : Term) (i : nat),
         length HH + n <= i -> subst_mult_term n M' ↑ i HH = M' ↑ i
  n : nat
  M' : Term
  i : nat
  H : S (length HH + n) <= i
  ============================
   M' ↑ i ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] = M' ↑ i

(dependent evars:)


assert (S n<=i) by (apply le_trans with (S (length HH + n));[apply le_n_S;apply le_plus_r|assumption]).
1 subgoals, subgoal 1 (ID 15257)
  
  a : Prf
  HH : list Prf
  IHHH : forall (n : nat) (M' : Term) (i : nat),
         length HH + n <= i -> subst_mult_term n M' ↑ i HH = M' ↑ i
  n : nat
  M' : Term
  i : nat
  H : S (length HH + n) <= i
  H0 : S n <= i
  ============================
   M' ↑ i ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] = M' ↑ i

(dependent evars:)


rewrite_l liftP3;[|apply le_0_n|simpl;assumption].
1 subgoals, subgoal 1 (ID 15265)
  
  a : Prf
  HH : list Prf
  IHHH : forall (n : nat) (M' : Term) (i : nat),
         length HH + n <= i -> subst_mult_term n M' ↑ i HH = M' ↑ i
  n : nat
  M' : Term
  i : nat
  H : S (length HH + n) <= i
  H0 : S n <= i
  ============================
   M' ↑ (1 + i) [n ← #0 ∽ a ↑h 1] = M' ↑ i

(dependent evars:)


rewrite_l substP3;[reflexivity|apply le_0_n|simpl;apply le_trans with (S n);[do 2 constructor|assumption]].
No more subgoals.
(dependent evars:)


Qed.
subst_mult_lift_sup is defined



Lemma subst_mult_sort : forall HH n s,subst_mult_term n !s HH=!s.
1 subgoals, subgoal 1 (ID 15293)
  
  ============================
   forall (HH : list Prf) (n : nat) (s : Sorts), subst_mult_term n !s HH = !s

(dependent evars:)


induction HH;intros;simpl;try rewrite IHHH;reflexivity.
No more subgoals.
(dependent evars:)


Qed.
subst_mult_sort is defined



Lemma subst_mult_var : forall HH v n,n>v->subst_mult_term n #v HH=#v.
1 subgoals, subgoal 1 (ID 15319)
  
  ============================
   forall (HH : list Prf) (v n : nat), n > v -> subst_mult_term n #v HH = #v

(dependent evars:)


induction HH;intros;simpl.
2 subgoals, subgoal 1 (ID 15334)
  
  v : nat
  n : nat
  H : n > v
  ============================
   #v = #v

subgoal 2 (ID 15335) is:
 (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] = #v
(dependent evars:)


reflexivity.
1 subgoals, subgoal 1 (ID 15335)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  ============================
   (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] = #v

(dependent evars:)


assert (S n>v).
2 subgoals, subgoal 1 (ID 15337)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  ============================
   S n > v

subgoal 2 (ID 15338) is:
 (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] = #v
(dependent evars:)

constructor;assumption.
1 subgoals, subgoal 1 (ID 15338)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  H0 : S n > v
  ============================
   (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] = #v

(dependent evars:)


erewrite IHHH;[unfold lift_rec|assumption].
1 subgoals, subgoal 1 (ID 15344)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  H0 : S n > v
  ============================
   (if le_gt_dec (S n) v then #(1 + v) else #v) [n ← #0 ∽ a ↑h 1] = #v

(dependent evars:)


destruct (le_gt_dec (S n) v).
2 subgoals, subgoal 1 (ID 15353)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  H0 : S n > v
  l : S n <= v
  ============================
   #(1 + v) [n ← #0 ∽ a ↑h 1] = #v

subgoal 2 (ID 15354) is:
 #v [n ← #0 ∽ a ↑h 1] = #v
(dependent evars:)

destruct (lt_irrefl v).
2 subgoals, subgoal 1 (ID 15359)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  H0 : S n > v
  l : S n <= v
  ============================
   v < v

subgoal 2 (ID 15354) is:
 #v [n ← #0 ∽ a ↑h 1] = #v
(dependent evars:)


apply lt_le_trans with (S n);assumption.
1 subgoals, subgoal 1 (ID 15354)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  H0 : S n > v
  g : S n > v
  ============================
   #v [n ← #0 ∽ a ↑h 1] = #v

(dependent evars:)


unfold subst_rec;destruct (lt_eq_lt_dec v n) as [[]|].
3 subgoals, subgoal 1 (ID 15376)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  H0 : S n > v
  g : S n > v
  l : v < n
  ============================
   #v = #v

subgoal 2 (ID 15377) is:
 (#0 ∽ a ↑h 1) ↑ n = #v
subgoal 3 (ID 15378) is:
 #(v - 1) = #v
(dependent evars:)


reflexivity.
2 subgoals, subgoal 1 (ID 15377)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  H0 : S n > v
  g : S n > v
  e : v = n
  ============================
   (#0 ∽ a ↑h 1) ↑ n = #v

subgoal 2 (ID 15378) is:
 #(v - 1) = #v
(dependent evars:)


subst;destruct (lt_irrefl _ H).
1 subgoals, subgoal 1 (ID 15378)
  
  a : Prf
  HH : list Prf
  IHHH : forall v n : nat, n > v -> subst_mult_term n #v HH = #v
  v : nat
  n : nat
  H : n > v
  H0 : S n > v
  g : S n > v
  l : n < v
  ============================
   #(v - 1) = #v

(dependent evars:)


destruct (lt_irrefl n);eapply lt_trans;eassumption.
No more subgoals.
(dependent evars: ?15395 using ,)


Qed.
subst_mult_var is defined



Lemma subst_mult_prod : forall HH A B n,subst_mult_term n (Π(A),B) HH=Π(subst_mult_term n A HH),subst_mult_term (S n) B HH.
1 subgoals, subgoal 1 (ID 15408)
  
  ============================
   forall (HH : list Prf) (A B : Term) (n : nat),
   subst_mult_term n (Π (A), B) HH =
   Π (subst_mult_term n A HH), subst_mult_term (S n) B HH

(dependent evars:)


induction HH;intros;[|simpl;rewrite IHHH];simpl;reflexivity.
No more subgoals.
(dependent evars:)


Qed.
subst_mult_prod is defined


Lemma subst_mult_abs : forall HH A B n,subst_mult_term n (λ[A],B) HH=λ[subst_mult_term n A HH],subst_mult_term (S n) B HH.
1 subgoals, subgoal 1 (ID 15439)
  
  ============================
   forall (HH : list Prf) (A B : Term) (n : nat),
   subst_mult_term n (λ [A], B) HH =
   λ [subst_mult_term n A HH], subst_mult_term (S n) B HH

(dependent evars:)


induction HH;intros;[|simpl;rewrite IHHH];simpl;reflexivity.
No more subgoals.
(dependent evars:)


Qed.
subst_mult_abs is defined


Lemma subst_mult_app : forall HH A B n,subst_mult_term n (A·B) HH=subst_mult_term n A HH·subst_mult_term n B HH.
1 subgoals, subgoal 1 (ID 15470)
  
  ============================
   forall (HH : list Prf) (A B : Term) (n : nat),
   subst_mult_term n (A · B) HH =
   subst_mult_term n A HH · subst_mult_term n B HH

(dependent evars:)


induction HH;intros;[|simpl;rewrite IHHH];simpl;reflexivity.
No more subgoals.
(dependent evars:)


Qed.
subst_mult_app is defined


Lemma subst_mult_conv : forall HH A H n,subst_mult_term n (AH) HH=subst_mult_term n A HHsubst_mult_prf n H HH.
1 subgoals, subgoal 1 (ID 15501)
  
  ============================
   forall (HH : list Prf) (A : Term) (H : Prf) (n : nat),
   subst_mult_term n (A ∽ H) HH =
   subst_mult_term n A HH ∽ subst_mult_prf n H HH

(dependent evars:)


induction HH;intros;[|simpl;rewrite IHHH];simpl;reflexivity.
No more subgoals.
(dependent evars:)


Qed.
subst_mult_conv is defined



Lemma subst_mult_cons : forall HH n Γ' Γ A', subst_mult_env n Γ' HH Γ->subst_mult_env (S n) (A'::Γ') HH (subst_mult_term n A' HH::Γ).
1 subgoals, subgoal 1 (ID 15534)
  
  ============================
   forall (HH : list Prf) (n : nat) (Γ' Γ : Env) (A' : Term),
   subst_mult_env n Γ' HH Γ ->
   subst_mult_env (S n) (A' :: Γ') HH (subst_mult_term n A' HH :: Γ)

(dependent evars:)


induction 1;simpl;econstructor;try eassumption;econstructor;eassumption.
No more subgoals.
(dependent evars: ?15583 using , ?15584 using , ?15585 using ?15602 ?15601 , ?15586 using , ?15587 using , ?15588 using , ?15600 using , ?15601 using , ?15602 using ,)


Qed.
subst_mult_cons is defined



tactic needed for subst_mult_trunc

Local Ltac invert :=
repeat match goal with
| H : sub_in_env _ _ _ (S _) _ _ |- _ => inversion H;subst;clear H
| H : sub_in_env _ _ _ 0 _ _ |- _ => inversion H;subst;clear H
| H : trunc 0 _ _ |- _ => inversion H;subst;clear H
| H : trunc (S _) _ _ |- _ => inversion H;subst;clear H
| H : ins_in_env _ _ (S _) _ _ |- _ => inversion H;subst;clear H
| H : ins_in_env _ _ 0 _ _ |- _ => inversion H;subst;clear H
| H : subst_mult_env _ _ (_::_) _|- _ => inversion H;subst;clear H
| H : subst_mult_env _ _ nil _ |- _ => inversion H;subst;clear H
end;
repeat match goal with
| H : ?x = ?x |- _ => clear H
| H : ?x _ = ?x _ |- _ => injection H;intros;subst;clear H
| H : ?x _ _ = ?x _ _ |- _ => injection H;intros;subst;clear H
| H : ?x _ _ _ = ?x _ _ _ |- _ => injection H;intros;subst;clear H
end.
invert is defined



Lemma subst_mult_trunc : forall n Γ HH Γ' A A',subst_mult_env (S n) (A'::Γ') HH (A::Γ) -> subst_mult_env n Γ' HH Γ.
1 subgoals, subgoal 1 (ID 15624)
  
  ============================
   forall (n : nat) (Γ : list Term) (HH : list Prf) 
     (Γ' : list Term) (A A' : Term),
   subst_mult_env (S n) (A' :: Γ') HH (A :: Γ) -> subst_mult_env n Γ' HH Γ

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 15631)
  
  n : nat
  Γ : list Term
  HH : list Prf
  Γ' : list Term
  A : Term
  A' : Term
  H : subst_mult_env (S n) (A' :: Γ') HH (A :: Γ)
  ============================
   subst_mult_env n Γ' HH Γ

(dependent evars:)


remember (S n) as n2;remember (A::Γ) as Γ2;remember (A'::Γ') as Γ3;
revert n A A' Γ Γ' Heqn2 HeqΓ2 HeqΓ3.
1 subgoals, subgoal 1 (ID 15656)
  
  HH : list Prf
  n2 : nat
  Γ2 : list Term
  Γ3 : list Term
  H : subst_mult_env n2 Γ3 HH Γ2
  ============================
   forall (n : nat) (A A' : Term) (Γ Γ' : list Term),
   n2 = S n -> Γ2 = A :: Γ -> Γ3 = A' :: Γ' -> subst_mult_env n Γ' HH Γ

(dependent evars:)


induction H;intros;subst;invert.
2 subgoals, subgoal 1 (ID 15756)
  
  n0 : nat
  A' : Term
  Γ' : list Term
  ============================
   subst_mult_env n0 Γ' nil Γ'

subgoal 2 (ID 16130) is:
 subst_mult_env n0 Γ'0 (H :: HH) Γ0
(dependent evars:)

econstructor.
1 subgoals, subgoal 1 (ID 16130)
  
  H : Prf
  HH : list Prf
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H2 : Γs ⊢ A2 : !s
  H3 : Γs ⊢ H : A2 = A1
  n0 : nat
  A' : Term
  Γ0 : list Term
  Γ'0 : list Term
  x : Term
  Γ : list Term
  x0 : Term
  H5 : trunc n0 Γ Γs
  H0 : subst_mult_env (S (S n0)) (A' :: Γ'0) HH (x :: x0 :: Γ)
  IHsubst_mult_env : forall (n : nat) (A A'0 : Term) (Γ0 Γ' : list Term),
                     S (S n0) = S n ->
                     x :: x0 :: Γ = A :: Γ0 ->
                     A' :: Γ'0 = A'0 :: Γ' -> subst_mult_env n Γ' HH Γ0
  Δ' : Env
  H10 : ins_in_env Γs A2 n0 Γ Δ'
  H9 : sub_in_env (A2 :: Γs) (#0 ∽ H ↑h 1) A1 ↑ 1 n0 (x0 ↑ 1 # n0 :: Δ') Γ0
  ============================
   subst_mult_env n0 Γ'0 (H :: HH) Γ0

(dependent evars:)


econstructor;[eapply IHsubst_mult_env;reflexivity|try eassumption;econstructor;eassumption..].
No more subgoals.
(dependent evars: ?16134 using , ?16135 using , ?16136 using ?16161 ?16160 , ?16137 using , ?16138 using , ?16139 using , ?16146 using , ?16147 using , ?16159 using , ?16160 using , ?16161 using ,)


Qed.
subst_mult_trunc is defined



Lemma subst_mult_var_P2 : forall HH v n x,n<=v->v<n+length HH->subst_mult_term n #v HH=#v(nth (v-n) HH x)↑h(v+1).
1 subgoals, subgoal 1 (ID 16179)
  
  ============================
   forall (HH : list Prf) (v n : nat) (x : Prf),
   n <= v ->
   v < n + length HH ->
   subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)

(dependent evars:)


induction HH;intros;simpl in *.
2 subgoals, subgoal 1 (ID 16203)
  
  v : nat
  n : nat
  x : Prf
  H : n <= v
  H0 : v < n + 0
  ============================
   #v = #v ∽ match v - n with
             | 0 => x
             | S _ => x
             end ↑h (v + 1)

subgoal 2 (ID 16212) is:
 (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #v ∽ match v - n with
      | 0 => a
      | S m => nth m HH x
      end ↑h (v + 1)
(dependent evars:)


rewrite <- plus_n_O in H0;destruct lt_irrefl with n;apply le_lt_trans with v;assumption.
1 subgoals, subgoal 1 (ID 16212)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  n : nat
  x : Prf
  H : n <= v
  H0 : v < n + S (length HH)
  ============================
   (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
   #v ∽ match v - n with
        | 0 => a
        | S m => nth m HH x
        end ↑h (v + 1)

(dependent evars:)


inversion H.
2 subgoals, subgoal 1 (ID 16232)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  n : nat
  x : Prf
  H : n <= v
  H0 : v < n + S (length HH)
  H1 : n = v
  ============================
   (subst_mult_term (S v) #v HH) ↑ 1 # (S v) [v ← #0 ∽ a ↑h 1] =
   #v ∽ match v - v with
        | 0 => a
        | S m => nth m HH x
        end ↑h (v + 1)

subgoal 2 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)

subst.
2 subgoals, subgoal 1 (ID 16254)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  ============================
   (subst_mult_term (S v) #v HH) ↑ 1 # (S v) [v ← #0 ∽ a ↑h 1] =
   #v ∽ match v - v with
        | 0 => a
        | S m => nth m HH x
        end ↑h (v + 1)

subgoal 2 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)

rewrite minus_diag.
2 subgoals, subgoal 1 (ID 16255)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  ============================
   (subst_mult_term (S v) #v HH) ↑ 1 # (S v) [v ← #0 ∽ a ↑h 1] =
   #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)

rewrite subst_mult_var.
3 subgoals, subgoal 1 (ID 16256)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  ============================
   #v ↑ 1 # (S v) [v ← #0 ∽ a ↑h 1] = #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16257) is:
 S v > v
subgoal 3 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)


unfold lift_rec.
3 subgoals, subgoal 1 (ID 16258)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  ============================
   (if le_gt_dec (S v) v then #(1 + v) else #v) [v ← #0 ∽ a ↑h 1] =
   #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16257) is:
 S v > v
subgoal 3 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)

destruct le_gt_dec.
4 subgoals, subgoal 1 (ID 16267)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  l : S v <= v
  ============================
   #(1 + v) [v ← #0 ∽ a ↑h 1] = #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16268) is:
 #v [v ← #0 ∽ a ↑h 1] = #v ∽ a ↑h (v + 1)
subgoal 3 (ID 16257) is:
 S v > v
subgoal 4 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)


destruct lt_irrefl with v;apply lt_le_trans with (S v);[repeat constructor|assumption].
3 subgoals, subgoal 1 (ID 16268)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  g : S v > v
  ============================
   #v [v ← #0 ∽ a ↑h 1] = #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16257) is:
 S v > v
subgoal 3 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)


simpl.
3 subgoals, subgoal 1 (ID 16277)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  g : S v > v
  ============================
   match lt_eq_lt_dec v v with
   | inleft (left _) => #v
   | inleft (right _) => #(v + 0) ∽ a ↑h 1 ↑h v
   | inright _ => #(v - 1)
   end = #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16257) is:
 S v > v
subgoal 3 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)

destruct lt_eq_lt_dec as [[]|]; try(destruct (lt_irrefl v);assumption).
3 subgoals, subgoal 1 (ID 16292)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  g : S v > v
  e : v = v
  ============================
   #(v + 0) ∽ a ↑h 1 ↑h v = #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16257) is:
 S v > v
subgoal 3 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)


rewrite_r lift_lift;rewrite (plus_comm v 0);reflexivity.
2 subgoals, subgoal 1 (ID 16257)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  x : Prf
  H : v <= v
  H0 : v < v + S (length HH)
  ============================
   S v > v

subgoal 2 (ID 16246) is:
 (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
 #(S m) ∽ match S m - n with
          | 0 => a
          | S m0 => nth m0 HH x
          end ↑h (S m + 1)
(dependent evars:)


repeat constructor.
1 subgoals, subgoal 1 (ID 16246)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  v : nat
  n : nat
  x : Prf
  H : n <= v
  H0 : v < n + S (length HH)
  m : nat
  H1 : n <= m
  H2 : S m = v
  ============================
   (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
   #(S m)
   ∽ match S m - n with
     | 0 => a
     | S m0 => nth m0 HH x
     end ↑h (S m + 1)

(dependent evars:)


subst.
1 subgoals, subgoal 1 (ID 16321)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  n : nat
  x : Prf
  m : nat
  H1 : n <= m
  H : n <= S m
  H0 : S m < n + S (length HH)
  ============================
   (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
   #(S m)
   ∽ match S m - n with
     | 0 => a
     | S m0 => nth m0 HH x
     end ↑h (S m + 1)

(dependent evars:)

rewrite IHHH with (x:=x);[|apply le_n_S; assumption|rewrite plus_Snm_nSm;assumption].
1 subgoals, subgoal 1 (ID 16322)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  n : nat
  x : Prf
  m : nat
  H1 : n <= m
  H : n <= S m
  H0 : S m < n + S (length HH)
  ============================
   (#(S m) ∽ (nth (S m - S n) HH x) ↑h (S m + 1)) ↑ 1 # (S n) [n
   ← #0 ∽ a ↑h 1] =
   #(S m)
   ∽ match S m - n with
     | 0 => a
     | S m0 => nth m0 HH x
     end ↑h (S m + 1)

(dependent evars:)


assert (forall a b,b<=a->(#a (nth (a - b) HH x) h (a + 1)) 1 # b=(#0 (nth (a - b) HH x) h 1)↑(S a)) by
(intros;simpl;destruct le_gt_dec;[rewrite <- plus_n_O;rewrite_r lift_lift;rewrite_r liftP3;simpl;
[reflexivity|apply le_0_n|rewrite plus_comm;constructor;assumption]|
destruct (lt_irrefl b);apply le_lt_trans with a0;assumption]).
1 subgoals, subgoal 1 (ID 16333)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  n : nat
  x : Prf
  m : nat
  H1 : n <= m
  H : n <= S m
  H0 : S m < n + S (length HH)
  H2 : forall a b : nat,
       b <= a ->
       (#a ∽ (nth (a - b) HH x) ↑h (a + 1)) ↑ 1 # b =
       (#0 ∽ (nth (a - b) HH x) ↑h 1) ↑ (S a)
  ============================
   (#(S m) ∽ (nth (S m - S n) HH x) ↑h (S m + 1)) ↑ 1 # (S n) [n
   ← #0 ∽ a ↑h 1] =
   #(S m)
   ∽ match S m - n with
     | 0 => a
     | S m0 => nth m0 HH x
     end ↑h (S m + 1)

(dependent evars:)


rewrite H2;[|apply le_n_S; assumption].
1 subgoals, subgoal 1 (ID 16374)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  n : nat
  x : Prf
  m : nat
  H1 : n <= m
  H : n <= S m
  H0 : S m < n + S (length HH)
  H2 : forall a b : nat,
       b <= a ->
       (#a ∽ (nth (a - b) HH x) ↑h (a + 1)) ↑ 1 # b =
       (#0 ∽ (nth (a - b) HH x) ↑h 1) ↑ (S a)
  ============================
   (#0 ∽ (nth (S m - S n) HH x) ↑h 1) ↑ (S (S m)) [n ← #0 ∽ a ↑h 1] =
   #(S m)
   ∽ match S m - n with
     | 0 => a
     | S m0 => nth m0 HH x
     end ↑h (S m + 1)

(dependent evars:)


rewrite_l substP3;[rewrite <- (minus_Sn_m m n);[|assumption]|apply le_0_n|assumption].
1 subgoals, subgoal 1 (ID 16383)
  
  a : Prf
  HH : list Prf
  IHHH : forall (v n : nat) (x : Prf),
         n <= v ->
         v < n + length HH ->
         subst_mult_term n #v HH = #v ∽ (nth (v - n) HH x) ↑h (v + 1)
  n : nat
  x : Prf
  m : nat
  H1 : n <= m
  H : n <= S m
  H0 : S m < n + S (length HH)
  H2 : forall a b : nat,
       b <= a ->
       (#a ∽ (nth (a - b) HH x) ↑h (a + 1)) ↑ 1 # b =
       (#0 ∽ (nth (a - b) HH x) ↑h 1) ↑ (S a)
  ============================
   (#0 ∽ (nth (S m - S n) HH x) ↑h 1) ↑ (S m) =
   #(S m) ∽ (nth (m - n) HH x) ↑h (S m + 1)

(dependent evars:)


simpl;rewrite_r lift_lift;rewrite plus_comm;reflexivity.
No more subgoals.
(dependent evars:)


Qed.
subst_mult_var_P2 is defined



Lemma subst_mult_var_eq : forall HH Γ Δ v n,Δ -> n<=v->v<n+length HH->subst_mult_env n Δ HH Γ->Γ #v = subst_mult_term n #v HH.
1 subgoals, subgoal 1 (ID 16406)
  
  ============================
   forall (HH : list Prf) (Γ Δ : Env) (v n : nat),
   Δ ⊣ ->
   n <= v ->
   v < n + length HH ->
   subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH

(dependent evars:)


induction HH;intros;simpl in *.
2 subgoals, subgoal 1 (ID 16439)
  
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n + 0
  H2 : subst_mult_env n Δ nil Γ
  ============================
   Γ ⊢ #v = #v

subgoal 2 (ID 16451) is:
 Γ ⊢ #v = (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars:)


rewrite <- plus_n_O in H1;destruct (lt_irrefl v).
2 subgoals, subgoal 1 (ID 16458)
  
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n
  H2 : subst_mult_env n Δ nil Γ
  ============================
   v < v

subgoal 2 (ID 16451) is:
 Γ ⊢ #v = (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars:)


apply