# 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