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 lt_le_trans with n;assumption.
1 subgoals, subgoal 1 (ID 16451)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n + S (length HH)
  H2 : subst_mult_env n Δ (a :: HH) Γ
  ============================
   Γ ⊢ #v = (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars:)


inversion H2;subst.
1 subgoals, subgoal 1 (ID 16569)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n + S (length HH)
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γ0 : Env
  Γs : list Term
  Γ1 : Env
  A1 : Term
  A2 : Term
  s : Sorts
  H6 : subst_mult_env (S n) Δ HH Γ0
  H7 : trunc (S n) Γ0 Γs
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  H12 : ins_in_env Γs A2 (S n) Γ0 Γ1
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n Γ1 Γ
  ============================
   Γ ⊢ #v = (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars:)


edestruct subst_typR as (?s&?);try eapply subst_mult_wf;try eassumption.
1 subgoals, subgoal 1 (ID 16597)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n + S (length HH)
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γ0 : Env
  Γs : list Term
  Γ1 : Env
  A1 : Term
  A2 : Term
  s : Sorts
  H6 : subst_mult_env (S n) Δ HH Γ0
  H7 : trunc (S n) Γ0 Γs
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  H12 : ins_in_env Γs A2 (S n) Γ0 Γ1
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n Γ1 Γ
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  ============================
   Γ ⊢ #v = (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using ,)


assert (Γ ) by (eapply subst_mult_wf;eassumption).
1 subgoals, subgoal 1 (ID 16604)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n + S (length HH)
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γ0 : Env
  Γs : list Term
  Γ1 : Env
  A1 : Term
  A2 : Term
  s : Sorts
  H6 : subst_mult_env (S n) Δ HH Γ0
  H7 : trunc (S n) Γ0 Γs
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  H12 : ins_in_env Γs A2 (S n) Γ0 Γ1
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n Γ1 Γ
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  ============================
   Γ ⊢ #v = (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)


inversion H12;subst.
1 subgoals, subgoal 1 (ID 16671)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n + S (length HH)
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H10 : ins_in_env Γs A2 n Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n (d ↑ 1 # n :: Δ') Γ
  H6 : subst_mult_env (S n) Δ HH (d :: Δ0)
  H7 : trunc (S n) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S n) (d :: Δ0) (d ↑ 1 # n :: Δ')
  ============================
   Γ ⊢ #v = (subst_mult_term (S n) #v HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)


inversion H0.
2 subgoals, subgoal 1 (ID 16682)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n + S (length HH)
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H10 : ins_in_env Γs A2 n Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n (d ↑ 1 # n :: Δ') Γ
  H6 : subst_mult_env (S n) Δ HH (d :: Δ0)
  H7 : trunc (S n) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S n) (d :: Δ0) (d ↑ 1 # n :: Δ')
  H5 : n = v
  ============================
   Γ ⊢ #v = (subst_mult_term (S v) #v HH) ↑ 1 # (S v) [v ← #0 ∽ a ↑h 1]

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)


subst;rewrite subst_mult_var;[|constructor].
2 subgoals, subgoal 1 (ID 16711)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  ============================
   Γ ⊢ #v = #v ↑ 1 # (S v) [v ← #0 ∽ a ↑h 1]

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)

unfold lift_rec.
2 subgoals, subgoal 1 (ID 16714)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  ============================
   Γ ⊢ #v = (if le_gt_dec (S v) v then #(1 + v) else #v) [v ← #0 ∽ a ↑h 1]

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)

destruct le_gt_dec.
3 subgoals, subgoal 1 (ID 16723)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  l : S v <= v
  ============================
   Γ ⊢ #v = #(1 + v) [v ← #0 ∽ a ↑h 1]

subgoal 2 (ID 16724) is:
 Γ ⊢ #v = #v [v ← #0 ∽ a ↑h 1]
subgoal 3 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)


destruct (lt_irrefl v);apply lt_le_trans with (S v);[constructor|try assumption].
2 subgoals, subgoal 1 (ID 16724)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  ============================
   Γ ⊢ #v = #v [v ← #0 ∽ a ↑h 1]

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)


simpl;destruct lt_eq_lt_dec as [[]|];try (destruct (lt_irrefl v);assumption).
2 subgoals, subgoal 1 (ID 16748)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  ============================
   Γ ⊢ #v = #(v + 0) ∽ a ↑h 1 ↑h v

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)


assert (trunc (S v) Γ Γs). (
3 subgoals, subgoal 1 (ID 16766)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  ============================
   trunc (S v) Γ Γs

subgoal 2 (ID 16767) is:
 Γ ⊢ #v = #(v + 0) ∽ a ↑h 1 ↑h v
subgoal 3 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using ,)

change (S v) with (1+v);eapply trunc_trans;[eapply subst_trunc2;eassumption|repeat constructor]).
2 subgoals, subgoal 1 (ID 16767)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ #v = #(v + 0) ∽ a ↑h 1 ↑h v

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using ,)


rewrite_r lift_lift;rewrite plus_comm;simpl.
2 subgoals, subgoal 1 (ID 16786)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ #v = #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using ,)


econstructor.
2 subgoals, subgoal 1 (ID 16789)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ ?16788 : #v = #v ∽ a ↑h (v + 1)

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 open,)

eapply cIota with (s:=s0).
4 subgoals, subgoal 1 (ID 16792)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ #v : ?16790

subgoal 2 (ID 16793) is:
 Γ ⊢ ?16791 : !s0
subgoal 3 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : ?16790 = ?16791
subgoal 4 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 open, ?16791 open,)


constructor.
5 subgoals, subgoal 1 (ID 16797)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊣

subgoal 2 (ID 16798) is:
 ?16790 ↓ v ⊂ Γ
subgoal 3 (ID 16793) is:
 Γ ⊢ ?16791 : !s0
subgoal 4 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : ?16790 = ?16791
subgoal 5 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 open, ?16791 open,)

eassumption.
4 subgoals, subgoal 1 (ID 16798)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   ?16790 ↓ v ⊂ Γ

subgoal 2 (ID 16793) is:
 Γ ⊢ ?16791 : !s0
subgoal 3 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : ?16790 = ?16791
subgoal 4 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 open, ?16791 open,)

econstructor;repeat split.
4 subgoals, subgoal 1 (ID 16804)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   ?16800 ↓ v ∈ Γ

subgoal 2 (ID 16793) is:
 Γ ⊢ ?16791 : !s0
subgoal 3 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : ?16800 ↑ (S v) = ?16791
subgoal 4 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 open, ?16800 open,)


eapply nth_sub_sup;try eassumption.
4 subgoals, subgoal 1 (ID 16813)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   ?16800 ↓ S v ∈ d ↑ 1 # v :: Δ'

subgoal 2 (ID 16793) is:
 Γ ⊢ ?16791 : !s0
subgoal 3 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : ?16800 ↑ (S v) = ?16791
subgoal 4 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 open, ?16800 open, ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using ,)

constructor.
4 subgoals, subgoal 1 (ID 16816)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   ?16800 ↓ v ∈ Δ'

subgoal 2 (ID 16793) is:
 Γ ⊢ ?16791 : !s0
subgoal 3 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : ?16800 ↑ (S v) = ?16791
subgoal 4 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 open, ?16800 open, ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using ,)

eapply ins_item;eassumption.
3 subgoals, subgoal 1 (ID 16793)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ ?16791 : !s0

subgoal 2 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : A2 ↑ (S v) = ?16791
subgoal 3 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 open, ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using ,)


change !s0 with !s0v.
3 subgoals, subgoal 1 (ID 16821)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ ?16791 : !s0 ↑ v

subgoal 2 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : A2 ↑ (S v) = ?16791
subgoal 3 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 open, ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using ,)

eapply thinning_n;try eassumption.
3 subgoals, subgoal 1 (ID 16824)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   trunc v Γ (A2 :: Γs)

subgoal 2 (ID 16794) is:
 Γ ⊢ a ↑h (v + 1) : A2 ↑ (S v) = A1 ↑ 1 ↑ v
subgoal 3 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using ,)

eapply subst_trunc2;eassumption.
2 subgoals, subgoal 1 (ID 16794)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ a ↑h (v + 1) : A2 ↑ (S v) = A1 ↑ 1 ↑ v

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using ,)


rewrite_l lift_lift.
2 subgoals, subgoal 1 (ID 16834)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ a ↑h (v + 1) : A2 ↑ (S v) = A1 ↑ (v + 1)

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using ,)

rewrite plus_comm;simpl.
2 subgoals, subgoal 1 (ID 16836)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  H : Δ ⊣
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H0 : v <= v
  H1 : v < v + S (length HH)
  H2 : subst_mult_env v Δ (a :: HH) Γ
  H10 : ins_in_env Γs A2 v Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 v (d ↑ 1 # v :: Δ') Γ
  H6 : subst_mult_env (S v) Δ HH (d :: Δ0)
  H7 : trunc (S v) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S v) (d :: Δ0) (d ↑ 1 # v :: Δ')
  g : S v > v
  e : v = v
  H5 : trunc (S v) Γ Γs
  ============================
   Γ ⊢ a ↑h (S v) : A2 ↑ (S v) = A1 ↑ (S v)

subgoal 2 (ID 16696) is:
 Γ ⊢ #(S m) = (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using ,)

eapply thinning_n_h;eassumption.
1 subgoals, subgoal 1 (ID 16696)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  v : nat
  n : nat
  H : Δ ⊣
  H0 : n <= v
  H1 : v < n + S (length HH)
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H10 : ins_in_env Γs A2 n Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n (d ↑ 1 # n :: Δ') Γ
  H6 : subst_mult_env (S n) Δ HH (d :: Δ0)
  H7 : trunc (S n) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S n) (d :: Δ0) (d ↑ 1 # n :: Δ')
  m : nat
  H5 : n <= m
  H11 : S m = v
  ============================
   Γ ⊢ #(S m) =
   (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using , ?16837 using ,)


subst.
1 subgoals, subgoal 1 (ID 16846)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  n : nat
  H : Δ ⊣
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H10 : ins_in_env Γs A2 n Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n (d ↑ 1 # n :: Δ') Γ
  H6 : subst_mult_env (S n) Δ HH (d :: Δ0)
  H7 : trunc (S n) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S n) (d :: Δ0) (d ↑ 1 # n :: Δ')
  m : nat
  H5 : n <= m
  H0 : n <= S m
  H1 : S m < n + S (length HH)
  ============================
   Γ ⊢ #(S m) =
   (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using , ?16837 using ,)


edestruct IHHH as (?HH&?);[eexact H|eapply le_n_S;eexact H5|rewrite plus_Snm_nSm;assumption|eassumption|].
1 subgoals, subgoal 1 (ID 16869)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  n : nat
  H : Δ ⊣
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H10 : ins_in_env Γs A2 n Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n (d ↑ 1 # n :: Δ') Γ
  H6 : subst_mult_env (S n) Δ HH (d :: Δ0)
  H7 : trunc (S n) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S n) (d :: Δ0) (d ↑ 1 # n :: Δ')
  m : nat
  H5 : n <= m
  H0 : n <= S m
  H1 : S m < n + S (length HH)
  HH0 : Prf
  H11 : d :: Δ0 ⊢ HH0 : #(S m) = subst_mult_term (S n) #(S m) HH
  ============================
   Γ ⊢ #(S m) =
   (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using , ?16837 using , ?16849 using , ?16850 using , ?16851 using ?16870 , ?16852 using ?16871 , ?16870 using , ?16871 using ,)


econstructor.
1 subgoals, subgoal 1 (ID 16876)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  n : nat
  H : Δ ⊣
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H10 : ins_in_env Γs A2 n Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n (d ↑ 1 # n :: Δ') Γ
  H6 : subst_mult_env (S n) Δ HH (d :: Δ0)
  H7 : trunc (S n) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S n) (d :: Δ0) (d ↑ 1 # n :: Δ')
  m : nat
  H5 : n <= m
  H0 : n <= S m
  H1 : S m < n + S (length HH)
  HH0 : Prf
  H11 : d :: Δ0 ⊢ HH0 : #(S m) = subst_mult_term (S n) #(S m) HH
  ============================
   Γ ⊢ ?16875 : #(S m) =
   (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using , ?16837 using , ?16849 using , ?16850 using , ?16851 using ?16870 , ?16852 using ?16871 , ?16870 using , ?16871 using , ?16875 open,)


rewrite (erasure_lem3 n (S m) (#0 a h 1)) at 1.
2 subgoals, subgoal 1 (ID 16989)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  n : nat
  H : Δ ⊣
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H10 : ins_in_env Γs A2 n Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n (d ↑ 1 # n :: Δ') Γ
  H6 : subst_mult_env (S n) Δ HH (d :: Δ0)
  H7 : trunc (S n) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S n) (d :: Δ0) (d ↑ 1 # n :: Δ')
  m : nat
  H5 : n <= m
  H0 : n <= S m
  H1 : S m < n + S (length HH)
  HH0 : Prf
  H11 : d :: Δ0 ⊢ HH0 : #(S m) = subst_mult_term (S n) #(S m) HH
  ============================
   Γ ⊢ ?16875 : #(S m) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1] =
   (subst_mult_term (S n) #(S m) HH) ↑ 1 # (S n) [n ← #0 ∽ a ↑h 1]

subgoal 2 (ID 16993) is:
 S m > n
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using , ?16837 using , ?16849 using , ?16850 using , ?16851 using ?16870 , ?16852 using ?16871 , ?16870 using , ?16871 using , ?16875 open,)


eapply subst_eq;eassumption.
1 subgoals, subgoal 1 (ID 16993)
  
  a : Prf
  HH : list Prf
  IHHH : forall (Γ Δ : Env) (v n : nat),
         Δ ⊣ ->
         n <= v ->
         v < n + length HH ->
         subst_mult_env n Δ HH Γ -> Γ ⊢ #v = subst_mult_term n #v HH
  Γ : Env
  Δ : Env
  n : nat
  H : Δ ⊣
  H2 : subst_mult_env n Δ (a :: HH) Γ
  Γs : list Term
  A1 : Term
  A2 : Term
  s : Sorts
  H8 : Γs ⊢ A2 : !s
  H9 : Γs ⊢ a : A2 = A1
  s0 : Sorts
  H3 : A2 :: Γs ⊢ A1 ↑ 1 : !s0
  H4 : Γ ⊣
  Δ0 : Env
  Δ' : Env
  d : Term
  H10 : ins_in_env Γs A2 n Δ0 Δ'
  H14 : sub_in_env (A2 :: Γs) (#0 ∽ a ↑h 1) A1 ↑ 1 n (d ↑ 1 # n :: Δ') Γ
  H6 : subst_mult_env (S n) Δ HH (d :: Δ0)
  H7 : trunc (S n) (d :: Δ0) Γs
  H12 : ins_in_env Γs A2 (S n) (d :: Δ0) (d ↑ 1 # n :: Δ')
  m : nat
  H5 : n <= m
  H0 : n <= S m
  H1 : S m < n + S (length HH)
  HH0 : Prf
  H11 : d :: Δ0 ⊢ HH0 : #(S m) = subst_mult_term (S n) #(S m) HH
  ============================
   S m > n

(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using , ?16837 using , ?16849 using , ?16850 using , ?16851 using ?16870 , ?16852 using ?16871 , ?16870 using , ?16871 using , ?16875 using ?16994 , ?16994 using , ?16995 using , ?16996 using , ?16997 using , ?16998 using , ?16999 using , ?17000 using ,)


apply le_n_S;assumption.
No more subgoals.
(dependent evars: ?16572 using , ?16573 using , ?16574 using , ?16575 using , ?16576 using , ?16577 using , ?16578 using , ?16579 using , ?16580 using , ?16598 using , ?16599 using , ?16600 using , ?16605 using , ?16606 using , ?16607 using , ?16770 using , ?16773 using , ?16774 using , ?16775 using , ?16788 using , ?16790 using ?16800 , ?16791 using ?16822 , ?16800 using , ?16806 using , ?16807 using , ?16808 using , ?16809 using , ?16810 using , ?16817 using , ?16818 using , ?16822 using , ?16823 using , ?16827 using , ?16828 using , ?16829 using , ?16837 using , ?16849 using , ?16850 using , ?16851 using ?16870 , ?16852 using ?16871 , ?16870 using , ?16871 using , ?16875 using ?16994 , ?16994 using , ?16995 using , ?16996 using , ?16997 using , ?16998 using , ?16999 using , ?17000 using ,)


Qed.
subst_mult_var_eq is defined



tactic needed for equality_subst_ext

Local Ltac solve :=
try match goal with
| |- _ subst_mult_term ?n _ ?HH : !?s => replace !s with (subst_mult_term n !s HH) by (apply subst_mult_sort)
| |- _ _ : Π(subst_mult_term _ _ _),_ => try rewrite <- subst_mult_prod
| |- _ _ : Π(_),(subst_mult_term _ _ _) => try rewrite <- subst_mult_prod
end;
try match goal with
| |- _ subst_mult_term _ _ _ : _ => eapply subst_mult_typ;[|try apply subst_mult_cons;try eassumption]
end;
try match goal with
| |- _ _ [?n←?a] : !?s => change !s with !s[na]
| |- _ _ : (Π(?A[?n←?a]),?B[S ?n←?a]) => change (Π(A[na]),B[S na]) with (Π(A),B)[na]
end;
try match goal with
| |- _ _ [__] : _ => eapply substitution;(eassumption||(econstructor;eassumption)||(eapply wf_typ;eassumption))
end.
solve is defined



Lemma equality_subst_ext : forall Δ Γ' M N a1 a2 T K,Δ a1 : T -> Δ a2 : T -> Δ K : a1 = a2 -> Γ' M : N ->
                            forall Γ1 Γ2 HH, sub_in_env Δ a1 T (length HH) Γ' Γ1->sub_in_env Δ a2 T (length HH) Γ' Γ2
                             ->subst_mult_env 0 Γ2 HH Γ1-> Γ1 (M [length HH a1]) = subst_mult_term 0 M[length HH a2] HH.
1 subgoals, subgoal 1 (ID 17033)
  
  ============================
   forall (Δ Γ' : Env) (M N a1 a2 T : Term) (K : Prf),
   Δ ⊢ a1 : T ->
   Δ ⊢ a2 : T ->
   Δ ⊢ K : a1 = a2 ->
   Γ' ⊢ M : N ->
   forall (Γ1 Γ2 : Env) (HH : list Prf),
   sub_in_env Δ a1 T (length HH) Γ' Γ1 ->
   sub_in_env Δ a2 T (length HH) Γ' Γ2 ->
   subst_mult_env 0 Γ2 HH Γ1 ->
   Γ1 ⊢ M [(length HH) ← a1] = subst_mult_term 0 M [(length HH) ← a2] HH

(dependent evars:)


induction 4;intros;subst;set (n:=length HH) in *.
6 subgoals, subgoal 1 (ID 17178)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  s : Sorts
  t : Sorts
  H2 : Ax s t
  H3 : Γ ⊣
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ !s [n ← a1] = subst_mult_term 0 !s [n ← a2] HH

subgoal 2 (ID 17184) is:
 Γ1 ⊢ #v [n ← a1] = subst_mult_term 0 #v [n ← a2] HH
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars:)


simpl;rewrite subst_mult_sort.
6 subgoals, subgoal 1 (ID 17210)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  s : Sorts
  t : Sorts
  H2 : Ax s t
  H3 : Γ ⊣
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ !s = !s

subgoal 2 (ID 17184) is:
 Γ1 ⊢ #v [n ← a1] = subst_mult_term 0 #v [n ← a2] HH
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars:)


econstructor;eapply cRefl;econstructor;[eassumption|eapply substitution;[eassumption|eexact H|eassumption]].
5 subgoals, subgoal 1 (ID 17184)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ #v [n ← a1] = subst_mult_term 0 #v [n ← a2] HH

subgoal 2 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 3 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 4 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 5 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using ,)


assert (Γ1 ) by (eapply substitution;[eassumption|eexact H|eassumption]).
5 subgoals, subgoal 1 (ID 17249)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  ============================
   Γ1 ⊢ #v [n ← a1] = subst_mult_term 0 #v [n ← a2] HH

subgoal 2 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 3 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 4 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 5 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using ,)


unfold subst_rec;destruct lt_eq_lt_dec as [[]|].
7 subgoals, subgoal 1 (ID 17292)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : v < n
  ============================
   Γ1 ⊢ #v = subst_mult_term 0 #v HH

subgoal 2 (ID 17293) is:
 Γ1 ⊢ a1 ↑ n = subst_mult_term 0 a2 ↑ n HH
subgoal 3 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 4 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 5 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 6 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 7 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using ,)


eapply subst_mult_var_eq.
10 subgoals, subgoal 1 (ID 17296)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : v < n
  ============================
   ?17295 ⊣

subgoal 2 (ID 17297) is:
 0 <= v
subgoal 3 (ID 17298) is:
 v < 0 + length HH
subgoal 4 (ID 17299) is:
 subst_mult_env 0 ?17295 HH Γ1
subgoal 5 (ID 17293) is:
 Γ1 ⊢ a1 ↑ n = subst_mult_term 0 a2 ↑ n HH
subgoal 6 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 7 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 8 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 9 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 10 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 open,)

eapply substitution;[eexact H2|eexact H0|eassumption].
9 subgoals, subgoal 1 (ID 17297)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : v < n
  ============================
   0 <= v

subgoal 2 (ID 17298) is:
 v < 0 + length HH
subgoal 3 (ID 17299) is:
 subst_mult_env 0 Γ2 HH Γ1
subgoal 4 (ID 17293) is:
 Γ1 ⊢ a1 ↑ n = subst_mult_term 0 a2 ↑ n HH
subgoal 5 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 6 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 7 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 8 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 9 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using ,)

apply le_0_n.
8 subgoals, subgoal 1 (ID 17298)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : v < n
  ============================
   v < 0 + length HH

subgoal 2 (ID 17299) is:
 subst_mult_env 0 Γ2 HH Γ1
subgoal 3 (ID 17293) is:
 Γ1 ⊢ a1 ↑ n = subst_mult_term 0 a2 ↑ n HH
subgoal 4 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 5 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 6 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 7 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 8 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using ,)

simpl;assumption.
7 subgoals, subgoal 1 (ID 17299)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : v < n
  ============================
   subst_mult_env 0 Γ2 HH Γ1

subgoal 2 (ID 17293) is:
 Γ1 ⊢ a1 ↑ n = subst_mult_term 0 a2 ↑ n HH
subgoal 3 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 4 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 5 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 6 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 7 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using ,)

assumption.
6 subgoals, subgoal 1 (ID 17293)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  e : v = n
  ============================
   Γ1 ⊢ a1 ↑ n = subst_mult_term 0 a2 ↑ n HH

subgoal 2 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using ,)


subst.
6 subgoals, subgoal 1 (ID 17333)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  H2 : Γ ⊣
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  H3 : A ↓ n ⊂ Γ
  ============================
   Γ1 ⊢ a1 ↑ n = subst_mult_term 0 a2 ↑ n HH

subgoal 2 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using ,)

rewrite subst_mult_lift_sup.
7 subgoals, subgoal 1 (ID 17334)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  H2 : Γ ⊣
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  H3 : A ↓ n ⊂ Γ
  ============================
   Γ1 ⊢ a1 ↑ n = a2 ↑ n

subgoal 2 (ID 17335) is:
 length HH + 0 <= n
subgoal 3 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 4 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 5 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 6 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 7 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using ,)


econstructor;eapply thinning_n_h.
9 subgoals, subgoal 1 (ID 17341)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  H2 : Γ ⊣
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  H3 : A ↓ n ⊂ Γ
  ============================
   trunc n Γ1 ?17340

subgoal 2 (ID 17342) is:
 ?17340 ⊢ ?17339 : a1 = a2
subgoal 3 (ID 17343) is:
 Γ1 ⊣
subgoal 4 (ID 17335) is:
 length HH + 0 <= n
subgoal 5 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 6 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 7 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 8 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 9 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 open, ?17340 open,)

eapply subst_trunc2;eassumption.
8 subgoals, subgoal 1 (ID 17342)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  H2 : Γ ⊣
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  H3 : A ↓ n ⊂ Γ
  ============================
   Δ ⊢ ?17339 : a1 = a2

subgoal 2 (ID 17343) is:
 Γ1 ⊣
subgoal 3 (ID 17335) is:
 length HH + 0 <= n
subgoal 4 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 5 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 6 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 7 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 8 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 open, ?17340 using , ?17344 using , ?17345 using , ?17346 using ,)

eassumption.
7 subgoals, subgoal 1 (ID 17343)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  H2 : Γ ⊣
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  H3 : A ↓ n ⊂ Γ
  ============================
   Γ1 ⊣

subgoal 2 (ID 17335) is:
 length HH + 0 <= n
subgoal 3 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 4 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 5 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 6 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 7 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using ,)

eassumption.
6 subgoals, subgoal 1 (ID 17335)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  H2 : Γ ⊣
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  H3 : A ↓ n ⊂ Γ
  ============================
   length HH + 0 <= n

subgoal 2 (ID 17294) is:
 Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using ,)


rewrite plus_comm;constructor.
5 subgoals, subgoal 1 (ID 17294)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  v : nat
  H2 : Γ ⊣
  H3 : A ↓ v ⊂ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  ============================
   Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH

subgoal 2 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 3 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 4 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 5 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using ,)


destruct H3 as (?&?&?);subst.
5 subgoals, subgoal 1 (ID 17361)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  ============================
   Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH

subgoal 2 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 3 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 4 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 5 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using ,)


assert (n<=v-1) by (destruct v;[inversion l|change 1 with (1+0);change (S v) with (1+v);
rewrite <- minus_plus_simpl_l_reverse;rewrite <- minus_n_O;apply le_S_n;assumption]).
5 subgoals, subgoal 1 (ID 17363)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  ============================
   Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH

subgoal 2 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 3 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 4 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 5 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using ,)


assert (#(v-1)=#(v-1-n)n) as eq by (simpl;rewrite <- le_plus_minus;[reflexivity|assumption]).
5 subgoals, subgoal 1 (ID 17415)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   Γ1 ⊢ #(v - 1) = subst_mult_term 0 #(v - 1) HH

subgoal 2 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 3 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 4 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 5 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using ,)


rewrite eq;rewrite subst_mult_lift_sup.
6 subgoals, subgoal 1 (ID 17421)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   Γ1 ⊢ #(v - 1 - n) ↑ n = #(v - 1 - n) ↑ n

subgoal 2 (ID 17422) is:
 length HH + 0 <= n
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using ,)

do 2 econstructor;rewrite <- eq.
6 subgoals, subgoal 1 (ID 17429)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   Γ1 ⊢ #(v - 1) : ?17427

subgoal 2 (ID 17422) is:
 length HH + 0 <= n
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 open,)


econstructor;[assumption|].
6 subgoals, subgoal 1 (ID 17433)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   ?17427 ↓ v - 1 ⊂ Γ1

subgoal 2 (ID 17422) is:
 length HH + 0 <= n
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 open,)

econstructor;repeat split.
6 subgoals, subgoal 1 (ID 17439)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   ?17435 ↓ v - 1 ∈ Γ1

subgoal 2 (ID 17422) is:
 length HH + 0 <= n
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 open,)

eapply nth_sub_sup;try eassumption.
6 subgoals, subgoal 1 (ID 17448)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   ?17435 ↓ S (v - 1) ∈ Γ

subgoal 2 (ID 17422) is:
 length HH + 0 <= n
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 open, ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using ,)


rewrite minus_Sn_m;simpl.
7 subgoals, subgoal 1 (ID 17451)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   ?17435 ↓ v - 0 ∈ Γ

subgoal 2 (ID 17452) is:
 1 <= v
subgoal 3 (ID 17422) is:
 length HH + 0 <= n
subgoal 4 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 5 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 6 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 7 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 open, ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using ,)

rewrite <- minus_n_O;eassumption.
6 subgoals, subgoal 1 (ID 17452)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   1 <= v

subgoal 2 (ID 17422) is:
 length HH + 0 <= n
subgoal 3 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 4 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 5 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 6 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using ,)


apply le_lt_trans with n;[apply le_0_n|assumption].
5 subgoals, subgoal 1 (ID 17422)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  v : nat
  H2 : Γ ⊣
  x : Term
  H8 : x ↓ v ∈ Γ
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  H7 : Γ1 ⊣
  l : n < v
  H3 : n <= v - 1
  eq : #(v - 1) = #(v - 1 - n) ↑ n
  ============================
   length HH + 0 <= n

subgoal 2 (ID 17190) is:
 Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH
subgoal 3 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 4 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 5 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using ,)


unfold n;rewrite plus_comm;simpl;constructor.
4 subgoals, subgoal 1 (ID 17190)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ (Π (A), B) [n ← a1] = subst_mult_term 0 (Π (A), B) [n ← a2] HH

subgoal 2 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 3 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 4 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using ,)


simpl;rewrite subst_mult_prod.
4 subgoals, subgoal 1 (ID 17461)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ Π (A [n ← a1]), B [(S n) ← a1] =
   Π (subst_mult_term 0 A [n ← a2] HH), subst_mult_term 1 B [(S n) ← a2] HH

subgoal 2 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 3 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 4 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using ,)


edestruct IHtyp1;[eassumption..|].
4 subgoals, subgoal 1 (ID 17480)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H6 : Γ1 ⊢ x : A [(length HH) ← a1] =
       subst_mult_term 0 A [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ Π (A [n ← a1]), B [(S n) ← a1] =
   Π (subst_mult_term 0 A [n ← a2] HH), subst_mult_term 1 B [(S n) ← a2] HH

subgoal 2 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 3 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 4 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using ,)


edestruct IHtyp2 with (HH:=x::HH);simpl;[econstructor;eassumption..| |].
5 subgoals, subgoal 1 (ID 17502)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H6 : Γ1 ⊢ x : A [(length HH) ← a1] =
       subst_mult_term 0 A [(length HH) ← a2] HH
  ============================
   subst_mult_env 0 (A [(length HH) ← a2] :: Γ2) (x :: HH)
     (A [(length HH) ← a1] :: Γ1)

subgoal 2 (ID 17503) is:
 Γ1 ⊢ Π (A [n ← a1]), B [(S n) ← a1] =
 Π (subst_mult_term 0 A [n ← a2] HH), subst_mult_term 1 B [(S n) ← a2] HH
subgoal 3 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 4 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 5 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using ,)


eapply msub_S with (s:=s1);[eapply subst_mult_cons;eassumption|do 2 econstructor|
change !s1 with !s1[n a1];eapply substitution;try eassumption;eapply wf_typ;eassumption|
eassumption|do 2 econstructor|econstructor].
4 subgoals, subgoal 1 (ID 17503)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H6 : Γ1 ⊢ x : A [(length HH) ← a1] =
       subst_mult_term 0 A [(length HH) ← a2] HH
  x0 : Prf
  H7 : A [(length HH) ← a1] :: Γ1 ⊢ x0 : B [(length (x :: HH)) ← a1] =
       subst_mult_term 0 B [(length (x :: HH)) ← a2] (x :: HH)
  ============================
   Γ1 ⊢ Π (A [n ← a1]), B [(S n) ← a1] =
   Π (subst_mult_term 0 A [n ← a2] HH), subst_mult_term 1 B [(S n) ← a2] HH

subgoal 2 (ID 17196) is:
 Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH
subgoal 3 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 4 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using ,)


econstructor;eapply cProdEq;simpl;try eassumption;solve.
3 subgoals, subgoal 1 (ID 17196)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ b : B
  H2_1 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ b [(length HH) ← a1] =
           subst_mult_term 0 b [(length HH) ← a2] HH
  IHtyp3 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ (λ [A], b) [n ← a1] = subst_mult_term 0 (λ [A], b) [n ← a2] HH

subgoal 2 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 3 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using ,)


simpl;rewrite subst_mult_abs.
3 subgoals, subgoal 1 (ID 17741)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ b : B
  H2_1 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ b [(length HH) ← a1] =
           subst_mult_term 0 b [(length HH) ← a2] HH
  IHtyp3 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ λ [A [n ← a1]], b [(S n) ← a1] =
   λ [subst_mult_term 0 A [n ← a2] HH], subst_mult_term 1 b [(S n) ← a2] HH

subgoal 2 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 3 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using ,)


edestruct IHtyp1;[eassumption..|].
3 subgoals, subgoal 1 (ID 17760)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ b : B
  H2_1 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ b [(length HH) ← a1] =
           subst_mult_term 0 b [(length HH) ← a2] HH
  IHtyp3 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H6 : Γ1 ⊢ x : A [(length HH) ← a1] =
       subst_mult_term 0 A [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ λ [A [n ← a1]], b [(S n) ← a1] =
   λ [subst_mult_term 0 A [n ← a2] HH], subst_mult_term 1 b [(S n) ← a2] HH

subgoal 2 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 3 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using ,)


edestruct IHtyp2 with (HH:=x::HH);simpl;[econstructor;eassumption..| |].
4 subgoals, subgoal 1 (ID 17782)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ b : B
  H2_1 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ b [(length HH) ← a1] =
           subst_mult_term 0 b [(length HH) ← a2] HH
  IHtyp3 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H6 : Γ1 ⊢ x : A [(length HH) ← a1] =
       subst_mult_term 0 A [(length HH) ← a2] HH
  ============================
   subst_mult_env 0 (A [(length HH) ← a2] :: Γ2) (x :: HH)
     (A [(length HH) ← a1] :: Γ1)

subgoal 2 (ID 17783) is:
 Γ1 ⊢ λ [A [n ← a1]], b [(S n) ← a1] =
 λ [subst_mult_term 0 A [n ← a2] HH], subst_mult_term 1 b [(S n) ← a2] HH
subgoal 3 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 4 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using ,)


eapply msub_S with (s:=s1);[eapply subst_mult_cons;eassumption|do 2 econstructor|
change !s1 with !s1[n a1];eapply substitution;try eassumption;eapply wf_typ;eassumption|
eassumption|do 2 econstructor|econstructor].
3 subgoals, subgoal 1 (ID 17783)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H2 : Rel s1 s2 s3
  H2_ : Γ ⊢ A : !s1
  H2_0 : A :: Γ ⊢ b : B
  H2_1 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ A [(length HH) ← a1] =
           subst_mult_term 0 A [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ b [(length HH) ← a1] =
           subst_mult_term 0 b [(length HH) ← a2] HH
  IHtyp3 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) (A :: Γ) Γ1 ->
           sub_in_env Δ a2 T (length HH) (A :: Γ) Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H3 : sub_in_env Δ a1 T n Γ Γ1
  H4 : sub_in_env Δ a2 T n Γ Γ2
  H5 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H6 : Γ1 ⊢ x : A [(length HH) ← a1] =
       subst_mult_term 0 A [(length HH) ← a2] HH
  x0 : Prf
  H7 : A [(length HH) ← a1] :: Γ1 ⊢ x0 : b [(length (x :: HH)) ← a1] =
       subst_mult_term 0 b [(length (x :: HH)) ← a2] (x :: HH)
  ============================
   Γ1 ⊢ λ [A [n ← a1]], b [(S n) ← a1] =
   λ [subst_mult_term 0 A [n ← a2] HH], subst_mult_term 1 b [(S n) ← a2] HH

subgoal 2 (ID 17202) is:
 Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH
subgoal 3 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using ,)


econstructor;eapply cAbsEq;simpl;try eassumption;solve.
2 subgoals, subgoal 1 (ID 17202)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  H2_ : Γ ⊢ F : Π (A), B
  H2_0 : Γ ⊢ a : A
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ F [(length HH) ← a1] =
           subst_mult_term 0 F [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H2 : sub_in_env Δ a1 T n Γ Γ1
  H3 : sub_in_env Δ a2 T n Γ Γ2
  H4 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ (F · a) [n ← a1] = subst_mult_term 0 (F · a) [n ← a2] HH

subgoal 2 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using ,)


simpl;rewrite subst_mult_app.
2 subgoals, subgoal 1 (ID 18097)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  H2_ : Γ ⊢ F : Π (A), B
  H2_0 : Γ ⊢ a : A
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ F [(length HH) ← a1] =
           subst_mult_term 0 F [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H2 : sub_in_env Δ a1 T n Γ Γ1
  H3 : sub_in_env Δ a2 T n Γ Γ2
  H4 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ F [n ← a1] · a [n ← a1] =
   subst_mult_term 0 F [n ← a2] HH · subst_mult_term 0 a [n ← a2] HH

subgoal 2 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using ,)


edestruct IHtyp1;[eassumption..|].
2 subgoals, subgoal 1 (ID 18116)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  H2_ : Γ ⊢ F : Π (A), B
  H2_0 : Γ ⊢ a : A
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ F [(length HH) ← a1] =
           subst_mult_term 0 F [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H2 : sub_in_env Δ a1 T n Γ Γ1
  H3 : sub_in_env Δ a2 T n Γ Γ2
  H4 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H5 : Γ1 ⊢ x : F [(length HH) ← a1] =
       subst_mult_term 0 F [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ F [n ← a1] · a [n ← a1] =
   subst_mult_term 0 F [n ← a2] HH · subst_mult_term 0 a [n ← a2] HH

subgoal 2 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using ,)


edestruct IHtyp2;[eassumption..|].
2 subgoals, subgoal 1 (ID 18135)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  H2_ : Γ ⊢ F : Π (A), B
  H2_0 : Γ ⊢ a : A
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ F [(length HH) ← a1] =
           subst_mult_term 0 F [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H2 : sub_in_env Δ a1 T n Γ Γ1
  H3 : sub_in_env Δ a2 T n Γ Γ2
  H4 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H5 : Γ1 ⊢ x : F [(length HH) ← a1] =
       subst_mult_term 0 F [(length HH) ← a2] HH
  x0 : Prf
  H6 : Γ1 ⊢ x0 : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ F [n ← a1] · a [n ← a1] =
   subst_mult_term 0 F [n ← a2] HH · subst_mult_term 0 a [n ← a2] HH

subgoal 2 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using ,)


econstructor;eapply cAppEq with (A:=A[n a1]) (B:=B[S n a1]) (B':=subst_mult_term 1 B [S n a2] HH);
simpl;try eassumption;solve.
2 subgoals, subgoal 1 (ID 18188)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  H2_ : Γ ⊢ F : Π (A), B
  H2_0 : Γ ⊢ a : A
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ F [(length HH) ← a1] =
           subst_mult_term 0 F [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H2 : sub_in_env Δ a1 T n Γ Γ1
  H3 : sub_in_env Δ a2 T n Γ Γ2
  H4 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H5 : Γ1 ⊢ x : F [(length HH) ← a1] =
       subst_mult_term 0 F [(length HH) ← a2] HH
  x0 : Prf
  H6 : Γ1 ⊢ x0 : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  ============================
   Γ2 ⊢ F [n ← a2] : Π (A [n ← a2]), B [(S n) ← a2]

subgoal 2 (ID 17208) is:
 Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using ,)

solve.
1 subgoals, subgoal 1 (ID 17208)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ (a ∽ H2) [n ← a1] = subst_mult_term 0 (a ∽ H2) [n ← a2] HH

(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using ,)


simpl;rewrite subst_mult_conv.
1 subgoals, subgoal 1 (ID 18287)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  ============================
   Γ1 ⊢ a [n ← a1] ∽ H2 [n ←h a1] =
   subst_mult_term 0 a [n ← a2] HH ∽ subst_mult_prf 0 H2 [n ←h a2] HH

(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using ,)


edestruct IHtyp1;[eassumption..|].
1 subgoals, subgoal 1 (ID 18306)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ a [n ← a1] ∽ H2 [n ←h a1] =
   subst_mult_term 0 a [n ← a2] HH ∽ subst_mult_prf 0 H2 [n ←h a2] HH

(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using ,)


edestruct IHtyp2;[eassumption..|].
1 subgoals, subgoal 1 (ID 18325)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ a [n ← a1] ∽ H2 [n ←h a1] =
   subst_mult_term 0 a [n ← a2] HH ∽ subst_mult_prf 0 H2 [n ←h a2] HH

(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using ,)


econstructor;eapply cTrans.
2 subgoals, subgoal 1 (ID 18332)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ ?18329 : a [n ← a1] ∽ H2 [n ←h a1] = ?18331

subgoal 2 (ID 18333) is:
 Γ1 ⊢ ?18330 : ?18331 =
 subst_mult_term 0 a [n ← a2] HH ∽ subst_mult_prf 0 H2 [n ←h a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 open, ?18330 open, ?18331 open,)


apply cSym;eapply cIota with (s:=s);try change !s with !s[n a1];
eapply substitution;try eassumption;eapply wf_typ;eassumption.
1 subgoals, subgoal 1 (ID 18333)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ ?18330 : a [n ← a1] =
   subst_mult_term 0 a [n ← a2] HH ∽ subst_mult_prf 0 H2 [n ←h a2] HH

(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 open, ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using ,)


eapply cTrans.
2 subgoals, subgoal 1 (ID 18434)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ ?18431 : a [n ← a1] = ?18433

subgoal 2 (ID 18435) is:
 Γ1 ⊢ ?18432 : ?18433 =
 subst_mult_term 0 a [n ← a2] HH ∽ subst_mult_prf 0 H2 [n ←h a2] HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 open, ?18432 open, ?18433 open,)

eassumption.
1 subgoals, subgoal 1 (ID 18435)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ ?18432 : subst_mult_term 0 a [(length HH) ← a2] HH =
   subst_mult_term 0 a [n ← a2] HH ∽ subst_mult_prf 0 H2 [n ←h a2] HH

(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 open, ?18433 using ,)


eapply cIota with (s:=s).
3 subgoals, subgoal 1 (ID 18438)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ subst_mult_term 0 a [n ← a2] HH : ?18436

subgoal 2 (ID 18439) is:
 Γ1 ⊢ ?18437 : !s
subgoal 3 (ID 18440) is:
 Γ1 ⊢ subst_mult_prf 0 H2 [n ←h a2] HH : ?18436 = ?18437
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 using , ?18433 using , ?18436 open, ?18437 open,)


eapply subst_mult_typ;[|eassumption];eapply substitution;try eassumption;eapply wf_typ;eassumption.
2 subgoals, subgoal 1 (ID 18439)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ ?18437 : !s

subgoal 2 (ID 18440) is:
 Γ1 ⊢ subst_mult_prf 0 H2 [n ←h a2] HH : subst_mult_term 0 A [n ← a2] HH =
 ?18437
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 using , ?18433 using , ?18436 using ?18441 , ?18437 open, ?18441 using ?18454 , ?18442 using , ?18454 using , ?18455 using ?18462 , ?18456 using ?18464 , ?18457 using ?18465 , ?18462 using , ?18464 using , ?18465 using , ?18469 using , ?18470 using ,)


replace !s with (subst_mult_term 0 !s HH) by (apply subst_mult_sort).
2 subgoals, subgoal 1 (ID 18475)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ ?18437 : subst_mult_term 0 !s HH

subgoal 2 (ID 18440) is:
 Γ1 ⊢ subst_mult_prf 0 H2 [n ←h a2] HH : subst_mult_term 0 A [n ← a2] HH =
 ?18437
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 using , ?18433 using , ?18436 using ?18441 , ?18437 open, ?18441 using ?18454 , ?18442 using , ?18454 using , ?18455 using ?18462 , ?18456 using ?18464 , ?18457 using ?18465 , ?18462 using , ?18464 using , ?18465 using , ?18469 using , ?18470 using ,)


eapply subst_mult_typ;[|eassumption].
2 subgoals, subgoal 1 (ID 18479)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ2 ⊢ ?18477 : !s

subgoal 2 (ID 18440) is:
 Γ1 ⊢ subst_mult_prf 0 H2 [n ←h a2] HH : subst_mult_term 0 A [n ← a2] HH =
 subst_mult_term 0 ?18477 HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 using , ?18433 using , ?18436 using ?18441 , ?18437 using ?18477 , ?18441 using ?18454 , ?18442 using , ?18454 using , ?18455 using ?18462 , ?18456 using ?18464 , ?18457 using ?18465 , ?18462 using , ?18464 using , ?18465 using , ?18469 using , ?18470 using , ?18477 open, ?18478 using ,)

change !s with (!s[n a2]).
2 subgoals, subgoal 1 (ID 18482)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ2 ⊢ ?18477 : !s [n ← a2]

subgoal 2 (ID 18440) is:
 Γ1 ⊢ subst_mult_prf 0 H2 [n ←h a2] HH : subst_mult_term 0 A [n ← a2] HH =
 subst_mult_term 0 ?18477 HH
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 using , ?18433 using , ?18436 using ?18441 , ?18437 using ?18477 , ?18441 using ?18454 , ?18442 using , ?18454 using , ?18455 using ?18462 , ?18456 using ?18464 , ?18457 using ?18465 , ?18462 using , ?18464 using , ?18465 using , ?18469 using , ?18470 using , ?18477 open, ?18478 using ,)

eapply substitution;try eassumption;eapply wf_typ;eassumption.
1 subgoals, subgoal 1 (ID 18440)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ1 ⊢ subst_mult_prf 0 H2 [n ←h a2] HH : subst_mult_term 0 A [n ← a2] HH =
   subst_mult_term 0 B [n ← a2] HH

(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 using , ?18433 using , ?18436 using ?18441 , ?18437 using ?18477 , ?18441 using ?18454 , ?18442 using , ?18454 using , ?18455 using ?18462 , ?18456 using ?18464 , ?18457 using ?18465 , ?18462 using , ?18464 using , ?18465 using , ?18469 using , ?18470 using , ?18477 using ?18492 , ?18478 using , ?18492 using , ?18493 using ?18500 , ?18494 using ?18502 , ?18495 using ?18503 , ?18500 using , ?18502 using , ?18503 using , ?18507 using , ?18508 using ,)


eapply subst_mult_eq;[|eassumption].
1 subgoals, subgoal 1 (ID 18511)
  
  Δ : Env
  a1 : Term
  a2 : Term
  T : Term
  K : Prf
  H : Δ ⊢ a1 : T
  H0 : Δ ⊢ a2 : T
  H1 : Δ ⊢ K : a1 = a2
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H2 : Prf
  H2_ : Γ ⊢ a : A
  H2_0 : Γ ⊢ B : !s
  H3 : Γ ⊢ H2 : A = B
  IHtyp1 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ a [(length HH) ← a1] =
           subst_mult_term 0 a [(length HH) ← a2] HH
  IHtyp2 : forall (Γ1 Γ2 : Env) (HH : list Prf),
           sub_in_env Δ a1 T (length HH) Γ Γ1 ->
           sub_in_env Δ a2 T (length HH) Γ Γ2 ->
           subst_mult_env 0 Γ2 HH Γ1 ->
           Γ1 ⊢ B [(length HH) ← a1] =
           subst_mult_term 0 B [(length HH) ← a2] HH
  Γ1 : Env
  Γ2 : Env
  HH : list Prf
  n := length HH : nat
  H4 : sub_in_env Δ a1 T n Γ Γ1
  H5 : sub_in_env Δ a2 T n Γ Γ2
  H6 : subst_mult_env 0 Γ2 HH Γ1
  x : Prf
  H7 : Γ1 ⊢ x : a [(length HH) ← a1] =
       subst_mult_term 0 a [(length HH) ← a2] HH
  x0 : Prf
  H8 : Γ1 ⊢ x0 : B [(length HH) ← a1] =
       subst_mult_term 0 B [(length HH) ← a2] HH
  ============================
   Γ2 ⊢ H2 [n ←h a2] : A [n ← a2] = B [n ← a2]

(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 using , ?18433 using , ?18436 using ?18441 , ?18437 using ?18477 , ?18441 using ?18454 , ?18442 using , ?18454 using , ?18455 using ?18462 , ?18456 using ?18464 , ?18457 using ?18465 , ?18462 using , ?18464 using , ?18465 using , ?18469 using , ?18470 using , ?18477 using ?18492 , ?18478 using , ?18492 using , ?18493 using ?18500 , ?18494 using ?18502 , ?18495 using ?18503 , ?18500 using , ?18502 using , ?18503 using , ?18507 using , ?18508 using , ?18510 using ,)

eapply substitution;try eassumption;eapply wf_typ;eassumption.
No more subgoals.
(dependent evars: ?17212 using , ?17214 using ?17217 , ?17217 using , ?17224 using ?17232 , ?17225 using ?17234 , ?17226 using ?17235 , ?17227 using ?17236 , ?17228 using ?17238 , ?17232 using ?17240 , ?17234 using ?17242 , ?17235 using ?17243 , ?17236 using ?17244 , ?17238 using ?17246 , ?17240 using , ?17242 using , ?17243 using , ?17244 using , ?17246 using , ?17254 using ?17262 , ?17255 using ?17264 , ?17256 using ?17265 , ?17257 using ?17266 , ?17258 using ?17268 , ?17262 using ?17270 , ?17264 using ?17272 , ?17265 using ?17273 , ?17266 using ?17274 , ?17268 using ?17276 , ?17270 using , ?17272 using , ?17273 using , ?17274 using , ?17276 using , ?17295 using , ?17304 using ?17312 , ?17305 using ?17314 , ?17306 using ?17315 , ?17307 using ?17316 , ?17308 using ?17318 , ?17312 using ?17320 , ?17314 using ?17322 , ?17315 using ?17323 , ?17316 using ?17324 , ?17318 using ?17326 , ?17320 using , ?17322 using , ?17323 using , ?17324 using , ?17326 using , ?17337 using ?17339 , ?17339 using , ?17340 using , ?17344 using , ?17345 using , ?17346 using , ?17424 using , ?17427 using ?17435 , ?17435 using , ?17441 using , ?17442 using , ?17443 using , ?17444 using , ?17445 using , ?17464 using , ?17465 using , ?17466 using , ?17484 using ?17508 ?17507 , ?17485 using ?17514 ?17513 , ?17506 using , ?17507 using , ?17508 using , ?17512 using , ?17513 using , ?17514 using , ?17516 using ?17529 ?17528 , ?17517 using , ?17518 using ?17568 ?17567 , ?17519 using , ?17520 using ?17546 , ?17527 using , ?17528 using , ?17529 using , ?17546 using , ?17547 using ?17554 , ?17548 using ?17556 , ?17549 using ?17557 , ?17554 using , ?17556 using , ?17557 using , ?17561 using , ?17562 using , ?17566 using , ?17567 using , ?17568 using , ?17573 using ?17577 ?17576 ?17575 , ?17575 using , ?17576 using , ?17577 using , ?17578 using , ?17579 using , ?17580 using , ?17581 using , ?17582 using , ?17583 using , ?17610 using ?17617 , ?17611 using ?17619 , ?17612 using ?17620 , ?17617 using , ?17619 using , ?17620 using , ?17626 using , ?17627 using , ?17634 using , ?17647 using ?17654 , ?17648 using ?17656 , ?17649 using ?17657 , ?17654 using , ?17656 using , ?17657 using , ?17663 using , ?17664 using , ?17676 using ?17683 , ?17677 using ?17685 , ?17678 using ?17686 , ?17683 using , ?17685 using , ?17686 using , ?17695 using , ?17702 using ?17707 ?17706 , ?17705 using , ?17706 using , ?17707 using , ?17719 using ?17726 , ?17720 using ?17728 , ?17721 using ?17729 , ?17726 using , ?17728 using , ?17729 using , ?17738 using , ?17744 using , ?17745 using , ?17746 using , ?17764 using ?17788 ?17787 , ?17765 using ?17794 ?17793 , ?17786 using , ?17787 using , ?17788 using , ?17792 using , ?17793 using , ?17794 using , ?17796 using ?17809 ?17808 , ?17797 using , ?17798 using ?17848 ?17847 , ?17799 using , ?17800 using ?17826 , ?17807 using , ?17808 using , ?17809 using , ?17826 using , ?17827 using ?17834 , ?17828 using ?17836 , ?17829 using ?17837 , ?17834 using , ?17836 using , ?17837 using , ?17841 using , ?17842 using , ?17846 using , ?17847 using , ?17848 using , ?17853 using ?17857 ?17856 ?17855 , ?17855 using , ?17856 using , ?17857 using , ?17858 using ?17961 , ?17859 using ?17983 , ?17860 using , ?17861 using , ?17862 using , ?17863 using , ?17864 using , ?17865 using , ?17896 using ?17903 , ?17897 using ?17905 , ?17898 using ?17906 , ?17903 using , ?17905 using , ?17906 using , ?17912 using , ?17913 using , ?17920 using , ?17933 using ?17940 , ?17934 using ?17942 , ?17935 using ?17943 , ?17940 using , ?17942 using , ?17943 using , ?17949 using , ?17950 using , ?17961 using , ?17962 using ?17969 , ?17963 using ?17971 , ?17964 using ?17972 , ?17969 using , ?17971 using , ?17972 using , ?17981 using , ?17983 using ?18000 , ?17984 using ?17989 ?17988 , ?17987 using , ?17988 using , ?17989 using , ?18000 using , ?18001 using ?18008 , ?18002 using ?18010 , ?18003 using ?18011 , ?18008 using , ?18010 using , ?18011 using , ?18020 using , ?18032 using ?18039 , ?18033 using ?18041 , ?18034 using ?18042 , ?18039 using , ?18041 using , ?18042 using , ?18051 using , ?18058 using ?18063 ?18062 , ?18061 using , ?18062 using , ?18063 using , ?18075 using ?18082 , ?18076 using ?18084 , ?18077 using ?18085 , ?18082 using , ?18084 using , ?18085 using , ?18094 using , ?18100 using , ?18101 using , ?18102 using , ?18119 using , ?18120 using , ?18121 using , ?18137 using ?18140 ?18139 , ?18139 using , ?18140 using , ?18141 using ?18185 ?18184 ?18183 , ?18164 using ?18171 , ?18165 using ?18173 , ?18166 using ?18174 , ?18171 using , ?18173 using , ?18174 using , ?18180 using , ?18181 using , ?18183 using , ?18184 using ?18237 , ?18185 using , ?18187 using , ?18206 using ?18213 , ?18207 using ?18215 , ?18208 using ?18216 , ?18213 using , ?18215 using , ?18216 using , ?18222 using , ?18223 using , ?18225 using , ?18237 using , ?18238 using ?18245 , ?18239 using ?18247 , ?18240 using ?18248 , ?18245 using , ?18247 using , ?18248 using , ?18254 using , ?18255 using , ?18267 using ?18274 , ?18268 using ?18276 , ?18269 using ?18277 , ?18274 using , ?18276 using , ?18277 using , ?18283 using , ?18284 using , ?18290 using , ?18291 using , ?18292 using , ?18309 using , ?18310 using , ?18311 using , ?18327 using ?18330 ?18329 , ?18329 using ?18334 , ?18330 using ?18432 ?18431 , ?18331 using , ?18334 using , ?18336 using ?18356 , ?18337 using ?18380 , ?18356 using , ?18357 using ?18364 , ?18358 using ?18366 , ?18359 using ?18367 , ?18364 using , ?18366 using , ?18367 using , ?18380 using , ?18381 using ?18388 , ?18382 using ?18390 , ?18383 using ?18391 , ?18388 using , ?18390 using , ?18391 using , ?18401 using ?18408 , ?18402 using ?18410 , ?18403 using ?18411 , ?18408 using ?18415 , ?18410 using ?18417 , ?18411 using ?18418 , ?18415 using , ?18417 using , ?18418 using , ?18422 using , ?18423 using , ?18425 using , ?18426 using , ?18428 using , ?18429 using , ?18431 using , ?18432 using , ?18433 using , ?18436 using ?18441 , ?18437 using ?18477 , ?18441 using ?18454 , ?18442 using , ?18454 using , ?18455 using ?18462 , ?18456 using ?18464 , ?18457 using ?18465 , ?18462 using , ?18464 using , ?18465 using , ?18469 using , ?18470 using , ?18477 using ?18492 , ?18478 using , ?18492 using , ?18493 using ?18500 , ?18494 using ?18502 , ?18495 using ?18503 , ?18500 using , ?18502 using , ?18503 using , ?18507 using , ?18508 using , ?18510 using , ?18519 using ?18526 , ?18520 using ?18528 , ?18521 using ?18529 , ?18526 using ?18533 , ?18528 using ?18535 , ?18529 using ?18536 , ?18533 using , ?18535 using , ?18536 using , ?18540 using , ?18541 using ,)


Qed.
equality_subst_ext is defined



Corollary equality_subst : forall Γ F N H M1 M2 A,A::Γ F : N->Γ H : M1 = M2->Γ M1 : A->Γ M2 : A -> Γ F [ M1] = F [ M2].
1 subgoals, subgoal 1 (ID 18571)
  
  ============================
   forall (Γ : list Term) (F N : Term) (H : Prf) (M1 M2 A : Term),
   A :: Γ ⊢ F : N ->
   Γ ⊢ H : M1 = M2 -> Γ ⊢ M1 : A -> Γ ⊢ M2 : A -> Γ ⊢ F [ ← M1] = F [ ← M2]

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 18582)
  
  Γ : list Term
  F : Term
  N : Term
  H : Prf
  M1 : Term
  M2 : Term
  A : Term
  H0 : A :: Γ ⊢ F : N
  H1 : Γ ⊢ H : M1 = M2
  H2 : Γ ⊢ M1 : A
  H3 : Γ ⊢ M2 : A
  ============================
   Γ ⊢ F [ ← M1] = F [ ← M2]

(dependent evars:)


change F[← M2] with (subst_mult_term 0 F[← M2] nil);change 0 with (@length Prf nil).
1 subgoals, subgoal 1 (ID 18588)
  
  Γ : list Term
  F : Term
  N : Term
  H : Prf
  M1 : Term
  M2 : Term
  A : Term
  H0 : A :: Γ ⊢ F : N
  H1 : Γ ⊢ H : M1 = M2
  H2 : Γ ⊢ M1 : A
  H3 : Γ ⊢ M2 : A
  ============================
   Γ ⊢ F [(length nil) ← M1] =
   subst_mult_term (length nil) F [(length nil) ← M2] nil

(dependent evars:)


eapply equality_subst_ext;try eassumption;econstructor;eassumption.
No more subgoals.
(dependent evars: ?18589 using , ?18590 using , ?18591 using , ?18592 using , ?18593 using , ?18594 using ,)


Qed.
equality_subst is defined



Below we prove the result about comparable types and unique derivations


Inductive comparable : Term -> Term -> Prop :=
| comp_refl : forall M, comparable M M
| comp_sort : forall s t, comparable !s !t
| comp_prod : forall A M N, comparable M N -> comparable (Π(A),M) (Π(A),N).
comparable is defined
comparable_ind is defined



Lemma comp_subst : forall M N, comparable M N -> forall a n, comparable M [n a] N [n a].
1 subgoals, subgoal 1 (ID 18630)
  
  ============================
   forall M N : Term,
   comparable M N ->
   forall (a : Term) (n : nat), comparable M [n ← a] N [n ← a]

(dependent evars:)


induction 1;simpl;constructor;apply IHcomparable.
No more subgoals.
(dependent evars:)


Qed.
comp_subst is defined



Lemma type_comparable : forall Γ M A, Γ M : A -> forall B, Γ M : B -> comparable A B.
1 subgoals, subgoal 1 (ID 18686)
  
  ============================
   forall (Γ : Env) (M A : Term),
   Γ ⊢ M : A -> forall B : Term, Γ ⊢ M : B -> comparable A B

(dependent evars:)


induction 1;intros ? HH.
6 subgoals, subgoal 1 (ID 18783)
  
  Γ : Env
  s : Sorts
  t : Sorts
  H : Ax s t
  H0 : Γ ⊣
  B : Term
  HH : Γ ⊢ !s : B
  ============================
   comparable !t B

subgoal 2 (ID 18785) is:
 comparable A B
subgoal 3 (ID 18787) is:
 comparable !s3 B0
subgoal 4 (ID 18789) is:
 comparable (Π (A), B) B0
subgoal 5 (ID 18791) is:
 comparable B [ ← a] B0
subgoal 6 (ID 18793) is:
 comparable B B0
(dependent evars:)


apply gen_sort in HH as(?&?&?);subst;constructor.
5 subgoals, subgoal 1 (ID 18785)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣
  H0 : A ↓ v ⊂ Γ
  B : Term
  HH : Γ ⊢ #v : B
  ============================
   comparable A B

subgoal 2 (ID 18787) is:
 comparable !s3 B0
subgoal 3 (ID 18789) is:
 comparable (Π (A), B) B0
subgoal 4 (ID 18791) is:
 comparable B [ ← a] B0
subgoal 5 (ID 18793) is:
 comparable B B0
(dependent evars:)


apply gen_var in HH as(?&?&?);destruct H0 as (?&?&?);destruct H2 as (?&?&?);subst.
5 subgoals, subgoal 1 (ID 18848)
  
  Γ : Env
  v : nat
  H : Γ ⊣
  x0 : Term
  H3 : x0 ↓ v ∈ Γ
  x1 : Term
  H4 : x1 ↓ v ∈ Γ
  ============================
   comparable x0 ↑ (S v) x1 ↑ (S v)

subgoal 2 (ID 18787) is:
 comparable !s3 B0
subgoal 3 (ID 18789) is:
 comparable (Π (A), B) B0
subgoal 4 (ID 18791) is:
 comparable B [ ← a] B0
subgoal 5 (ID 18793) is:
 comparable B B0
(dependent evars:)


assert (x0=x1) by (eapply fun_item;eassumption);subst;constructor.
4 subgoals, subgoal 1 (ID 18787)
  
  Γ : Env
  A : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A : !s1
  H1 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall B : Term, Γ ⊢ A : B -> comparable !s1 B
  IHtyp2 : forall B0 : Term, A :: Γ ⊢ B : B0 -> comparable !s2 B0
  B0 : Term
  HH : Γ ⊢ Π (A), B : B0
  ============================
   comparable !s3 B0

subgoal 2 (ID 18789) is:
 comparable (Π (A), B) B0
subgoal 3 (ID 18791) is:
 comparable B [ ← a] B0
subgoal 4 (ID 18793) is:
 comparable B B0
(dependent evars: ?18852 using , ?18853 using ,)


apply gen_pi in HH as (?&?&?&?&?&?&?);subst;constructor.
3 subgoals, subgoal 1 (ID 18789)
  
  Γ : Env
  A : Term
  B : Term
  b : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A : !s1
  H1 : A :: Γ ⊢ b : B
  H2 : A :: Γ ⊢ B : !s2
  IHtyp1 : forall B : Term, Γ ⊢ A : B -> comparable !s1 B
  IHtyp2 : forall B0 : Term, A :: Γ ⊢ b : B0 -> comparable B B0
  IHtyp3 : forall B0 : Term, A :: Γ ⊢ B : B0 -> comparable !s2 B0
  B0 : Term
  HH : Γ ⊢ λ [A], b : B0
  ============================
   comparable (Π (A), B) B0

subgoal 2 (ID 18791) is:
 comparable B [ ← a] B0
subgoal 3 (ID 18793) is:
 comparable B B0
(dependent evars: ?18852 using , ?18853 using ,)


apply gen_la in HH as (?&?&?&?&?&?&?&?&?);subst;constructor;apply IHtyp2;assumption.
2 subgoals, subgoal 1 (ID 18791)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  H : Γ ⊢ F : Π (A), B
  H0 : Γ ⊢ a : A
  IHtyp1 : forall B0 : Term, Γ ⊢ F : B0 -> comparable (Π (A), B) B0
  IHtyp2 : forall B : Term, Γ ⊢ a : B -> comparable A B
  B0 : Term
  HH : Γ ⊢ F · a : B0
  ============================
   comparable B [ ← a] B0

subgoal 2 (ID 18793) is:
 comparable B B0
(dependent evars: ?18852 using , ?18853 using ,)


apply gen_app in HH as (?&?&?&?&?);subst;apply comp_subst.
2 subgoals, subgoal 1 (ID 18956)
  
  Γ : Env
  F : Term
  a : Term
  A : Term
  B : Term
  H : Γ ⊢ F : Π (A), B
  H0 : Γ ⊢ a : A
  IHtyp1 : forall B0 : Term, Γ ⊢ F : B0 -> comparable (Π (A), B) B0
  IHtyp2 : forall B : Term, Γ ⊢ a : B -> comparable A B
  x : Term
  x0 : Term
  H2 : Γ ⊢ F : Π (x), x0
  H3 : Γ ⊢ a : x
  ============================
   comparable B x0

subgoal 2 (ID 18793) is:
 comparable B B0
(dependent evars: ?18852 using , ?18853 using ,)


apply IHtyp1 in H2;inversion H2;[constructor|assumption].
1 subgoals, subgoal 1 (ID 18793)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  H0 : Γ ⊢ a : A
  H1 : Γ ⊢ B : !s
  H2 : Γ ⊢ H : A = B
  IHtyp1 : forall B : Term, Γ ⊢ a : B -> comparable A B
  IHtyp2 : forall B0 : Term, Γ ⊢ B : B0 -> comparable !s B0
  B0 : Term
  HH : Γ ⊢ a ∽ H : B0
  ============================
   comparable B B0

(dependent evars: ?18852 using , ?18853 using ,)


apply gen_conv in HH as (?&?&?&?&?).
1 subgoals, subgoal 1 (ID 19072)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  H0 : Γ ⊢ a : A
  H1 : Γ ⊢ B : !s
  H2 : Γ ⊢ H : A = B
  IHtyp1 : forall B : Term, Γ ⊢ a : B -> comparable A B
  IHtyp2 : forall B0 : Term, Γ ⊢ B : B0 -> comparable !s B0
  B0 : Term
  x : Term
  x0 : Sorts
  H3 : Γ ⊢ a : x
  H4 : Γ ⊢ B0 : !x0
  H5 : Γ ⊢ H : x = B0
  ============================
   comparable B B0

(dependent evars: ?18852 using , ?18853 using ,)


edestruct equality_unique;[eexact H2|eexact H5|].
1 subgoals, subgoal 1 (ID 19091)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Prf
  H0 : Γ ⊢ a : A
  H1 : Γ ⊢ B : !s
  H2 : Γ ⊢ H : A = B
  IHtyp1 : forall B : Term, Γ ⊢ a : B -> comparable A B
  IHtyp2 : forall B0 : Term, Γ ⊢ B : B0 -> comparable !s B0
  B0 : Term
  x : Term
  x0 : Sorts
  H3 : Γ ⊢ a : x
  H4 : Γ ⊢ B0 : !x0
  H5 : Γ ⊢ H : x = B0
  H6 : A = x
  H7 : B = B0
  ============================
   comparable B B0

(dependent evars: ?18852 using , ?18853 using , ?19075 using , ?19076 using , ?19077 using , ?19078 using , ?19079 using , ?19080 using ,)


subst;constructor.
No more subgoals.
(dependent evars: ?18852 using , ?18853 using , ?19075 using , ?19076 using , ?19077 using , ?19078 using , ?19079 using , ?19080 using ,)


Qed.
type_comparable is defined



We use trees with an arbitrary (finite) number of branches for derivations. We encode the rules by natural numbers.

Inductive deriv : Set :=
| node : list deriv -> nat -> deriv.
deriv is defined
deriv_rect is defined
deriv_ind is defined
deriv_rec is defined



Import ListNotations.
<W> Grammar extension: in [constr:operconstr], some rule has been masked
<W> Grammar extension: in [constr:pattern], some rule has been masked



Inductive der_wf : deriv -> Env -> Prop :=
 | dnil : der_wf (node nil 0) nil
 | dcons : forall Γ A s D, der_typ D Γ A !s -> der_wf (node ([D]) 1) (A::Γ)
with der_typ : deriv -> Env -> Term -> Term -> Prop :=
 | dSort : forall Γ s t D, Ax s t -> der_wf D Γ -> der_typ (node ([D]) 2) Γ !s !t
 | dVar : forall Γ A v D, A v Γ -> der_wf D Γ -> der_typ (node ([D]) 3) Γ #v A
 | dProd : forall Γ A B s1 s2 s3 D1 D2, Rel s1 s2 s3 -> der_typ D1 Γ A !s1 -> der_typ D2 (A::Γ) B !s2 -> der_typ (node ([D1;D2]) 4) Γ (Π(A), B) !s3
 | dAbs : forall Γ A B b s1 s2 s3 D1 D2 D3, Rel s1 s2 s3 -> der_typ D1 Γ A !s1 -> der_typ D2 (A::Γ) b B
                      -> der_typ D3 (A::Γ) B !s2 -> der_typ (node ([D1;D2;D3]) 5) Γ (λ[A], b) (Π(A), B)
 | dApp : forall Γ F a A B D1 D2, der_typ D1 Γ F (Π(A), B) -> der_typ D2 Γ a A -> der_typ (node ([D1;D2]) 6) Γ (F · a) (B[←a])
 | dConv : forall Γ a A B s H D1 D2 D3, der_typ D1 Γ a A -> der_typ D2 Γ B !s -> der_h D3 Γ H A B -> der_typ (node ([D1;D2;D3]) 7) Γ (a H) B
with der_h : deriv -> Env -> Prf -> Term -> Term -> Prop :=
 | dRefl : forall Γ a A D, der_typ D Γ a A -> der_h (node ([D]) 8) Γ (ρ a) a a
 | dSym : forall Γ H A B D, der_h D Γ H A B -> der_h (node ([D]) 9) Γ (H) B A
 | dTrans : forall Γ H K A B C D1 D2, der_h D1 Γ H A B -> der_h D2 Γ K B C -> der_h (node ([D1;D2]) 10) Γ (HK) A C
 | dBeta : forall Γ a A b B s1 s2 s3 D1 D2 D3 D4, Rel s1 s2 s3 -> der_typ D1 Γ a A -> der_typ D2 Γ A !s1
                      -> der_typ D3 (A::Γ) b B -> der_typ D4 (A::Γ) B !s2 -> der_h (node ([D1;D2;D3;D4]) 11) Γ (β((λ[A], ba)) ((λ[A], ba) (b[←a])
 | dProdEq : forall Γ A A' B B' H K s1 s2 s3 s1' s2' s3' D1 D2 D3 D4 D5 D6, Rel s1 s2 s3 -> Rel s1' s2' s3'
                      -> der_typ D1 Γ A !s1 -> der_typ D2 Γ A' !s1' -> der_typ D3 (A::Γ) B !s2 -> der_typ D4 (A'::Γ) B' !s2'
                      -> der_h D5 Γ H A A' -> der_h D6 (A::Γ) K B ((B'1#1)[←#0Hh1])
                      -> der_h (node ([D1;D2;D3;D4;D5;D6]) 12) Γ ({H,[A]K}) (Π(A), B) (Π(A'), B')
 | dAbsEq : forall Γ A A' b b' B B' H K s1 s2 s3 s1' s2' s3' D1 D2 D3 D4 D5 D6 D7 D8, Rel s1 s2 s3 -> Rel s1' s2' s3'
                      -> der_typ D1 Γ A !s1 -> der_typ D2 Γ A' !s1' -> der_typ D3 (A::Γ) b B -> der_typ D4 (A'::Γ) b' B'
                      -> der_typ D5 (A::Γ) B !s2 -> der_typ D6 (A'::Γ) B' !s2' -> der_h D7 Γ H A A' -> der_h D8 (A::Γ) K b ((b'1#1)[←#0Hh1])
                      -> der_h (node ([D1;D2;D3;D4;D5;D6;D7;D8]) 13) Γ (H,[A]K) (λ[A], b) (λ[A'], b')
 | dAppEq : forall Γ F F' a a' A A' B B' H K D1 D2 D3 D4 D5 D6, der_typ D1 Γ F (Π(A), B) -> der_typ D2 Γ F' (Π(A'), B')
                      -> der_typ D3 Γ a A -> der_typ D4 Γ a' A' -> der_h D5 Γ H F F' -> der_h D6 Γ K a a'
                      -> der_h (node ([D1;D2;D3;D4;D5;D6]) 14) Γ (H ·h K) (F · a) (F' · a')
 | dIota : forall Γ a A B s H D1 D2 D3, der_typ D1 Γ a A -> der_typ D2 Γ B !s -> der_h D3 Γ H A B -> der_h (node ([D1;D2;D3]) 15) Γ (ι(aH)) a (aH)
.
der_wf, der_typ, der_h are defined
der_wf_ind is defined
der_typ_ind is defined
der_h_ind is defined



Scheme der_typ_ind' := Induction for der_typ Sort Prop
 with der_wf_ind' := Induction for der_wf Sort Prop
 with der_h_ind' := Induction for der_h Sort Prop.
der_h_ind' is defined
der_wf_ind' is defined
der_typ_ind' is defined
der_typ_ind', der_wf_ind', der_h_ind' are recursively defined



Combined Scheme der_induc from der_typ_ind', der_h_ind',der_wf_ind'.
der_induc is defined
der_induc is recursively defined



Lemma der_complete : (forall Γ A B, Γ A : B -> exists D, der_typ D Γ A B)/\
                     (forall Γ H A B, Γ H : A = B -> exists D, der_h D Γ H A B)/\
                     (forall Γ , Γ -> exists D, der_wf D Γ ).
1 subgoals, subgoal 1 (ID 19358)
  
  ============================
   (forall (Γ : Env) (A B : Term),
    Γ ⊢ A : B -> exists D : deriv, der_typ D Γ A B) /\
   (forall (Γ : Env) (H : Prf) (A B : Term),
    Γ ⊢ H : A = B -> exists D : deriv, der_h D Γ H A B) /\
   (forall Γ : Env, Γ ⊣ -> exists D : deriv, der_wf D Γ)

(dependent evars:)


apply typ_induc;intros;
try match (type of H) with
| exists _, _ => destruct H
end;
try destruct H0;try destruct H1;try destruct H2;try destruct H3;try destruct H4;try destruct H5;try destruct H6;try destruct H7;
econstructor;try (econstructor;eassumption);(econstructor;[| |eassumption..];eassumption).
No more subgoals.
(dependent evars: ?19808 using ?19857 ?19856 , ?19811 using ?19866 ?19865 , ?19814 using ?19876 ?19875 , ?19817 using ?19893 ?19892 , ?19820 using ?19916 ?19915 , ?19823 using ?19933 ?19932 , ?19826 using , ?19829 using ?19952 ?19951 , ?19832 using ?19960 ?19959 , ?19835 using ?19969 ?19968 , ?19838 using ?19978 ?19977 , ?19841 using ?19993 ?19992 , ?19844 using ?20172 ?20171 , ?19847 using ?20212 ?20211 , ?19850 using ?20112 ?20111 , ?19853 using ?20150 ?20149 , ?19856 using ?19860 ?19859 , ?19857 using , ?19858 using , ?19859 using , ?19860 using , ?19865 using ?19869 ?19868 , ?19866 using , ?19867 using , ?19868 using , ?19869 using , ?19875 using ?19879 ?19878 , ?19876 using , ?19877 using , ?19878 using , ?19879 using ?19882 ?19881 , ?19880 using , ?19881 using , ?19882 using , ?19883 using , ?19884 using , ?19892 using ?19896 ?19895 , ?19893 using , ?19894 using , ?19895 using , ?19896 using ?19899 ?19898 , ?19897 using , ?19898 using , ?19899 using ?19902 ?19901 , ?19900 using , ?19901 using , ?19902 using , ?19903 using , ?19904 using , ?19905 using , ?19915 using ?19919 ?19918 , ?19916 using , ?19917 using , ?19918 using , ?19919 using ?19922 ?19921 , ?19920 using , ?19921 using , ?19922 using , ?19923 using , ?19932 using ?19936 ?19935 , ?19933 using , ?19934 using , ?19935 using , ?19936 using ?19939 ?19938 , ?19937 using , ?19938 using , ?19939 using ?19942 ?19941 , ?19940 using , ?19941 using , ?19942 using , ?19943 using , ?19944 using , ?19951 using ?19955 ?19954 , ?19952 using , ?19953 using , ?19954 using , ?19955 using , ?19956 using , ?19959 using ?19963 ?19962 , ?19960 using , ?19961 using , ?19962 using , ?19963 using , ?19964 using , ?19968 using ?19972 ?19971 , ?19969 using , ?19970 using , ?19971 using , ?19972 using , ?19977 using ?19981 ?19980 , ?19978 using , ?19979 using , ?19980 using , ?19981 using ?19984 ?19983 , ?19982 using , ?19983 using , ?19984 using , ?19985 using , ?19992 using ?19996 ?19995 , ?19993 using , ?19994 using , ?19995 using , ?19996 using ?19999 ?19998 , ?19997 using , ?19998 using , ?19999 using ?20002 ?20001 , ?20000 using , ?20001 using , ?20002 using ?20005 ?20004 , ?20003 using , ?20004 using , ?20005 using , ?20006 using , ?20007 using , ?20008 using , ?20009 using , ?20111 using ?20115 ?20114 , ?20112 using , ?20113 using , ?20114 using , ?20115 using ?20118 ?20117 , ?20116 using , ?20117 using , ?20118 using ?20121 ?20120 , ?20119 using , ?20120 using , ?20121 using ?20124 ?20123 , ?20122 using , ?20123 using , ?20124 using ?20127 ?20126 , ?20125 using , ?20126 using , ?20127 using ?20130 ?20129 , ?20128 using , ?20129 using , ?20130 using , ?20131 using , ?20132 using , ?20133 using , ?20134 using , ?20149 using ?20153 ?20152 , ?20150 using , ?20151 using , ?20152 using , ?20153 using ?20156 ?20155 , ?20154 using , ?20155 using , ?20156 using ?20159 ?20158 , ?20157 using , ?20158 using , ?20159 using , ?20160 using , ?20161 using , ?20162 using , ?20171 using ?20175 ?20174 , ?20172 using , ?20173 using , ?20174 using , ?20175 using ?20178 ?20177 , ?20176 using , ?20177 using , ?20178 using ?20181 ?20180 , ?20179 using , ?20180 using , ?20181 using ?20184 ?20183 , ?20182 using , ?20183 using , ?20184 using ?20187 ?20186 , ?20185 using , ?20186 using , ?20187 using ?20190 ?20189 , ?20188 using , ?20189 using , ?20190 using , ?20191 using , ?20192 using , ?20193 using , ?20194 using , ?20195 using , ?20196 using , ?20211 using ?20215 ?20214 , ?20212 using , ?20213 using , ?20214 using , ?20215 using ?20218 ?20217 , ?20216 using , ?20217 using , ?20218 using ?20221 ?20220 , ?20219 using , ?20220 using , ?20221 using ?20224 ?20223 , ?20222 using , ?20223 using , ?20224 using ?20227 ?20226 , ?20225 using , ?20226 using , ?20227 using ?20230 ?20229 , ?20228 using , ?20229 using , ?20230 using ?20233 ?20232 , ?20231 using , ?20232 using , ?20233 using ?20236 ?20235 , ?20234 using , ?20235 using , ?20236 using , ?20237 using , ?20238 using , ?20239 using , ?20240 using , ?20241 using , ?20242 using , ?20243 using , ?20244 using ,)


Qed.
der_complete is defined



Lemma der_sound : (forall D Γ A B, der_typ D Γ A B -> Γ A : B)/\
                  (forall D Γ H A B, der_h D Γ H A B -> Γ H : A = B)/\
                  (forall D Γ , der_wf D Γ -> Γ ).
1 subgoals, subgoal 1 (ID 20267)
  
  ============================
   (forall (D : deriv) (Γ : Env) (A B : Term), der_typ D Γ A B -> Γ ⊢ A : B) /\
   (forall (D : deriv) (Γ : Env) (H : Prf) (A B : Term),
    der_h D Γ H A B -> Γ ⊢ H : A = B) /\
   (forall (D : deriv) (Γ : Env), der_wf D Γ -> Γ ⊣)

(dependent evars:)


apply der_induc;intros;try (econstructor;eassumption);(econstructor;[| |eassumption..];eassumption).
No more subgoals.
(dependent evars: ?20534 using , ?20535 using , ?20543 using , ?20544 using , ?20545 using , ?20555 using , ?20564 using , ?20565 using , ?20572 using , ?20575 using , ?20583 using , ?20590 using , ?20591 using , ?20592 using , ?20593 using , ?20649 using , ?20650 using , ?20651 using , ?20652 using , ?20667 using , ?20668 using , ?20669 using , ?20678 using , ?20679 using , ?20680 using , ?20681 using , ?20682 using , ?20683 using , ?20698 using , ?20699 using , ?20700 using , ?20701 using , ?20702 using , ?20703 using , ?20704 using , ?20705 using ,)


Qed.
der_sound is defined



Theorem unique_der_ext : (forall D Γ A B, der_typ D Γ A B -> forall A0 B0 D0, der_typ D0 Γ A0 B0 -> comparable A A0 -> D = D0)/\
                         (forall D Γ H A B, der_h D Γ H A B -> forall A0 B0 D0, der_h D0 Γ H A0 B0 -> D = D0)/\
                         (forall D Γ , der_wf D Γ -> forall D0, der_wf D0 Γ -> D = D0).
1 subgoals, subgoal 1 (ID 20738)
  
  ============================
   (forall (D : deriv) (Γ : Env) (A B : Term),
    der_typ D Γ A B ->
    forall (A0 B0 : Term) (D0 : deriv),
    der_typ D0 Γ A0 B0 -> comparable A A0 -> D = D0) /\
   (forall (D : deriv) (Γ : Env) (H : Prf) (A B : Term),
    der_h D Γ H A B ->
    forall (A0 B0 : Term) (D0 : deriv), der_h D0 Γ H A0 B0 -> D = D0) /\
   (forall (D : deriv) (Γ : Env),
    der_wf D Γ -> forall D0 : deriv, der_wf D0 Γ -> D = D0)

(dependent evars:)


apply der_induc;intros;
try match goal with
| H : comparable _ _ |- _ => inversion H;subst
end;
try match goal with
| H : der_typ ?D _ _ _ |- _ = ?D => inversion H;subst
| H : der_h ?D _ _ _ _ |- _ = ?D => inversion H;subst
| H : der_wf ?D _ |- _ = ?D => inversion H;subst
end;
repeat f_equal;
try (destruct (equality_unique Γ H A A' A A'0) as (_&?);[eapply der_sound;eassumption..|subst]);
try match goal with
| H : forall _, _ -> ?D = _ |- ?D = _ => eapply H;try eassumption
| H : forall _ _ _, _ -> ?D = _ |- ?D = _ => eapply H;try eassumption||econstructor
| H : forall _ _ _, _ -> _ -> ?D = _ |- ?D = _ => eapply H;try eassumption||econstructor
end;
try (try (eapply type_comparable;eapply der_sound;eassumption;fail);
try match goal with
| HA : der_h _ ?Γ ?H ?A ?C , HB : der_h _ ?Γ ?H ?B ?D |- comparable ?A ?B => destruct (equality_unique Γ H A C B D);[eapply der_sound;eassumption..|subst;constructor]
| HA : der_h _ ?Γ ?H ?C ?A , HB : der_h _ ?Γ ?H ?D ?B |- comparable ?A ?B => destruct (equality_unique Γ H C A D B);[eapply der_sound;eassumption..|subst;constructor]
end;fail);
[edestruct equality_unique;[eapply der_sound;eexact d4|eapply der_sound;eexact H22|];apply conv_inj in H8;subst;constructor|
edestruct equality_unique;[eapply der_sound;eexact d6|eapply der_sound;eexact H26|];apply conv_inj in H10;subst..];
[constructor|eapply type_comparable;eapply der_sound;eassumption..].
No more subgoals.
(dependent evars: ?28029 using ?28031 , ?28031 using ?28033 , ?28033 using , ?28041 using ?28043 , ?28043 using ?28045 , ?28045 using , ?28076 using ?28078 , ?28078 using ?28080 , ?28080 using , ?28088 using ?28090 , ?28090 using ?28092 , ?28092 using , ?28123 using ?28125 , ?28125 using ?28127 , ?28127 using , ?28135 using ?28137 , ?28137 using ?28139 , ?28139 using , ?28170 using ?28172 , ?28172 using ?28174 , ?28174 using , ?28182 using ?28184 , ?28184 using ?28186 , ?28186 using , ?28217 using ?28219 , ?28219 using ?28221 , ?28221 using , ?28229 using ?28231 , ?28231 using ?28233 , ?28233 using , ?28264 using ?28266 , ?28266 using ?28268 , ?28268 using , ?28276 using ?28278 , ?28278 using ?28280 , ?28280 using , ?28311 using ?28313 , ?28313 using ?28315 , ?28315 using , ?28323 using ?28325 , ?28325 using ?28327 , ?28327 using , ?28360 using ?28362 , ?28362 using ?28364 , ?28364 using , ?28372 using ?28374 , ?28374 using ?28376 , ?28376 using , ?28409 using ?28411 , ?28411 using ?28413 , ?28413 using , ?28421 using ?28423 , ?28423 using ?28425 , ?28425 using , ?28458 using ?28460 , ?28460 using ?28462 , ?28462 using , ?28470 using ?28472 , ?28472 using ?28474 , ?28474 using , ?28507 using ?28509 , ?28509 using ?28511 , ?28511 using , ?28519 using ?28521 , ?28521 using ?28523 , ?28523 using , ?28556 using ?28558 , ?28558 using ?28560 , ?28560 using , ?28568 using ?28570 , ?28570 using ?28572 , ?28572 using , ?28605 using ?28607 , ?28607 using ?28609 , ?28609 using , ?28617 using ?28619 , ?28619 using ?28621 , ?28621 using , ?28654 using ?28656 , ?28656 using ?28658 , ?28658 using , ?28666 using ?28668 , ?28668 using ?28670 , ?28670 using , ?28842 using , ?28843 using , ?28847 using , ?28848 using , ?28852 using , ?28853 using , ?28857 using , ?28858 using , ?28861 using , ?28862 using , ?28866 using , ?28867 using , ?28871 using , ?28872 using , ?28878 using , ?28879 using , ?28883 using , ?28884 using , ?28888 using , ?28889 using , ?28893 using , ?28894 using , ?28900 using , ?28901 using , ?28903 using , ?28904 using , ?28908 using , ?28909 using , ?28913 using , ?28914 using , ?28916 using , ?28917 using , ?28919 using , ?28920 using , ?28922 using , ?28923 using , ?28927 using , ?28928 using , ?28932 using , ?28933 using , ?28937 using , ?28938 using , ?28944 using , ?28945 using , ?28949 using , ?28950 using , ?28954 using , ?28955 using , ?28961 using , ?28962 using , ?28968 using , ?28969 using , ?28971 using , ?28972 using , ?28974 using , ?28975 using , ?28979 using , ?28980 using , ?28984 using , ?28985 using , ?28991 using , ?28992 using , ?28998 using , ?28999 using , ?29005 using , ?29006 using , ?29012 using , ?29013 using , ?29015 using , ?29016 using , ?29018 using , ?29019 using , ?29025 using , ?29026 using , ?29032 using , ?29033 using , ?29039 using , ?29040 using , ?29046 using , ?29047 using , ?29049 using , ?29050 using , ?29052 using , ?29053 using , ?29057 using , ?29058 using , ?29064 using , ?29065 using , ?29067 using , ?29068 using , ?29079 using ?29081 , ?29081 using , ?29091 using ?29093 , ?29093 using , ?29142 using ?29144 , ?29144 using ?29146 , ?29146 using , ?29154 using ?29156 , ?29156 using ?29158 , ?29158 using , ?29174 using , ?29175 using , ?29186 using ?29188 , ?29188 using , ?29198 using ?29200 , ?29200 using , ?29249 using ?29251 , ?29251 using ?29253 , ?29253 using , ?29261 using ?29263 , ?29263 using ?29265 , ?29265 using , ?29350 using ?29352 , ?29352 using ?29354 , ?29354 using , ?29362 using ?29364 , ?29364 using ?29366 , ?29366 using , ?29507 using ?29509 , ?29509 using ?29511 , ?29511 using , ?29519 using ?29521 , ?29521 using ?29523 , ?29523 using , ?29587 using ?29589 , ?29589 using ?29591 , ?29591 using , ?29599 using ?29601 , ?29601 using ?29603 , ?29603 using , ?29667 using ?29669 , ?29669 using ?29671 , ?29671 using , ?29679 using ?29681 , ?29681 using ?29683 , ?29683 using , ?29747 using ?29749 , ?29749 using ?29751 , ?29751 using , ?29759 using ?29761 , ?29761 using ?29763 , ?29763 using , ?29827 using ?29829 , ?29829 using ?29831 , ?29831 using , ?29839 using ?29841 , ?29841 using ?29843 , ?29843 using , ?29861 using , ?29862 using , ?29863 using , ?29864 using , ?29865 using , ?29866 using , ?29884 using ?29886 , ?29886 using ?29888 , ?29888 using , ?29896 using ?29898 , ?29898 using ?29900 , ?29900 using , ?29926 using , ?29927 using , ?29928 using , ?29929 using , ?29930 using , ?29931 using , ?29949 using ?29951 , ?29951 using ?29953 , ?29953 using , ?29961 using ?29963 , ?29963 using ?29965 , ?29965 using , ?29990 using , ?29991 using , ?29992 using , ?29993 using , ?29994 using , ?29995 using , ?30013 using ?30015 , ?30015 using ?30017 , ?30017 using , ?30025 using ?30027 , ?30027 using ?30029 , ?30029 using , ?30054 using , ?30055 using , ?30056 using , ?30057 using , ?30058 using , ?30059 using , ?30077 using ?30079 , ?30079 using ?30081 , ?30081 using , ?30089 using ?30091 , ?30091 using ?30093 , ?30093 using , ?30117 using , ?30118 using , ?30129 using ?30131 , ?30131 using , ?30141 using ?30143 , ?30143 using , ?30145 using , ?30146 using , ?30157 using ?30159 , ?30159 using , ?30169 using ?30171 , ?30171 using ,)


Qed.
unique_der_ext is defined



Corollary unique_der : (forall D D0 Γ A B, der_typ D Γ A B -> der_typ D0 Γ A B -> D = D0)/\
                     (forall D D0 Γ H A B, der_h D Γ H A B -> der_h D0 Γ H A B -> D = D0)/\
                     (forall D D0 Γ , der_wf D Γ -> der_wf D0 Γ -> D = D0).
1 subgoals, subgoal 1 (ID 30191)
  
  ============================
   (forall (D D0 : deriv) (Γ : Env) (A B : Term),
    der_typ D Γ A B -> der_typ D0 Γ A B -> D = D0) /\
   (forall (D D0 : deriv) (Γ : Env) (H : Prf) (A B : Term),
    der_h D Γ H A B -> der_h D0 Γ H A B -> D = D0) /\
   (forall (D D0 : deriv) (Γ : Env), der_wf D Γ -> der_wf D0 Γ -> D = D0)

(dependent evars:)


destruct unique_der_ext as (typ&h&wf);repeat split;intros;[eapply typ|eapply h|eapply wf];eassumption||constructor.
No more subgoals.
(dependent evars: ?30252 using , ?30253 using , ?30254 using , ?30255 using , ?30256 using , ?30260 using , ?30261 using , ?30262 using , ?30263 using , ?30264 using , ?30265 using , ?30268 using ,)


Qed.
unique_der is defined



End f_typ2_mod.
Module f_typ2_mod is defined



Index
This page has been generated by coqdoc