Library ut_typ_eq

Definition of PTS with Judgmental Equality (PTSe)

Here we will define what is a judgmental equality and some basic results. The main difference between PTS and PTSe is that we do not rely here on bare beta-conversion, but we also check that every step of the conversion is welltyped.
Require Import base.

Require Import ut_term.

Require Import ut_red.

Require Import ut_env.

Require Import List.

Require Import Peano_dec.

Require Import Compare_dec.

Require Import Lt Le Gt.

Require Import Plus Minus.

Require Import ut_typ.

Require Import ut_sr.


Module Type ut_typ_eq_mod (X:term_sig) (Y:pts_sig X) (TM:ut_term_mod X) (EM:ut_env_mod X TM) (RM: ut_red_mod X TM)
 (SRM: ut_sr_mod X Y TM EM RM).
Interactive Module Type ut_typ_eq_mod started


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



Typing Rules.
Reserved Notation "Γ ⊢e t : T" (at level 80, t, T at level 30, no associativity) .

Reserved Notation "Γ ⊢e M = N : T" (at level 80, M, N , T at level 30, no associativity).

Reserved Notation "Γ ⊣e " (at level 80, no associativity).


Inductive wf : Env -> Prop :=
 | wfe_nil : nil e
 | wfe_cons : forall Γ A s, Γ e A : !s -> A::Γ e
where "Γ ⊣e" := (wf Γ) : UT_scope
with typ : Env -> Term -> Term -> Prop :=
 | cSort : forall Γ s t, Ax s t -> Γ e -> Γ e !s : !t
 | cVar : forall Γ A v, Γ e -> A v Γ -> Γ e #v : A
 | cPi : forall Γ A B s t u,
     Rel s t u -> Γ e A : !s -> A::Γ e B : !t -> Γ e Π(A), B : !u
 | cLa : forall Γ A b B s1 s2 s3, Rel s1 s2 s3 -> Γ e A : !s1 -> A::Γ e B : !s2 ->
     A::Γ e b : B -> Γ e λ[A], b: Π(A), B
 | cApp : forall Γ a b A B , Γ e a : Π(A), B -> Γ e b : A -> Γ e a·b : B[←b]
 | Cnv : forall Γ a A B s,
      Γ e A = B : !s -> Γ e a : A -> Γ e a : B
where "Γ ⊢e t : T" := (typ Γ t T) : UT_scope
with typ_eq : Env -> Term -> Term -> Term -> Prop :=
 | cSort_eq : forall Γ s t, Ax s t -> Γ e -> Γ e !s = !s : !t
 | cVar_eq : forall Γ v A, Γ e -> A v Γ -> Γ e #v = #v : A
 | cPi_eq : forall Γ A A' B B' s t u, Rel s t u -> Γ e A = A' : !s -> (A::Γ)⊢e B = B' : !t ->
   Γ e Π(A),B = Π(A'),B' : !u
 | cLa_eq : forall Γ A A' B M M' s t u, Rel s t u -> Γ e A = A' : !s -> (A::Γ) e M = M' : B ->
   (A::Γ) e B : !t -> Γ e λ[A],M = λ[A'],M' : Π(A),B
 | cApp_eq : forall Γ M M' N N' A B, Γ e M = M' : Π(A),B -> Γe N = N' : A ->
     Γ e M·N = M'·N' : B [← N]
 | cSym : forall Γ M N A , Γ e M = N : A -> Γ e N = M : A
 | cTrans : forall Γ M N P A, Γ e M = N : A -> Γ e N = P : A -> Γ e M = P : A
 | Cnv_eq : forall Γ M N A B s, Γ e A = B : !s -> Γ e M = N : A -> Γ e M = N : B
 | cBeta : forall Γ A B M N s t u, Rel s t u -> Γ e A : !s -> (A::Γ) e B : !t ->
    (A::Γ) e M : B -> Γ e N : A -> Γ e (λ[A],MN = M[← N] : B[← N]
where "Γ ⊢e M = N : T":= (typ_eq Γ M N T) : UT_scope.
wf, typ, typ_eq are defined
wf_ind is defined
typ_ind is defined
typ_eq_ind is defined



Hint Constructors wf typ typ_eq.
Warning: the hint: eapply wfe_cons will only be used by eauto
Warning: the hint: eapply cPi will only be used by eauto
Warning: the hint: eapply cLa will only be used by eauto
Warning: the hint: eapply cApp will only be used by eauto
Warning: the hint: eapply Cnv will only be used by eauto
Warning: the hint: eapply cPi_eq will only be used by eauto
Warning: the hint: eapply cLa_eq will only be used by eauto
Warning: the hint: eapply cApp_eq will only be used by eauto
Warning: the hint: eapply cTrans will only be used by eauto
Warning: the hint: eapply Cnv_eq will only be used by eauto
Warning: the hint: eapply cBeta will only be used by eauto



Open Scope UT_scope.


Scheme typ_ind' := Induction for typ Sort Prop
      with typ_eq_ind' := Induction for typ_eq Sort Prop
      with wf_ind' := Induction for wf Sort Prop.
wf_ind' is defined
typ_eq_ind' is defined
typ_ind' is defined
typ_ind', typ_eq_ind', wf_ind' are recursively defined



Combined Scheme typ_induc from typ_ind', typ_eq_ind', wf_ind'.
typ_induc is defined
typ_induc is recursively defined



Lemma cRefl : forall Γ M T, Γ e M : T -> Γ e M = M : T.
1 subgoals, subgoal 1 (ID 99)
  
  ============================
   forall (Γ : Env) (M T : Term), Γ ⊢e M : T -> Γ ⊢e M = M : T

(dependent evars:)


Proof.
1 subgoals, subgoal 1 (ID 99)
  
  ============================
   forall (Γ : Env) (M T : Term), Γ ⊢e M : T -> Γ ⊢e M = M : T

(dependent evars:)


induction 1; intros; try now constructor.
4 subgoals, subgoal 1 (ID 155)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : Γ ⊢e A = A : !s
  IHtyp2 : A :: Γ ⊢e B = B : !t
  ============================
   Γ ⊢e Π (A), B = Π (A), B : !u

subgoal 2 (ID 171) is:
 Γ ⊢e λ [A], b = λ [A], b : Π (A), B
subgoal 3 (ID 181) is:
 Γ ⊢e a · b = a · b : B [ ← b]
subgoal 4 (ID 189) is:
 Γ ⊢e a = a : B
(dependent evars:)


now apply cPi_eq with (s:=s) (t:=t).
3 subgoals, subgoal 1 (ID 171)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : Γ ⊢e A = A : !s1
  IHtyp2 : A :: Γ ⊢e B = B : !s2
  IHtyp3 : A :: Γ ⊢e b = b : B
  ============================
   Γ ⊢e λ [A], b = λ [A], b : Π (A), B

subgoal 2 (ID 181) is:
 Γ ⊢e a · b = a · b : B [ ← b]
subgoal 3 (ID 189) is:
 Γ ⊢e a = a : B
(dependent evars:)


now apply cLa_eq with (s:=s1) (t:=s2) (u:=s3).
2 subgoals, subgoal 1 (ID 181)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  H : Γ ⊢e a : Π (A), B
  H0 : Γ ⊢e b : A
  IHtyp1 : Γ ⊢e a = a : Π (A), B
  IHtyp2 : Γ ⊢e b = b : A
  ============================
   Γ ⊢e a · b = a · b : B [ ← b]

subgoal 2 (ID 189) is:
 Γ ⊢e a = a : B
(dependent evars:)


now apply cApp_eq with (A:=A).
1 subgoals, subgoal 1 (ID 189)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : Γ ⊢e a = a : A
  ============================
   Γ ⊢e a = a : B

(dependent evars:)


now apply Cnv_eq with (A:=A) (s:=s).
No more subgoals.
(dependent evars:)


Qed.
cRefl is defined



These lemmas are almost the same as for declarative PTS:
  • well formation of contexts
  • weakening
  • substitution
  • type correctness
  • ...
Lemma wf_typ : forall Γ t T, Γ e t : T -> Γ e.
1 subgoals, subgoal 1 (ID 23895)
  
  ============================
   forall (Γ : Env) (t T : Term), Γ ⊢e t : T -> Γ ⊣e

(dependent evars:)


induction 1; intros; intuition.
No more subgoals.
(dependent evars:)


Qed.
wf_typ is defined



Lemma wf_typ_eq : forall Γ M N T, Γ e M = N : T -> Γ e.
1 subgoals, subgoal 1 (ID 23990)
  
  ============================
   forall (Γ : Env) (M N T : Term), Γ ⊢e M = N : T -> Γ ⊣e

(dependent evars:)


induction 1; intuition.
1 subgoals, subgoal 1 (ID 24142)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  H2 : A :: Γ ⊢e M : B
  H3 : Γ ⊢e N : A
  ============================
   Γ ⊣e

(dependent evars:)


apply wf_typ in H0; trivial.
No more subgoals.
(dependent evars:)


Qed.
wf_typ_eq is defined



Hint Resolve wf_typ wf_typ_eq.
Warning: the hint: eapply wf_typ will only be used by eauto
Warning: the hint: eapply wf_typ_eq will only be used by eauto



Theorem weakening: (forall Δ M T, Δ e M : T -> forall Γ A s n Δ', ins_in_env Γ A n Δ Δ' -> Γ e A :!s ->
                 Δ' e M 1 # n : T 1 # n ) /\
                (forall Δ M N T, Δ e M = N : T -> forall Γ A s n Δ', ins_in_env Γ A n Δ Δ' -> Γ e A :!s ->
                 Δ' e M 1 # n = N 1 # n : T 1 # n ) /\
(forall Γ, Γ e -> forall Δ Γ' n A , ins_in_env Δ A n Γ Γ' -> forall s, Δ e A : !s -> Γ' e).
1 subgoals, subgoal 1 (ID 24182)
  
  ============================
   (forall (Δ : Env) (M T : Term),
    Δ ⊢e M : T ->
    forall (Γ : Env) (A : Term) (s : Sorts) (n : nat) (Δ' : Env),
    ins_in_env Γ A n Δ Δ' -> Γ ⊢e A : !s -> Δ' ⊢e M ↑ 1 # n : T ↑ 1 # n) /\
   (forall (Δ : Env) (M N T : Term),
    Δ ⊢e M = N : T ->
    forall (Γ : Env) (A : Term) (s : Sorts) (n : nat) (Δ' : Env),
    ins_in_env Γ A n Δ Δ' ->
    Γ ⊢e A : !s -> Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : T ↑ 1 # n) /\
   (forall Γ : Env,
    Γ ⊣e ->
    forall (Δ Γ' : Env) (n : nat) (A : Term),
    ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e)

(dependent evars:)


apply typ_induc; simpl in *; intros.
17 subgoals, subgoal 1 (ID 24229)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  Γ0 : Env
  A : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A n Γ Δ'
  H1 : Γ0 ⊢e A : !s0
  ============================
   Δ' ⊢e !s : !t

subgoal 2 (ID 24242) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 3 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars:)


eauto.
16 subgoals, subgoal 1 (ID 24242)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n

subgoal 2 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 3 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 5 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 7 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 8 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 9 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 10 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 14 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 15 (ID 24477) is:
 Γ' ⊣e
subgoal 16 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using ,)


destruct le_gt_dec.
17 subgoals, subgoal 1 (ID 24890)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   Δ' ⊢e #(S v) : A ↑ 1 # n

subgoal 2 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 3 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using ,)


constructor.
18 subgoals, subgoal 1 (ID 24894)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   Δ' ⊣e

subgoal 2 (ID 24895) is:
 A ↑ 1 # n ↓ S v ⊂ Δ'
subgoal 3 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 4 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 7 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 9 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 10 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 11 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 12 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 16 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 17 (ID 24477) is:
 Γ' ⊣e
subgoal 18 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using ,)

eapply H; eauto.
17 subgoals, subgoal 1 (ID 24895)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   A ↑ 1 # n ↓ S v ⊂ Δ'

subgoal 2 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 3 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using ,)

destruct i as (AA & ?& ?).
17 subgoals, subgoal 1 (ID 24916)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   A ↑ 1 # n ↓ S v ⊂ Δ'

subgoal 2 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 3 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using ,)

exists AA; split.
18 subgoals, subgoal 1 (ID 24920)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   A ↑ 1 # n = AA ↑ (S (S v))

subgoal 2 (ID 24921) is:
 AA ↓ S v ∈ Δ'
subgoal 3 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 4 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 7 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 9 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 10 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 11 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 12 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 16 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 17 (ID 24477) is:
 Γ' ⊣e
subgoal 18 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using ,)

rewrite H2.
18 subgoals, subgoal 1 (ID 24922)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   AA ↑ (S v) ↑ 1 # n = AA ↑ (S (S v))

subgoal 2 (ID 24921) is:
 AA ↓ S v ∈ Δ'
subgoal 3 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 4 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 7 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 9 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 10 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 11 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 12 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 16 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 17 (ID 24477) is:
 Γ' ⊣e
subgoal 18 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using ,)


change (S (S v)) with (1+ S v).
18 subgoals, subgoal 1 (ID 24924)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   AA ↑ (S v) ↑ 1 # n = AA ↑ (1 + S v)

subgoal 2 (ID 24921) is:
 AA ↓ S v ∈ Δ'
subgoal 3 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 4 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 7 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 9 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 10 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 11 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 12 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 16 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 17 (ID 24477) is:
 Γ' ⊣e
subgoal 18 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using ,)

rewrite liftP3; trivial.
19 subgoals, subgoal 1 (ID 24926)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   0 <= n

subgoal 2 (ID 24927) is:
 n <= 0 + S v
subgoal 3 (ID 24921) is:
 AA ↓ S v ∈ Δ'
subgoal 4 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 5 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 6 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 8 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 10 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 11 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 12 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 13 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 14 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 16 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 17 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 18 (ID 24477) is:
 Γ' ⊣e
subgoal 19 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using ,)

intuition.
18 subgoals, subgoal 1 (ID 24927)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   n <= 0 + S v

subgoal 2 (ID 24921) is:
 AA ↓ S v ∈ Δ'
subgoal 3 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 4 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 7 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 9 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 10 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 11 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 12 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 16 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 17 (ID 24477) is:
 Γ' ⊣e
subgoal 18 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using ,)

simpl; constructor; trivial.
17 subgoals, subgoal 1 (ID 24921)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   AA ↓ S v ∈ Δ'

subgoal 2 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 3 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using ,)

eapply ins_item_ge.
19 subgoals, subgoal 1 (ID 24953)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   ins_in_env ?24951 ?24949 ?24950 ?24952 Δ'

subgoal 2 (ID 24954) is:
 ?24950 <= v
subgoal 3 (ID 24955) is:
 AA ↓ v ∈ ?24952
subgoal 4 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 5 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 6 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 8 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 10 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 11 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 12 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 13 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 14 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 16 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 17 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 18 (ID 24477) is:
 Γ' ⊣e
subgoal 19 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 open, ?24950 open, ?24951 open, ?24952 open,)


apply H0.
18 subgoals, subgoal 1 (ID 24954)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   n <= v

subgoal 2 (ID 24955) is:
 AA ↓ v ∈ Γ
subgoal 3 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 4 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 7 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 9 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 10 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 11 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 12 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 16 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 17 (ID 24477) is:
 Γ' ⊣e
subgoal 18 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using ,)

trivial.
17 subgoals, subgoal 1 (ID 24955)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   AA ↓ v ∈ Γ

subgoal 2 (ID 24891) is:
 Δ' ⊢e #v : A ↑ 1 # n
subgoal 3 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using ,)

trivial.
16 subgoals, subgoal 1 (ID 24891)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   Δ' ⊢e #v : A ↑ 1 # n

subgoal 2 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 3 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 5 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 7 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 8 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 9 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 10 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 14 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 15 (ID 24477) is:
 Γ' ⊣e
subgoal 16 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using ,)

constructor.
17 subgoals, subgoal 1 (ID 24958)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   Δ' ⊣e

subgoal 2 (ID 24959) is:
 A ↑ 1 # n ↓ v ⊂ Δ'
subgoal 3 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using ,)

eapply H; eauto.
16 subgoals, subgoal 1 (ID 24959)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   A ↑ 1 # n ↓ v ⊂ Δ'

subgoal 2 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 3 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 5 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 7 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 8 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 9 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 10 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 14 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 15 (ID 24477) is:
 Γ' ⊣e
subgoal 16 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using ,)

eapply ins_item_lift_lt.
18 subgoals, subgoal 1 (ID 24973)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   ins_in_env ?24971 ?24970 n ?24972 Δ'

subgoal 2 (ID 24974) is:
 n > v
subgoal 3 (ID 24975) is:
 A ↓ v ⊂ ?24972
subgoal 4 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 7 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 9 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 10 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 11 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 12 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 15 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 16 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 17 (ID 24477) is:
 Γ' ⊣e
subgoal 18 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 open, ?24971 open, ?24972 open,)

apply H0.
17 subgoals, subgoal 1 (ID 24974)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   n > v

subgoal 2 (ID 24975) is:
 A ↓ v ⊂ Γ
subgoal 3 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using ,)

trivial.
16 subgoals, subgoal 1 (ID 24975)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   A ↓ v ⊂ Γ

subgoal 2 (ID 24260) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 3 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 5 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 7 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 8 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 9 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 10 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 14 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 15 (ID 24477) is:
 Γ' ⊣e
subgoal 16 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using ,)

trivial.
15 subgoals, subgoal 1 (ID 24260)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u

subgoal 2 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 4 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 6 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 7 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 8 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 9 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 13 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 14 (ID 24477) is:
 Γ' ⊣e
subgoal 15 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using ,)


econstructor.
17 subgoals, subgoal 1 (ID 24981)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Rel ?24979 ?24980 u

subgoal 2 (ID 24982) is:
 Δ' ⊢e A ↑ 1 # n : !?24979
subgoal 3 (ID 24983) is:
 A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !?24980
subgoal 4 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 open, ?24980 open,)

apply r.
16 subgoals, subgoal 1 (ID 24982)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e A ↑ 1 # n : !s

subgoal 2 (ID 24983) is:
 A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !t
subgoal 3 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 5 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 7 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 8 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 9 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 10 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 14 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 15 (ID 24477) is:
 Γ' ⊣e
subgoal 16 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using ,)

eapply H; eauto.
15 subgoals, subgoal 1 (ID 24983)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !t

subgoal 2 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 4 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 6 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 7 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 8 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 9 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 13 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 14 (ID 24477) is:
 Γ' ⊣e
subgoal 15 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using ,)

eapply H0.
16 subgoals, subgoal 1 (ID 24996)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   ins_in_env ?24993 ?24994 (S n) (A :: Γ) (A ↑ 1 # n :: Δ')

subgoal 2 (ID 24997) is:
 ?24993 ⊢e ?24994 : !?24995
subgoal 3 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 5 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 7 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 8 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 9 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 10 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 14 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 15 (ID 24477) is:
 Γ' ⊣e
subgoal 16 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 open, ?24994 open, ?24995 open,)

constructor; apply H1.
15 subgoals, subgoal 1 (ID 24997)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Γ0 ⊢e A0 : !?24995

subgoal 2 (ID 24281) is:
 Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 4 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 6 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 7 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 8 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 9 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 13 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 14 (ID 24477) is:
 Γ' ⊣e
subgoal 15 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 open,)

apply H2.
14 subgoals, subgoal 1 (ID 24281)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s -> Δ' ⊢e A ↑ 1 # n : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e λ [A ↑ 1 # n], b ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)

subgoal 2 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 3 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 5 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 6 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 7 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 8 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 12 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24477) is:
 Γ' ⊣e
subgoal 14 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using ,)


econstructor.
17 subgoals, subgoal 1 (ID 25008)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s -> Δ' ⊢e A ↑ 1 # n : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s
  ============================
   Rel ?25005 ?25006 ?25007

subgoal 2 (ID 25009) is:
 Δ' ⊢e A ↑ 1 # n : !?25005
subgoal 3 (ID 25010) is:
 A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !?25006
subgoal 4 (ID 25011) is:
 A ↑ 1 # n :: Δ' ⊢e b ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 5 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 6 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 8 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 9 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 10 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 11 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 14 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 15 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 16 (ID 24477) is:
 Γ' ⊣e
subgoal 17 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 open, ?25006 open, ?25007 open,)

apply r.
16 subgoals, subgoal 1 (ID 25009)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s -> Δ' ⊢e A ↑ 1 # n : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e A ↑ 1 # n : !s1

subgoal 2 (ID 25010) is:
 A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !s2
subgoal 3 (ID 25011) is:
 A ↑ 1 # n :: Δ' ⊢e b ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 4 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 5 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 7 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 8 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 9 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 10 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 13 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 14 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 15 (ID 24477) is:
 Γ' ⊣e
subgoal 16 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using ,)

eapply H; eauto.
15 subgoals, subgoal 1 (ID 25010)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s -> Δ' ⊢e A ↑ 1 # n : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s
  ============================
   A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !s2

subgoal 2 (ID 25011) is:
 A ↑ 1 # n :: Δ' ⊢e b ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 3 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 4 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 6 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 7 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 8 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 9 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 13 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 14 (ID 24477) is:
 Γ' ⊣e
subgoal 15 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using ,)

eapply H0; eauto.
14 subgoals, subgoal 1 (ID 25011)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s -> Δ' ⊢e A ↑ 1 # n : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s
  ============================
   A ↑ 1 # n :: Δ' ⊢e b ↑ 1 # (S n) : B ↑ 1 # (S n)

subgoal 2 (ID 24297) is:
 Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n
subgoal 3 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 5 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 6 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 7 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 8 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 12 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24477) is:
 Γ' ⊣e
subgoal 14 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using ,)

eapply H1; eauto.
13 subgoals, subgoal 1 (ID 24297)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e b : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : B [ ← b] ↑ 1 # n

subgoal 2 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 4 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 5 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 6 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24477) is:
 Γ' ⊣e
subgoal 13 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using ,)


change n with (0+n).
13 subgoals, subgoal 1 (ID 25042)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e b : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e a ↑ 1 # (0 + n) · b ↑ 1 # (0 + n) : B [ ← b] ↑ 1 # (0 + n)

subgoal 2 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 4 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 5 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 6 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24477) is:
 Γ' ⊣e
subgoal 13 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using ,)

rewrite substP1.
13 subgoals, subgoal 1 (ID 25043)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e b : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e a ↑ 1 # (0 + n) · b ↑ 1 # (0 + n)
   : (B ↑ 1 # (S (0 + n))) [ ← b ↑ 1 # n]

subgoal 2 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 4 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 5 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 6 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24477) is:
 Γ' ⊣e
subgoal 13 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using ,)

simpl.
13 subgoals, subgoal 1 (ID 25044)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e b : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e a ↑ 1 # n · b ↑ 1 # n : (B ↑ 1 # (S n)) [ ← b ↑ 1 # n]

subgoal 2 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 4 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 5 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 6 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24477) is:
 Γ' ⊣e
subgoal 13 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using ,)


econstructor.
14 subgoals, subgoal 1 (ID 25051)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e b : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e a ↑ 1 # n : Π (?25050), B ↑ 1 # (S n)

subgoal 2 (ID 25052) is:
 Δ' ⊢e b ↑ 1 # n : ?25050
subgoal 3 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 5 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 6 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 7 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 8 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 12 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 13 (ID 24477) is:
 Γ' ⊣e
subgoal 14 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 open,)

eapply H; eauto.
13 subgoals, subgoal 1 (ID 25052)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e b : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e b ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e b ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 24313) is:
 Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 4 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 5 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 6 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24477) is:
 Γ' ⊣e
subgoal 13 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using ,)

eapply H0; eauto.
12 subgoals, subgoal 1 (ID 24313)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = B ↑ 1 # n : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e a ↑ 1 # n : B ↑ 1 # n

subgoal 2 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 3 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using ,)


apply Cnv with (A 1 # n) s; intuition.
13 subgoals, subgoal 1 (ID 25071)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = B ↑ 1 # n : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e A ↑ 1 # n = B ↑ 1 # n : !s

subgoal 2 (ID 25072) is:
 Δ' ⊢e a ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 4 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 5 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 6 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24477) is:
 Γ' ⊣e
subgoal 13 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using ,)


eapply H; eauto.
12 subgoals, subgoal 1 (ID 25072)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = B ↑ 1 # n : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e a ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e a ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 24326) is:
 Δ' ⊢e !s = !s : !t
subgoal 3 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using ,)

eapply H0; eauto.
11 subgoals, subgoal 1 (ID 24326)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  Γ0 : Env
  A : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A n Γ Δ'
  H1 : Γ0 ⊢e A : !s0
  ============================
   Δ' ⊢e !s = !s : !t

subgoal 2 (ID 24339) is:
 Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
 (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 3 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using ,)


eauto.
10 subgoals, subgoal 1 (ID 24339)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e (if le_gt_dec n v then #(S v) else #v) =
   (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n

subgoal 2 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 3 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24477) is:
 Γ' ⊣e
subgoal 10 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using ,)


destruct le_gt_dec.
11 subgoals, subgoal 1 (ID 25387)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   Δ' ⊢e #(S v) = #(S v) : A ↑ 1 # n

subgoal 2 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 3 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using ,)


constructor.
12 subgoals, subgoal 1 (ID 25391)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   Δ' ⊣e

subgoal 2 (ID 25392) is:
 A ↑ 1 # n ↓ S v ⊂ Δ'
subgoal 3 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using ,)

eapply H; eauto.
11 subgoals, subgoal 1 (ID 25392)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   A ↑ 1 # n ↓ S v ⊂ Δ'

subgoal 2 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 3 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using ,)

destruct i as (AA & ?& ?).
11 subgoals, subgoal 1 (ID 25413)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   A ↑ 1 # n ↓ S v ⊂ Δ'

subgoal 2 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 3 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using ,)


exists AA; split.
12 subgoals, subgoal 1 (ID 25417)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   A ↑ 1 # n = AA ↑ (S (S v))

subgoal 2 (ID 25418) is:
 AA ↓ S v ∈ Δ'
subgoal 3 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using ,)

rewrite H2.
12 subgoals, subgoal 1 (ID 25419)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   AA ↑ (S v) ↑ 1 # n = AA ↑ (S (S v))

subgoal 2 (ID 25418) is:
 AA ↓ S v ∈ Δ'
subgoal 3 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using ,)


change (S (S v)) with (1+ S v).
12 subgoals, subgoal 1 (ID 25421)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   AA ↑ (S v) ↑ 1 # n = AA ↑ (1 + S v)

subgoal 2 (ID 25418) is:
 AA ↓ S v ∈ Δ'
subgoal 3 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using ,)

rewrite liftP3; trivial.
13 subgoals, subgoal 1 (ID 25423)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   0 <= n

subgoal 2 (ID 25424) is:
 n <= 0 + S v
subgoal 3 (ID 25418) is:
 AA ↓ S v ∈ Δ'
subgoal 4 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 5 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 6 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24477) is:
 Γ' ⊣e
subgoal 13 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using ,)


intuition.
12 subgoals, subgoal 1 (ID 25424)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   n <= 0 + S v

subgoal 2 (ID 25418) is:
 AA ↓ S v ∈ Δ'
subgoal 3 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using ,)

simpl; constructor; trivial.
11 subgoals, subgoal 1 (ID 25418)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   AA ↓ S v ∈ Δ'

subgoal 2 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 3 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using ,)

eapply ins_item_ge.
13 subgoals, subgoal 1 (ID 25450)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   ins_in_env ?25448 ?25446 ?25447 ?25449 Δ'

subgoal 2 (ID 25451) is:
 ?25447 <= v
subgoal 3 (ID 25452) is:
 AA ↓ v ∈ ?25449
subgoal 4 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 5 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 6 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 12 (ID 24477) is:
 Γ' ⊣e
subgoal 13 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 open, ?25447 open, ?25448 open, ?25449 open,)


apply H0.
12 subgoals, subgoal 1 (ID 25451)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   n <= v

subgoal 2 (ID 25452) is:
 AA ↓ v ∈ Γ
subgoal 3 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using ,)

trivial.
11 subgoals, subgoal 1 (ID 25452)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  l : n <= v
  ============================
   AA ↓ v ∈ Γ

subgoal 2 (ID 25388) is:
 Δ' ⊢e #v = #v : A ↑ 1 # n
subgoal 3 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using ,)

trivial.
10 subgoals, subgoal 1 (ID 25388)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   Δ' ⊢e #v = #v : A ↑ 1 # n

subgoal 2 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 3 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24477) is:
 Γ' ⊣e
subgoal 10 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using ,)

constructor.
11 subgoals, subgoal 1 (ID 25455)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   Δ' ⊣e

subgoal 2 (ID 25456) is:
 A ↑ 1 # n ↓ v ⊂ Δ'
subgoal 3 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using ,)

eapply H; eauto.
10 subgoals, subgoal 1 (ID 25456)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   A ↑ 1 # n ↓ v ⊂ Δ'

subgoal 2 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 3 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24477) is:
 Γ' ⊣e
subgoal 10 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using ,)


eapply ins_item_lift_lt.
12 subgoals, subgoal 1 (ID 25470)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   ins_in_env ?25468 ?25467 n ?25469 Δ'

subgoal 2 (ID 25471) is:
 n > v
subgoal 3 (ID 25472) is:
 A ↓ v ⊂ ?25469
subgoal 4 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 5 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 11 (ID 24477) is:
 Γ' ⊣e
subgoal 12 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 open, ?25468 open, ?25469 open,)

apply H0.
11 subgoals, subgoal 1 (ID 25471)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   n > v

subgoal 2 (ID 25472) is:
 A ↓ v ⊂ Γ
subgoal 3 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using ,)

trivial.
10 subgoals, subgoal 1 (ID 25472)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ Γ' : Env) (n : nat) (A : Term),
      ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢e A : !s -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  g : n > v
  ============================
   A ↓ v ⊂ Γ

subgoal 2 (ID 24359) is:
 Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u
subgoal 3 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24477) is:
 Γ' ⊣e
subgoal 10 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using ,)

trivial.
9 subgoals, subgoal 1 (ID 24359)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n = B' ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e Π (A ↑ 1 # n), B ↑ 1 # (S n) = Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !u

subgoal 2 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24477) is:
 Γ' ⊣e
subgoal 9 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using ,)


apply cPi_eq with s t.
11 subgoals, subgoal 1 (ID 25473)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n = B' ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Rel s t u

subgoal 2 (ID 25474) is:
 Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
subgoal 3 (ID 25475) is:
 A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) = B' ↑ 1 # (S n) : !t
subgoal 4 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 24477) is:
 Γ' ⊣e
subgoal 11 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using ,)

trivial.
10 subgoals, subgoal 1 (ID 25474)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n = B' ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s

subgoal 2 (ID 25475) is:
 A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) = B' ↑ 1 # (S n) : !t
subgoal 3 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24477) is:
 Γ' ⊣e
subgoal 10 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using ,)

eapply H; eauto.
9 subgoals, subgoal 1 (ID 25475)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n = B' ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) = B' ↑ 1 # (S n) : !t

subgoal 2 (ID 24382) is:
 Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24477) is:
 Γ' ⊣e
subgoal 9 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using ,)

eapply H0; eauto.
8 subgoals, subgoal 1 (ID 24382)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : B ↑ 1 # n
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e λ [A ↑ 1 # n], M ↑ 1 # (S n) = λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
   : Π (A ↑ 1 # n), B ↑ 1 # (S n)

subgoal 2 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24477) is:
 Γ' ⊣e
subgoal 8 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using ,)


apply cLa_eq with s t u; trivial.
10 subgoals, subgoal 1 (ID 25496)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : B ↑ 1 # n
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s

subgoal 2 (ID 25497) is:
 A ↑ 1 # n :: Δ' ⊢e M ↑ 1 # (S n) = M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 3 (ID 25498) is:
 A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !t
subgoal 4 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 24477) is:
 Γ' ⊣e
subgoal 10 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using ,)

eapply H; eauto.
9 subgoals, subgoal 1 (ID 25497)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : B ↑ 1 # n
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s0
  ============================
   A ↑ 1 # n :: Δ' ⊢e M ↑ 1 # (S n) = M' ↑ 1 # (S n) : B ↑ 1 # (S n)

subgoal 2 (ID 25498) is:
 A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !t
subgoal 3 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 24477) is:
 Γ' ⊣e
subgoal 9 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using ,)

eapply H0; eauto.
8 subgoals, subgoal 1 (ID 25498)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = A' ↑ 1 # n : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : B ↑ 1 # n
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 A0 n Γ Δ'
  H3 : Γ0 ⊢e A0 : !s0
  ============================
   A ↑ 1 # n :: Δ' ⊢e B ↑ 1 # (S n) : !t

subgoal 2 (ID 24400) is:
 Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24477) is:
 Γ' ⊣e
subgoal 8 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using ,)

eapply H1; eauto.
7 subgoals, subgoal 1 (ID 24400)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s ->
      Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n = N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n : B [ ← N] ↑ 1 # n

subgoal 2 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24477) is:
 Γ' ⊣e
subgoal 7 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using ,)


change n with (0+n).
7 subgoals, subgoal 1 (ID 25529)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s ->
      Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n = N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e M ↑ 1 # (0 + n) · N ↑ 1 # (0 + n) =
   M' ↑ 1 # (0 + n) · N' ↑ 1 # (0 + n) : B [ ← N] ↑ 1 # (0 + n)

subgoal 2 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24477) is:
 Γ' ⊣e
subgoal 7 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using ,)

rewrite substP1.
7 subgoals, subgoal 1 (ID 25530)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s ->
      Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n = N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e M ↑ 1 # (0 + n) · N ↑ 1 # (0 + n) =
   M' ↑ 1 # (0 + n) · N' ↑ 1 # (0 + n) : (B ↑ 1 # (S (0 + n))) [ ← N ↑ 1 # n]

subgoal 2 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24477) is:
 Γ' ⊣e
subgoal 7 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using ,)

simpl.
7 subgoals, subgoal 1 (ID 25531)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s ->
      Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n = N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e M ↑ 1 # n · N ↑ 1 # n = M' ↑ 1 # n · N' ↑ 1 # n
   : (B ↑ 1 # (S n)) [ ← N ↑ 1 # n]

subgoal 2 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24477) is:
 Γ' ⊣e
subgoal 7 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using ,)


apply cApp_eq with (A 1 # n).
8 subgoals, subgoal 1 (ID 25532)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s ->
      Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n = N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)

subgoal 2 (ID 25533) is:
 Δ' ⊢e N ↑ 1 # n = N' ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 24477) is:
 Γ' ⊣e
subgoal 8 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using ,)

eapply H; eauto.
7 subgoals, subgoal 1 (ID 25533)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s ->
      Δ' ⊢e M ↑ 1 # n = M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n = N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e N ↑ 1 # n = N' ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 24413) is:
 Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 24477) is:
 Γ' ⊣e
subgoal 7 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using ,)

eapply H0; eauto.
6 subgoals, subgoal 1 (ID 24413)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 A0 n Γ Δ'
  H1 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e N ↑ 1 # n = M ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 24429) is:
 Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 24477) is:
 Γ' ⊣e
subgoal 6 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using ,)


econstructor; eauto.
5 subgoals, subgoal 1 (ID 24429)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : A ↑ 1 # n
  t0 : Γ ⊢e N = P : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s
  ============================
   Δ' ⊢e M ↑ 1 # n = P ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 24446) is:
 Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 24477) is:
 Γ' ⊣e
subgoal 5 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using ,)


econstructor; eauto.
4 subgoals, subgoal 1 (ID 24446)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' ->
      Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n = B ↑ 1 # n : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 A0 n Γ Δ'
  H2 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e M ↑ 1 # n = N ↑ 1 # n : B ↑ 1 # n

subgoal 2 (ID 24470) is:
 Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
 M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 24477) is:
 Γ' ⊣e
subgoal 4 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using ,)

econstructor; eauto.
3 subgoals, subgoal 1 (ID 24470)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n : B ↑ 1 # n
  t3 : Γ ⊢e N : A
  H2 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 A0 n Γ Δ'
  H4 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n = 
   M [ ← N] ↑ 1 # n : B [ ← N] ↑ 1 # n

subgoal 2 (ID 24477) is:
 Γ' ⊣e
subgoal 3 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using ,)


change n with (0+n).
3 subgoals, subgoal 1 (ID 26319)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n : B ↑ 1 # n
  t3 : Γ ⊢e N : A
  H2 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 A0 n Γ Δ'
  H4 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e (λ [A ↑ 1 # (0 + n)], M ↑ 1 # (S (0 + n))) · N ↑ 1 # (0 + n) =
   M [ ← N] ↑ 1 # (0 + n) : B [ ← N] ↑ 1 # (0 + n)

subgoal 2 (ID 24477) is:
 Γ' ⊣e
subgoal 3 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using ,)

rewrite 2! substP1.
3 subgoals, subgoal 1 (ID 26321)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n : B ↑ 1 # n
  t3 : Γ ⊢e N : A
  H2 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 A0 n Γ Δ'
  H4 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e (λ [A ↑ 1 # (0 + n)], M ↑ 1 # (S (0 + n))) · N ↑ 1 # (0 + n) =
   (M ↑ 1 # (S (0 + n))) [ ← N ↑ 1 # n]
   : (B ↑ 1 # (S (0 + n))) [ ← N ↑ 1 # n]

subgoal 2 (ID 24477) is:
 Γ' ⊣e
subgoal 3 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using ,)

simpl.
3 subgoals, subgoal 1 (ID 26322)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e B ↑ 1 # n : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e M ↑ 1 # n : B ↑ 1 # n
  t3 : Γ ⊢e N : A
  H2 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 A0 n Γ Δ' ->
       Γ0 ⊢e A0 : !s -> Δ' ⊢e N ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  A0 : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 A0 n Γ Δ'
  H4 : Γ0 ⊢e A0 : !s0
  ============================
   Δ' ⊢e (λ [A ↑ 1 # n], M ↑ 1 # (S n)) · N ↑ 1 # n =
   (M ↑ 1 # (S n)) [ ← N ↑ 1 # n] : (B ↑ 1 # (S n)) [ ← N ↑ 1 # n]

subgoal 2 (ID 24477) is:
 Γ' ⊣e
subgoal 3 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using ,)


apply cBeta with s t u; eauto.
2 subgoals, subgoal 1 (ID 24477)
  
  Δ : Env
  Γ' : Env
  n : nat
  A : Term
  H : ins_in_env Δ A n nil Γ'
  s : Sorts
  H0 : Δ ⊢e A : !s
  ============================
   Γ' ⊣e

subgoal 2 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using ,)


inversion H; subst; clear H.
2 subgoals, subgoal 1 (ID 26442)
  
  A : Term
  s : Sorts
  H0 : nil ⊢e A : !s
  ============================
   A :: nil ⊣e

subgoal 2 (ID 24489) is:
 Γ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using ,)

eauto.
1 subgoals, subgoal 1 (ID 24489)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  Δ : Env
  Γ' : Env
  n : nat
  A0 : Term
  H0 : ins_in_env Δ A0 n (A :: Γ) Γ'
  s0 : Sorts
  H1 : Δ ⊢e A0 : !s0
  ============================
   Γ' ⊣e

(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using , ?26443 using ,)


inversion H0; subst; clear H0.
2 subgoals, subgoal 1 (ID 26548)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  A0 : Term
  s0 : Sorts
  H1 : A :: Γ ⊢e A0 : !s0
  ============================
   A0 :: A :: Γ ⊣e

subgoal 2 (ID 26549) is:
 A ↑ 1 # n0 :: Δ' ⊣e
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using , ?26443 using ,)


eauto.
1 subgoals, subgoal 1 (ID 26549)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  Δ : Env
  A0 : Term
  s0 : Sorts
  H1 : Δ ⊢e A0 : !s0
  n0 : nat
  Δ' : Env
  H6 : ins_in_env Δ A0 n0 Γ Δ'
  ============================
   A ↑ 1 # n0 :: Δ' ⊣e

(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using , ?26443 using , ?26550 using ,)


apply wfe_cons with s; trivial.
1 subgoals, subgoal 1 (ID 26563)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  Δ : Env
  A0 : Term
  s0 : Sorts
  H1 : Δ ⊢e A0 : !s0
  n0 : nat
  Δ' : Env
  H6 : ins_in_env Δ A0 n0 Γ Δ'
  ============================
   Δ' ⊢e A ↑ 1 # n0 : !s

(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using , ?26443 using , ?26550 using ,)

change !s with !s 1 # n0.
1 subgoals, subgoal 1 (ID 26565)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  Δ : Env
  A0 : Term
  s0 : Sorts
  H1 : Δ ⊢e A0 : !s0
  n0 : nat
  Δ' : Env
  H6 : ins_in_env Δ A0 n0 Γ Δ'
  ============================
   Δ' ⊢e A ↑ 1 # n0 : !s ↑ 1 # n0

(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using , ?26443 using , ?26550 using ,)


eapply H.
2 subgoals, subgoal 1 (ID 26569)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  Δ : Env
  A0 : Term
  s0 : Sorts
  H1 : Δ ⊢e A0 : !s0
  n0 : nat
  Δ' : Env
  H6 : ins_in_env Δ A0 n0 Γ Δ'
  ============================
   ins_in_env ?26566 ?26567 n0 Γ Δ'

subgoal 2 (ID 26570) is:
 ?26566 ⊢e ?26567 : !?26568
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using , ?26443 using , ?26550 using , ?26566 open, ?26567 open, ?26568 open,)

apply H6.
1 subgoals, subgoal 1 (ID 26570)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢e A0 : !s0 -> Δ' ⊢e A ↑ 1 # n : !s
  Δ : Env
  A0 : Term
  s0 : Sorts
  H1 : Δ ⊢e A0 : !s0
  n0 : nat
  Δ' : Env
  H6 : ins_in_env Δ A0 n0 Γ Δ'
  ============================
   Δ ⊢e A0 : !?26568

(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using , ?26443 using , ?26550 using , ?26566 using , ?26567 using , ?26568 open,)

apply H1.
No more subgoals.
(dependent evars: ?24502 using ?24513 , ?24503 using ?24512 , ?24512 using , ?24513 using , ?24721 using , ?24722 using , ?24723 using , ?24724 using , ?24896 using , ?24897 using , ?24898 using , ?24899 using , ?24949 using , ?24950 using , ?24951 using , ?24952 using , ?24960 using , ?24961 using , ?24962 using , ?24963 using , ?24970 using , ?24971 using , ?24972 using , ?24979 using , ?24980 using , ?24984 using , ?24985 using , ?24986 using , ?24993 using , ?24994 using , ?24995 using , ?25005 using , ?25006 using , ?25007 using , ?25012 using , ?25013 using , ?25014 using , ?25021 using , ?25022 using , ?25023 using , ?25031 using , ?25032 using , ?25033 using , ?25050 using , ?25053 using , ?25054 using , ?25055 using , ?25062 using , ?25063 using , ?25064 using , ?25117 using , ?25118 using , ?25119 using , ?25126 using , ?25127 using , ?25128 using , ?25218 using , ?25219 using , ?25220 using , ?25221 using , ?25393 using , ?25394 using , ?25395 using , ?25396 using , ?25446 using , ?25447 using , ?25448 using , ?25449 using , ?25457 using , ?25458 using , ?25459 using , ?25460 using , ?25467 using , ?25468 using , ?25469 using , ?25476 using , ?25477 using , ?25478 using , ?25485 using , ?25486 using , ?25487 using , ?25499 using , ?25500 using , ?25501 using , ?25508 using , ?25509 using , ?25510 using , ?25518 using , ?25519 using , ?25520 using , ?25534 using , ?25535 using , ?25536 using , ?25543 using , ?25544 using , ?25545 using , ?25580 using , ?25581 using , ?25582 using , ?25650 using , ?25792 using , ?25793 using , ?25794 using , ?25859 using , ?25860 using , ?25861 using , ?25903 using , ?25904 using , ?26237 using , ?26238 using , ?26239 using , ?26293 using , ?26294 using , ?26295 using , ?26328 using , ?26329 using , ?26330 using , ?26341 using , ?26342 using , ?26343 using , ?26355 using , ?26356 using , ?26357 using , ?26369 using , ?26370 using , ?26371 using , ?26443 using , ?26550 using , ?26566 using , ?26567 using , ?26568 using ,)


Qed.
weakening is defined



Theorem thinning :
   forall Γ M T A s,
      Γ e M : T ->
   Γ e A : !s ->
   A::Γ e M 1 : T 1.
1 subgoals, subgoal 1 (ID 26577)
  
  ============================
   forall (Γ : Env) (M T A : Term) (s : Sorts),
   Γ ⊢e M : T -> Γ ⊢e A : !s -> A :: Γ ⊢e M ↑ 1 : T ↑ 1

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 26584)
  
  Γ : Env
  M : Term
  T : Term
  A : Term
  s : Sorts
  H : Γ ⊢e M : T
  H0 : Γ ⊢e A : !s
  ============================
   A :: Γ ⊢e M ↑ 1 : T ↑ 1

(dependent evars:)


eapply weakening.
3 subgoals, subgoal 1 (ID 26601)
  
  Γ : Env
  M : Term
  T : Term
  A : Term
  s : Sorts
  H : Γ ⊢e M : T
  H0 : Γ ⊢e A : !s
  ============================
   ?26600 ⊢e M : T

subgoal 2 (ID 26604) is:
 ins_in_env ?26602 ?26603 0 ?26600 (A :: Γ)
subgoal 3 (ID 26606) is:
 ?26602 ⊢e ?26603 : !?26605
(dependent evars: ?26593 using ?26600 , ?26594 using ?26602 , ?26595 using ?26603 , ?26596 using ?26605 , ?26600 open, ?26602 open, ?26603 open, ?26605 open,)

apply H.
2 subgoals, subgoal 1 (ID 26604)
  
  Γ : Env
  M : Term
  T : Term
  A : Term
  s : Sorts
  H : Γ ⊢e M : T
  H0 : Γ ⊢e A : !s
  ============================
   ins_in_env ?26602 ?26603 0 Γ (A :: Γ)

subgoal 2 (ID 26606) is:
 ?26602 ⊢e ?26603 : !?26605
(dependent evars: ?26593 using ?26600 , ?26594 using ?26602 , ?26595 using ?26603 , ?26596 using ?26605 , ?26600 using , ?26602 open, ?26603 open, ?26605 open,)

constructor.
1 subgoals, subgoal 1 (ID 26606)
  
  Γ : Env
  M : Term
  T : Term
  A : Term
  s : Sorts
  H : Γ ⊢e M : T
  H0 : Γ ⊢e A : !s
  ============================
   Γ ⊢e A : !?26605

(dependent evars: ?26593 using ?26600 , ?26594 using ?26602 , ?26595 using ?26603 , ?26596 using ?26605 , ?26600 using , ?26602 using , ?26603 using , ?26605 open,)

apply H0.
No more subgoals.
(dependent evars: ?26593 using ?26600 , ?26594 using ?26602 , ?26595 using ?26603 , ?26596 using ?26605 , ?26600 using , ?26602 using , ?26603 using , ?26605 using ,)


Qed.
thinning is defined



Theorem thinning_n : forall n Δ Δ',
   trunc n Δ Δ' ->
   forall M T , Δ' e M : T -> Δ e ->
               Δ e M n : T n.
1 subgoals, subgoal 1 (ID 26615)
  
  ============================
   forall (n : nat) (Δ Δ' : list Term),
   trunc n Δ Δ' ->
   forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n

(dependent evars:)


intro n; induction n; intros.
2 subgoals, subgoal 1 (ID 26629)
  
  Δ : list Term
  Δ' : list Term
  H : trunc 0 Δ Δ'
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  H1 : Δ ⊣e
  ============================
   Δ ⊢e M ↑ 0 : T ↑ 0

subgoal 2 (ID 26636) is:
 Δ ⊢e M ↑ (S n) : T ↑ (S n)
(dependent evars:)


inversion H; subst; clear H.
2 subgoals, subgoal 1 (ID 26696)
  
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  H1 : Δ' ⊣e
  ============================
   Δ' ⊢e M ↑ 0 : T ↑ 0

subgoal 2 (ID 26636) is:
 Δ ⊢e M ↑ (S n) : T ↑ (S n)
(dependent evars:)


rewrite ! lift0; trivial.
1 subgoals, subgoal 1 (ID 26636)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ : list Term
  Δ' : list Term
  H : trunc (S n) Δ Δ'
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  H1 : Δ ⊣e
  ============================
   Δ ⊢e M ↑ (S n) : T ↑ (S n)

(dependent evars:)


inversion H; subst; clear H.
1 subgoals, subgoal 1 (ID 26763)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ (S n) : T ↑ (S n)

(dependent evars:)


change (S n) with (1+n).
1 subgoals, subgoal 1 (ID 26765)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ (1 + n) : T ↑ (1 + n)

(dependent evars:)


replace (M (1+n)) with ((M n )↑ 1) by (apply lift_lift).
1 subgoals, subgoal 1 (ID 26769)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ n ↑ 1 : T ↑ (1 + n)

(dependent evars:)


replace (T (1+n)) with ((T n) 1) by (apply lift_lift).
1 subgoals, subgoal 1 (ID 26774)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ n ↑ 1 : T ↑ n ↑ 1

(dependent evars:)


inversion H1; subst; clear H1.
1 subgoals, subgoal 1 (ID 26824)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   x :: Γ ⊢e M ↑ n ↑ 1 : T ↑ n ↑ 1

(dependent evars:)


apply thinning with s; trivial.
1 subgoals, subgoal 1 (ID 26825)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   Γ ⊢e M ↑ n : T ↑ n

(dependent evars:)


eapply IHn.
3 subgoals, subgoal 1 (ID 26828)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   trunc n Γ ?26827

subgoal 2 (ID 26829) is:
 ?26827 ⊢e M : T
subgoal 3 (ID 26830) is:
 Γ ⊣e
(dependent evars: ?26827 open,)

apply H3.
2 subgoals, subgoal 1 (ID 26829)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   Δ' ⊢e M : T

subgoal 2 (ID 26830) is:
 Γ ⊣e
(dependent evars: ?26827 using ,)

trivial.
1 subgoals, subgoal 1 (ID 26830)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M T : Term, Δ' ⊢e M : T -> Δ ⊣e -> Δ ⊢e M ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  T : Term
  H0 : Δ' ⊢e M : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   Γ ⊣e

(dependent evars: ?26827 using ,)

apply wf_typ in H2; trivial.
No more subgoals.
(dependent evars: ?26827 using ,)


Qed.
thinning_n is defined



Theorem thinning_eq :
   forall Γ M N T A s,
      Γ e M = N : T ->
   Γ e A : !s ->
   A::Γ e M 1 = N 1 : T 1.
1 subgoals, subgoal 1 (ID 26840)
  
  ============================
   forall (Γ : Env) (M N T A : Term) (s : Sorts),
   Γ ⊢e M = N : T -> Γ ⊢e A : !s -> A :: Γ ⊢e M ↑ 1 = N ↑ 1 : T ↑ 1

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 26848)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  s : Sorts
  H : Γ ⊢e M = N : T
  H0 : Γ ⊢e A : !s
  ============================
   A :: Γ ⊢e M ↑ 1 = N ↑ 1 : T ↑ 1

(dependent evars:)


eapply weakening.
3 subgoals, subgoal 1 (ID 26870)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  s : Sorts
  H : Γ ⊢e M = N : T
  H0 : Γ ⊢e A : !s
  ============================
   ?26869 ⊢e M = N : T

subgoal 2 (ID 26873) is:
 ins_in_env ?26871 ?26872 0 ?26869 (A :: Γ)
subgoal 3 (ID 26875) is:
 ?26871 ⊢e ?26872 : !?26874
(dependent evars: ?26855 using ?26862 , ?26856 using ?26864 , ?26857 using ?26865 , ?26858 using ?26867 , ?26862 using ?26869 , ?26864 using ?26871 , ?26865 using ?26872 , ?26867 using ?26874 , ?26869 open, ?26871 open, ?26872 open, ?26874 open,)

apply H.
2 subgoals, subgoal 1 (ID 26873)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  s : Sorts
  H : Γ ⊢e M = N : T
  H0 : Γ ⊢e A : !s
  ============================
   ins_in_env ?26871 ?26872 0 Γ (A :: Γ)

subgoal 2 (ID 26875) is:
 ?26871 ⊢e ?26872 : !?26874
(dependent evars: ?26855 using ?26862 , ?26856 using ?26864 , ?26857 using ?26865 , ?26858 using ?26867 , ?26862 using ?26869 , ?26864 using ?26871 , ?26865 using ?26872 , ?26867 using ?26874 , ?26869 using , ?26871 open, ?26872 open, ?26874 open,)

constructor.
1 subgoals, subgoal 1 (ID 26875)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  s : Sorts
  H : Γ ⊢e M = N : T
  H0 : Γ ⊢e A : !s
  ============================
   Γ ⊢e A : !?26874

(dependent evars: ?26855 using ?26862 , ?26856 using ?26864 , ?26857 using ?26865 , ?26858 using ?26867 , ?26862 using ?26869 , ?26864 using ?26871 , ?26865 using ?26872 , ?26867 using ?26874 , ?26869 using , ?26871 using , ?26872 using , ?26874 open,)

apply H0.
No more subgoals.
(dependent evars: ?26855 using ?26862 , ?26856 using ?26864 , ?26857 using ?26865 , ?26858 using ?26867 , ?26862 using ?26869 , ?26864 using ?26871 , ?26865 using ?26872 , ?26867 using ?26874 , ?26869 using , ?26871 using , ?26872 using , ?26874 using ,)


Qed.
thinning_eq is defined



Theorem thinning_eq_n : forall n Δ Δ',
   trunc n Δ Δ' ->
   forall M N T , Δ' e M = N : T -> Δ e ->
               Δ e M n = N n: T n.
1 subgoals, subgoal 1 (ID 26885)
  
  ============================
   forall (n : nat) (Δ Δ' : list Term),
   trunc n Δ Δ' ->
   forall M N T : Term, Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n

(dependent evars:)


intro n; induction n; intros.
2 subgoals, subgoal 1 (ID 26900)
  
  Δ : list Term
  Δ' : list Term
  H : trunc 0 Δ Δ'
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  H1 : Δ ⊣e
  ============================
   Δ ⊢e M ↑ 0 = N ↑ 0 : T ↑ 0

subgoal 2 (ID 26908) is:
 Δ ⊢e M ↑ (S n) = N ↑ (S n) : T ↑ (S n)
(dependent evars:)


inversion H; subst; clear H.
2 subgoals, subgoal 1 (ID 26968)
  
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  H1 : Δ' ⊣e
  ============================
   Δ' ⊢e M ↑ 0 = N ↑ 0 : T ↑ 0

subgoal 2 (ID 26908) is:
 Δ ⊢e M ↑ (S n) = N ↑ (S n) : T ↑ (S n)
(dependent evars:)


rewrite 3! lift0; trivial.
1 subgoals, subgoal 1 (ID 26908)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ : list Term
  Δ' : list Term
  H : trunc (S n) Δ Δ'
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  H1 : Δ ⊣e
  ============================
   Δ ⊢e M ↑ (S n) = N ↑ (S n) : T ↑ (S n)

(dependent evars:)


inversion H; subst; clear H.
1 subgoals, subgoal 1 (ID 27036)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ (S n) = N ↑ (S n) : T ↑ (S n)

(dependent evars:)


change (S n) with (1+n).
1 subgoals, subgoal 1 (ID 27038)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ (1 + n) = N ↑ (1 + n) : T ↑ (1 + n)

(dependent evars:)


replace (M (1+n)) with ((M n )↑ 1) by (apply lift_lift).
1 subgoals, subgoal 1 (ID 27042)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ n ↑ 1 = N ↑ (1 + n) : T ↑ (1 + n)

(dependent evars:)


replace (N (1+n)) with ((N n )↑ 1) by (apply lift_lift).
1 subgoals, subgoal 1 (ID 27047)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ n ↑ 1 = N ↑ n ↑ 1 : T ↑ (1 + n)

(dependent evars:)


replace (T (1+n)) with ((T n) 1) by (apply lift_lift).
1 subgoals, subgoal 1 (ID 27052)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣e
  ============================
   x :: Γ ⊢e M ↑ n ↑ 1 = N ↑ n ↑ 1 : T ↑ n ↑ 1

(dependent evars:)


inversion H1; subst; clear H1.
1 subgoals, subgoal 1 (ID 27102)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   x :: Γ ⊢e M ↑ n ↑ 1 = N ↑ n ↑ 1 : T ↑ n ↑ 1

(dependent evars:)


apply thinning_eq with s; trivial.
1 subgoals, subgoal 1 (ID 27103)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   Γ ⊢e M ↑ n = N ↑ n : T ↑ n

(dependent evars:)


eapply IHn.
3 subgoals, subgoal 1 (ID 27106)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   trunc n Γ ?27105

subgoal 2 (ID 27107) is:
 ?27105 ⊢e M = N : T
subgoal 3 (ID 27108) is:
 Γ ⊣e
(dependent evars: ?27105 open,)

apply H3.
2 subgoals, subgoal 1 (ID 27107)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   Δ' ⊢e M = N : T

subgoal 2 (ID 27108) is:
 Γ ⊣e
(dependent evars: ?27105 using ,)

trivial.
1 subgoals, subgoal 1 (ID 27108)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢e M = N : T -> Δ ⊣e -> Δ ⊢e M ↑ n = N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢e M = N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  s : Sorts
  H2 : Γ ⊢e x : !s
  ============================
   Γ ⊣e

(dependent evars: ?27105 using ,)

apply wf_typ in H2; trivial.
No more subgoals.
(dependent evars: ?27105 using ,)


Qed.
thinning_eq_n is defined



Lemma conv_in_env_var : forall C n Γ, C n Γ ->
  forall Γ1 Γ2 A B s, Γ = Γ2++(A::Γ1) -> Γ1 e A = B : !s -> n < List.length Γ2 ->
  C n Γ2++(B::Γ1).
1 subgoals, subgoal 1 (ID 27131)
  
  ============================
   forall (C : Term) (n : nat) (Γ : list Term),
   C ↓ n ∈ Γ ->
   forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
   Γ = Γ2 ++ A :: Γ1 ->
   Γ1 ⊢e A = B : !s -> n < length Γ2 -> C ↓ n ∈ Γ2 ++ B :: Γ1

(dependent evars:)


induction 1; intros.
2 subgoals, subgoal 1 (ID 27157)
  
  C : Term
  Γ : list Term
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H : C :: Γ = Γ2 ++ A :: Γ1
  H0 : Γ1 ⊢e A = B : !s
  H1 : 0 < length Γ2
  ============================
   C ↓ 0 ∈ Γ2 ++ B :: Γ1

subgoal 2 (ID 27165) is:
 C ↓ S n ∈ Γ2 ++ B :: Γ1
(dependent evars:)


destruct Γ2; simpl in *.
3 subgoals, subgoal 1 (ID 27191)
  
  C : Term
  Γ : list Term
  Γ1 : list Term
  A : Term
  B : Term
  s : Sorts
  H : C :: Γ = A :: Γ1
  H0 : Γ1 ⊢e A = B : !s
  H1 : 0 < 0
  ============================
   C ↓ 0 ∈ B :: Γ1

subgoal 2 (ID 27203) is:
 C ↓ 0 ∈ t :: Γ2 ++ B :: Γ1
subgoal 3 (ID 27165) is:
 C ↓ S n ∈ Γ2 ++ B :: Γ1
(dependent evars:)

apply lt_n_O in H1; elim H1.
2 subgoals, subgoal 1 (ID 27203)
  
  C : Term
  Γ : list Term
  Γ1 : list Term
  t : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H : C :: Γ = t :: Γ2 ++ A :: Γ1
  H0 : Γ1 ⊢e A = B : !s
  H1 : 0 < S (length Γ2)
  ============================
   C ↓ 0 ∈ t :: Γ2 ++ B :: Γ1

subgoal 2 (ID 27165) is:
 C ↓ S n ∈ Γ2 ++ B :: Γ1
(dependent evars:)


injection H; intros; subst; clear H.
2 subgoals, subgoal 1 (ID 27226)
  
  Γ1 : list Term
  t : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : Γ1 ⊢e A = B : !s
  H1 : 0 < S (length Γ2)
  ============================
   t ↓ 0 ∈ t :: Γ2 ++ B :: Γ1

subgoal 2 (ID 27165) is:
 C ↓ S n ∈ Γ2 ++ B :: Γ1
(dependent evars:)


constructor.
1 subgoals, subgoal 1 (ID 27165)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> n < length Γ2 -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : S n < length Γ2
  ============================
   C ↓ S n ∈ Γ2 ++ B :: Γ1

(dependent evars:)



destruct Γ2; simpl in *.
2 subgoals, subgoal 1 (ID 27257)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> n < length Γ2 -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : S n < 0
  ============================
   C ↓ S n ∈ B :: Γ1

subgoal 2 (ID 27273) is:
 C ↓ S n ∈ t :: Γ2 ++ B :: Γ1
(dependent evars:)

apply lt_n_O in H2; elim H2.
1 subgoals, subgoal 1 (ID 27273)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> n < length Γ2 -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  t : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = t :: Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : S n < S (length Γ2)
  ============================
   C ↓ S n ∈ t :: Γ2 ++ B :: Γ1

(dependent evars:)


injection H0; intros; subst; clear H0.
1 subgoals, subgoal 1 (ID 27298)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : S n < S (length Γ2)
  H : C ↓ n ∈ Γ2 ++ A :: Γ1
  IHitem : forall (Γ3 Γ4 : list Term) (A0 B : Term) (s : Sorts),
           Γ2 ++ A :: Γ1 = Γ4 ++ A0 :: Γ3 ->
           Γ3 ⊢e A0 = B : !s -> n < length Γ4 -> C ↓ n ∈ Γ4 ++ B :: Γ3
  ============================
   C ↓ S n ∈ t :: Γ2 ++ B :: Γ1

(dependent evars:)


constructor.
1 subgoals, subgoal 1 (ID 27301)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : S n < S (length Γ2)
  H : C ↓ n ∈ Γ2 ++ A :: Γ1
  IHitem : forall (Γ3 Γ4 : list Term) (A0 B : Term) (s : Sorts),
           Γ2 ++ A :: Γ1 = Γ4 ++ A0 :: Γ3 ->
           Γ3 ⊢e A0 = B : !s -> n < length Γ4 -> C ↓ n ∈ Γ4 ++ B :: Γ3
  ============================
   C ↓ n ∈ Γ2 ++ B :: Γ1

(dependent evars:)

apply IHitem with A s; trivial.
1 subgoals, subgoal 1 (ID 27304)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : S n < S (length Γ2)
  H : C ↓ n ∈ Γ2 ++ A :: Γ1
  IHitem : forall (Γ3 Γ4 : list Term) (A0 B : Term) (s : Sorts),
           Γ2 ++ A :: Γ1 = Γ4 ++ A0 :: Γ3 ->
           Γ3 ⊢e A0 = B : !s -> n < length Γ4 -> C ↓ n ∈ Γ4 ++ B :: Γ3
  ============================
   n < length Γ2

(dependent evars:)


intuition.
No more subgoals.
(dependent evars:)


Qed.
conv_in_env_var is defined



Lemma conv_in_env_var2 : forall C n Γ, C n Γ ->
  forall Γ1 Γ2 A B s , Γ = Γ2++(A::Γ1) -> Γ1 e A = B : !s ->
  List.length Γ2 < n ->
  C n Γ2++(B::Γ1).
1 subgoals, subgoal 1 (ID 27340)
  
  ============================
   forall (C : Term) (n : nat) (Γ : list Term),
   C ↓ n ∈ Γ ->
   forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
   Γ = Γ2 ++ A :: Γ1 ->
   Γ1 ⊢e A = B : !s -> length Γ2 < n -> C ↓ n ∈ Γ2 ++ B :: Γ1

(dependent evars:)


induction 1; intros.
2 subgoals, subgoal 1 (ID 27366)
  
  C : Term
  Γ : list Term
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H : C :: Γ = Γ2 ++ A :: Γ1
  H0 : Γ1 ⊢e A = B : !s
  H1 : length Γ2 < 0
  ============================
   C ↓ 0 ∈ Γ2 ++ B :: Γ1

subgoal 2 (ID 27374) is:
 C ↓ S n ∈ Γ2 ++ B :: Γ1
(dependent evars:)


apply lt_n_O in H1; elim H1.
1 subgoals, subgoal 1 (ID 27374)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> length Γ2 < n -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : length Γ2 < S n
  ============================
   C ↓ S n ∈ Γ2 ++ B :: Γ1

(dependent evars:)


destruct Γ2; simpl in *.
2 subgoals, subgoal 1 (ID 27406)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> length Γ2 < n -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : 0 < S n
  ============================
   C ↓ S n ∈ B :: Γ1

subgoal 2 (ID 27422) is:
 C ↓ S n ∈ t :: Γ2 ++ B :: Γ1
(dependent evars:)


injection H0; intros; subst; clear H0.
2 subgoals, subgoal 1 (ID 27445)
  
  C : Term
  n : nat
  Γ1 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : 0 < S n
  H : C ↓ n ∈ Γ1
  IHitem : forall (Γ2 Γ3 : list Term) (A B : Term) (s : Sorts),
           Γ1 = Γ3 ++ A :: Γ2 ->
           Γ2 ⊢e A = B : !s -> length Γ3 < n -> C ↓ n ∈ Γ3 ++ B :: Γ2
  ============================
   C ↓ S n ∈ B :: Γ1

subgoal 2 (ID 27422) is:
 C ↓ S n ∈ t :: Γ2 ++ B :: Γ1
(dependent evars:)


constructor.
2 subgoals, subgoal 1 (ID 27448)
  
  C : Term
  n : nat
  Γ1 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : 0 < S n
  H : C ↓ n ∈ Γ1
  IHitem : forall (Γ2 Γ3 : list Term) (A B : Term) (s : Sorts),
           Γ1 = Γ3 ++ A :: Γ2 ->
           Γ2 ⊢e A = B : !s -> length Γ3 < n -> C ↓ n ∈ Γ3 ++ B :: Γ2
  ============================
   C ↓ n ∈ Γ1

subgoal 2 (ID 27422) is:
 C ↓ S n ∈ t :: Γ2 ++ B :: Γ1
(dependent evars:)

trivial.
1 subgoals, subgoal 1 (ID 27422)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> length Γ2 < n -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  t : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = t :: Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : S (length Γ2) < S n
  ============================
   C ↓ S n ∈ t :: Γ2 ++ B :: Γ1

(dependent evars:)



destruct Γ2; simpl in *.
2 subgoals, subgoal 1 (ID 27479)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> length Γ2 < n -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  t : Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = t :: A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : 1 < S n
  ============================
   C ↓ S n ∈ t :: B :: Γ1

subgoal 2 (ID 27496) is:
 C ↓ S n ∈ t :: t0 :: Γ2 ++ B :: Γ1
(dependent evars:)


constructor.
2 subgoals, subgoal 1 (ID 27499)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> length Γ2 < n -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  t : Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = t :: A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : 1 < S n
  ============================
   C ↓ n ∈ B :: Γ1

subgoal 2 (ID 27496) is:
 C ↓ S n ∈ t :: t0 :: Γ2 ++ B :: Γ1
(dependent evars:)

injection H0; intros; subst; clear H0.
2 subgoals, subgoal 1 (ID 27522)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : 1 < S n
  H : C ↓ n ∈ A :: Γ1
  IHitem : forall (Γ2 Γ3 : list Term) (A0 B : Term) (s : Sorts),
           A :: Γ1 = Γ3 ++ A0 :: Γ2 ->
           Γ2 ⊢e A0 = B : !s -> length Γ3 < n -> C ↓ n ∈ Γ3 ++ B :: Γ2
  ============================
   C ↓ n ∈ B :: Γ1

subgoal 2 (ID 27496) is:
 C ↓ S n ∈ t :: t0 :: Γ2 ++ B :: Γ1
(dependent evars:)



inversion H; subst; clear H.
3 subgoals, subgoal 1 (ID 27611)
  
  Γ1 : list Term
  t : Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : 1 < 1
  IHitem : forall (Γ2 Γ3 : list Term) (A0 B : Term) (s : Sorts),
           A :: Γ1 = Γ3 ++ A0 :: Γ2 ->
           Γ2 ⊢e A0 = B : !s -> length Γ3 < 0 -> A ↓ 0 ∈ Γ3 ++ B :: Γ2
  ============================
   A ↓ 0 ∈ B :: Γ1

subgoal 2 (ID 27612) is:
 C ↓ S n0 ∈ B :: Γ1
subgoal 3 (ID 27496) is:
 C ↓ S n ∈ t :: t0 :: Γ2 ++ B :: Γ1
(dependent evars:)

apply lt_irrefl in H2; elim H2.
2 subgoals, subgoal 1 (ID 27612)
  
  C : Term
  Γ1 : list Term
  t : Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  n0 : nat
  H5 : C ↓ n0 ∈ Γ1
  H2 : 1 < S (S n0)
  IHitem : forall (Γ2 Γ3 : list Term) (A0 B : Term) (s : Sorts),
           A :: Γ1 = Γ3 ++ A0 :: Γ2 ->
           Γ2 ⊢e A0 = B : !s -> length Γ3 < S n0 -> C ↓ S n0 ∈ Γ3 ++ B :: Γ2
  ============================
   C ↓ S n0 ∈ B :: Γ1

subgoal 2 (ID 27496) is:
 C ↓ S n ∈ t :: t0 :: Γ2 ++ B :: Γ1
(dependent evars:)


constructor.
2 subgoals, subgoal 1 (ID 27617)
  
  C : Term
  Γ1 : list Term
  t : Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  n0 : nat
  H5 : C ↓ n0 ∈ Γ1
  H2 : 1 < S (S n0)
  IHitem : forall (Γ2 Γ3 : list Term) (A0 B : Term) (s : Sorts),
           A :: Γ1 = Γ3 ++ A0 :: Γ2 ->
           Γ2 ⊢e A0 = B : !s -> length Γ3 < S n0 -> C ↓ S n0 ∈ Γ3 ++ B :: Γ2
  ============================
   C ↓ n0 ∈ Γ1

subgoal 2 (ID 27496) is:
 C ↓ S n ∈ t :: t0 :: Γ2 ++ B :: Γ1
(dependent evars:)

trivial.
1 subgoals, subgoal 1 (ID 27496)
  
  C : Term
  Γ : list Term
  n : nat
  y : Term
  H : C ↓ n ∈ Γ
  IHitem : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
           Γ = Γ2 ++ A :: Γ1 ->
           Γ1 ⊢e A = B : !s -> length Γ2 < n -> C ↓ n ∈ Γ2 ++ B :: Γ1
  Γ1 : list Term
  t : Term
  t0 : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : y :: Γ = t :: t0 :: Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : S (S (length Γ2)) < S n
  ============================
   C ↓ S n ∈ t :: t0 :: Γ2 ++ B :: Γ1

(dependent evars:)


injection H0; intros; subst; clear H0.
1 subgoals, subgoal 1 (ID 27640)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  t0 : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : S (S (length Γ2)) < S n
  H : C ↓ n ∈ t0 :: Γ2 ++ A :: Γ1
  IHitem : forall (Γ3 Γ4 : list Term) (A0 B : Term) (s : Sorts),
           t0 :: Γ2 ++ A :: Γ1 = Γ4 ++ A0 :: Γ3 ->
           Γ3 ⊢e A0 = B : !s -> length Γ4 < n -> C ↓ n ∈ Γ4 ++ B :: Γ3
  ============================
   C ↓ S n ∈ t :: t0 :: Γ2 ++ B :: Γ1

(dependent evars:)


constructor.
1 subgoals, subgoal 1 (ID 27643)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  t0 : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : S (S (length Γ2)) < S n
  H : C ↓ n ∈ t0 :: Γ2 ++ A :: Γ1
  IHitem : forall (Γ3 Γ4 : list Term) (A0 B : Term) (s : Sorts),
           t0 :: Γ2 ++ A :: Γ1 = Γ4 ++ A0 :: Γ3 ->
           Γ3 ⊢e A0 = B : !s -> length Γ4 < n -> C ↓ n ∈ Γ4 ++ B :: Γ3
  ============================
   C ↓ n ∈ t0 :: Γ2 ++ B :: Γ1

(dependent evars:)

rewrite app_comm_cons.
1 subgoals, subgoal 1 (ID 27644)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  t0 : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : S (S (length Γ2)) < S n
  H : C ↓ n ∈ t0 :: Γ2 ++ A :: Γ1
  IHitem : forall (Γ3 Γ4 : list Term) (A0 B : Term) (s : Sorts),
           t0 :: Γ2 ++ A :: Γ1 = Γ4 ++ A0 :: Γ3 ->
           Γ3 ⊢e A0 = B : !s -> length Γ4 < n -> C ↓ n ∈ Γ4 ++ B :: Γ3
  ============================
   C ↓ n ∈ (t0 :: Γ2) ++ B :: Γ1

(dependent evars:)

apply IHitem with A s; trivial.
1 subgoals, subgoal 1 (ID 27647)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  t0 : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : S (S (length Γ2)) < S n
  H : C ↓ n ∈ t0 :: Γ2 ++ A :: Γ1
  IHitem : forall (Γ3 Γ4 : list Term) (A0 B : Term) (s : Sorts),
           t0 :: Γ2 ++ A :: Γ1 = Γ4 ++ A0 :: Γ3 ->
           Γ3 ⊢e A0 = B : !s -> length Γ4 < n -> C ↓ n ∈ Γ4 ++ B :: Γ3
  ============================
   length (t0 :: Γ2) < n

(dependent evars:)


simpl.
1 subgoals, subgoal 1 (ID 27648)
  
  C : Term
  n : nat
  Γ1 : list Term
  t : Term
  t0 : Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H1 : Γ1 ⊢e A = B : !s
  H2 : S (S (length Γ2)) < S n
  H : C ↓ n ∈ t0 :: Γ2 ++ A :: Γ1
  IHitem : forall (Γ3 Γ4 : list Term) (A0 B : Term) (s : Sorts),
           t0 :: Γ2 ++ A :: Γ1 = Γ4 ++ A0 :: Γ3 ->
           Γ3 ⊢e A0 = B : !s -> length Γ4 < n -> C ↓ n ∈ Γ4 ++ B :: Γ3
  ============================
   S (length Γ2) < n

(dependent evars:)

intuition.
No more subgoals.
(dependent evars:)


Qed.
conv_in_env_var2 is defined



Lemma conv_in_env_var3 : forall Γ1 (B:Term) Γ2 , B (List.length Γ1) Γ1++(B::Γ2).
1 subgoals, subgoal 1 (ID 27672)
  
  ============================
   forall (Γ1 : list Term) (B : Term) (Γ2 : list Term),
   B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2

(dependent evars:)


induction Γ1; intros.
2 subgoals, subgoal 1 (ID 27682)
  
  B : Term
  Γ2 : list Term
  ============================
   B ↓ length nil ∈ nil ++ B :: Γ2

subgoal 2 (ID 27684) is:
 B ↓ length (a :: Γ1) ∈ (a :: Γ1) ++ B :: Γ2
(dependent evars:)


simpl.
2 subgoals, subgoal 1 (ID 27685)
  
  B : Term
  Γ2 : list Term
  ============================
   B ↓ 0 ∈ B :: Γ2

subgoal 2 (ID 27684) is:
 B ↓ length (a :: Γ1) ∈ (a :: Γ1) ++ B :: Γ2
(dependent evars:)

constructor.
1 subgoals, subgoal 1 (ID 27684)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (B : Term) (Γ2 : list Term), B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2
  B : Term
  Γ2 : list Term
  ============================
   B ↓ length (a :: Γ1) ∈ (a :: Γ1) ++ B :: Γ2

(dependent evars:)


simpl.
1 subgoals, subgoal 1 (ID 27687)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (B : Term) (Γ2 : list Term), B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2
  B : Term
  Γ2 : list Term
  ============================
   B ↓ S (length Γ1) ∈ a :: Γ1 ++ B :: Γ2

(dependent evars:)

constructor.
1 subgoals, subgoal 1 (ID 27690)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (B : Term) (Γ2 : list Term), B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2
  B : Term
  Γ2 : list Term
  ============================
   B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2

(dependent evars:)

apply IHΓ1.
No more subgoals.
(dependent evars:)


Qed.
conv_in_env_var3 is defined



Lemma conv_in_env_var_lift : forall C n Γ, C n Γ ->
  forall Γ1 Γ2 A B s, Γ = Γ2 ++(A::Γ1) -> Γ1 e A = B : !s -> n < List.length Γ2 ->
  C n Γ2++(B::Γ1).
1 subgoals, subgoal 1 (ID 27707)
  
  ============================
   forall (C : Term) (n : nat) (Γ : Env),
   C ↓ n ⊂ Γ ->
   forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
   Γ = Γ2 ++ A :: Γ1 ->
   Γ1 ⊢e A = B : !s -> n < length Γ2 -> C ↓ n ⊂ Γ2 ++ B :: Γ1

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 27719)
  
  C : Term
  n : nat
  Γ : Env
  H : C ↓ n ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : n < length Γ2
  ============================
   C ↓ n ⊂ Γ2 ++ B :: Γ1

(dependent evars:)


destruct H as (u & h1 & h2).
1 subgoals, subgoal 1 (ID 27730)
  
  C : Term
  n : nat
  Γ : Env
  u : Term
  h1 : C = u ↑ (S n)
  h2 : u ↓ n ∈ Γ
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : n < length Γ2
  ============================
   C ↓ n ⊂ Γ2 ++ B :: Γ1

(dependent evars:)


apply (conv_in_env_var u n Γ) with Γ1 Γ2 A B s in h2; trivial.
1 subgoals, subgoal 1 (ID 27732)
  
  C : Term
  n : nat
  Γ : Env
  u : Term
  h1 : C = u ↑ (S n)
  Γ1 : list Term
  Γ2 : list Term
  B : Term
  h2 : u ↓ n ∈ Γ2 ++ B :: Γ1
  A : Term
  s : Sorts
  H0 : Γ = Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : n < length Γ2
  ============================
   C ↓ n ⊂ Γ2 ++ B :: Γ1

(dependent evars:)


exists u; intuition.
No more subgoals.
(dependent evars:)


Qed.
conv_in_env_var_lift is defined



Lemma conv_in_env_var_lift2 : forall C n Γ, C n Γ ->
  forall Γ1 Γ2 A B s, Γ = Γ2++(A::Γ1) -> Γ1 e A = B : !s ->
  List.length Γ2 < n -> C n Γ2++(B::Γ1).
1 subgoals, subgoal 1 (ID 27758)
  
  ============================
   forall (C : Term) (n : nat) (Γ : Env),
   C ↓ n ⊂ Γ ->
   forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
   Γ = Γ2 ++ A :: Γ1 ->
   Γ1 ⊢e A = B : !s -> length Γ2 < n -> C ↓ n ⊂ Γ2 ++ B :: Γ1

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 27770)
  
  C : Term
  n : nat
  Γ : Env
  H : C ↓ n ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : length Γ2 < n
  ============================
   C ↓ n ⊂ Γ2 ++ B :: Γ1

(dependent evars:)


destruct H as (u & h1 & h2).
1 subgoals, subgoal 1 (ID 27781)
  
  C : Term
  n : nat
  Γ : Env
  u : Term
  h1 : C = u ↑ (S n)
  h2 : u ↓ n ∈ Γ
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : length Γ2 < n
  ============================
   C ↓ n ⊂ Γ2 ++ B :: Γ1

(dependent evars:)


apply (conv_in_env_var2 u n Γ) with Γ1 Γ2 A B s in h2; trivial.
1 subgoals, subgoal 1 (ID 27783)
  
  C : Term
  n : nat
  Γ : Env
  u : Term
  h1 : C = u ↑ (S n)
  Γ1 : list Term
  Γ2 : list Term
  B : Term
  h2 : u ↓ n ∈ Γ2 ++ B :: Γ1
  A : Term
  s : Sorts
  H0 : Γ = Γ2 ++ A :: Γ1
  H1 : Γ1 ⊢e A = B : !s
  H2 : length Γ2 < n
  ============================
   C ↓ n ⊂ Γ2 ++ B :: Γ1

(dependent evars:)


exists u; intuition.
No more subgoals.
(dependent evars:)


Qed.
conv_in_env_var_lift2 is defined



Lemma conv_in_env_var_lift3 : forall Γ1 (A:Term) Γ2 ,
  (A (S (List.length Γ1))) (List.length Γ1) Γ1++(A::Γ2).
1 subgoals, subgoal 1 (ID 27800)
  
  ============================
   forall (Γ1 : list Term) (A : Term) (Γ2 : list Term),
   A ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ A :: Γ2

(dependent evars:)


induction Γ1; intros.
2 subgoals, subgoal 1 (ID 27810)
  
  A : Term
  Γ2 : list Term
  ============================
   A ↑ (S (length nil)) ↓ length nil ⊂ nil ++ A :: Γ2

subgoal 2 (ID 27812) is:
 A ↑ (S (length (a :: Γ1))) ↓ length (a :: Γ1) ⊂ (a :: Γ1) ++ A :: Γ2
(dependent evars:)


simpl.
2 subgoals, subgoal 1 (ID 27813)
  
  A : Term
  Γ2 : list Term
  ============================
   A ↑ 1 ↓ 0 ⊂ A :: Γ2

subgoal 2 (ID 27812) is:
 A ↑ (S (length (a :: Γ1))) ↓ length (a :: Γ1) ⊂ (a :: Γ1) ++ A :: Γ2
(dependent evars:)

exists A; intuition.
1 subgoals, subgoal 1 (ID 27812)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (A : Term) (Γ2 : list Term),
         A ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ A :: Γ2
  A : Term
  Γ2 : list Term
  ============================
   A ↑ (S (length (a :: Γ1))) ↓ length (a :: Γ1) ⊂ (a :: Γ1) ++ A :: Γ2

(dependent evars:)


simpl.
1 subgoals, subgoal 1 (ID 27823)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (A : Term) (Γ2 : list Term),
         A ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ A :: Γ2
  A : Term
  Γ2 : list Term
  ============================
   A ↑ (S (S (length Γ1))) ↓ S (length Γ1) ⊂ a :: Γ1 ++ A :: Γ2

(dependent evars:)


assert( H := IHΓ1 A Γ2).
1 subgoals, subgoal 1 (ID 27825)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (A : Term) (Γ2 : list Term),
         A ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ A :: Γ2
  A : Term
  Γ2 : list Term
  H : A ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ A :: Γ2
  ============================
   A ↑ (S (S (length Γ1))) ↓ S (length Γ1) ⊂ a :: Γ1 ++ A :: Γ2

(dependent evars:)


destruct H as ( ?& ?& ?).
1 subgoals, subgoal 1 (ID 27833)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (A : Term) (Γ2 : list Term),
         A ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ A :: Γ2
  A : Term
  Γ2 : list Term
  x : Term
  H : A ↑ (S (length Γ1)) = x ↑ (S (length Γ1))
  H0 : x ↓ length Γ1 ∈ Γ1 ++ A :: Γ2
  ============================
   A ↑ (S (S (length Γ1))) ↓ S (length Γ1) ⊂ a :: Γ1 ++ A :: Γ2

(dependent evars:)


apply inv_lift in H.
1 subgoals, subgoal 1 (ID 27835)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (A : Term) (Γ2 : list Term),
         A ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ A :: Γ2
  A : Term
  Γ2 : list Term
  x : Term
  H : A = x
  H0 : x ↓ length Γ1 ∈ Γ1 ++ A :: Γ2
  ============================
   A ↑ (S (S (length Γ1))) ↓ S (length Γ1) ⊂ a :: Γ1 ++ A :: Γ2

(dependent evars:)

subst.
1 subgoals, subgoal 1 (ID 27840)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (A : Term) (Γ2 : list Term),
         A ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ A :: Γ2
  Γ2 : list Term
  x : Term
  H0 : x ↓ length Γ1 ∈ Γ1 ++ x :: Γ2
  ============================
   x ↑ (S (S (length Γ1))) ↓ S (length Γ1) ⊂ a :: Γ1 ++ x :: Γ2

(dependent evars:)


exists x; intuition.
No more subgoals.
(dependent evars:)


Qed.
conv_in_env_var_lift3 is defined



Lemma conv_in_env_aux_trunc : forall A (Γ1 Γ2:list A) B ,
  trunc (S (length Γ1)) (Γ1 ++ B :: Γ2) Γ2.
1 subgoals, subgoal 1 (ID 27861)
  
  ============================
   forall (A : Type) (Γ1 Γ2 : list A) (B : A),
   trunc (S (length Γ1)) (Γ1 ++ B :: Γ2) Γ2

(dependent evars:)


induction Γ1; simpl; intros.
2 subgoals, subgoal 1 (ID 27874)
  
  A : Type
  Γ2 : list A
  B : A
  ============================
   trunc 1 (B :: Γ2) Γ2

subgoal 2 (ID 27876) is:
 trunc (S (S (length Γ1))) (a :: Γ1 ++ B :: Γ2) Γ2
(dependent evars:)


constructor; constructor.
1 subgoals, subgoal 1 (ID 27876)
  
  A : Type
  a : A
  Γ1 : list A
  IHΓ1 : forall (Γ2 : list A) (B : A),
         trunc (S (length Γ1)) (Γ1 ++ B :: Γ2) Γ2
  Γ2 : list A
  B : A
  ============================
   trunc (S (S (length Γ1))) (a :: Γ1 ++ B :: Γ2) Γ2

(dependent evars:)


constructor.
1 subgoals, subgoal 1 (ID 27883)
  
  A : Type
  a : A
  Γ1 : list A
  IHΓ1 : forall (Γ2 : list A) (B : A),
         trunc (S (length Γ1)) (Γ1 ++ B :: Γ2) Γ2
  Γ2 : list A
  B : A
  ============================
   trunc (S (length Γ1)) (Γ1 ++ B :: Γ2) Γ2

(dependent evars:)


apply IHΓ1.
No more subgoals.
(dependent evars:)


Qed.
conv_in_env_aux_trunc is defined



Conversion is the context is here provable without SR since every reduction step is checked valid.
Theorem conv_in_env : (forall Γ M T, Γ e M : T-> forall Γ1 Γ2 A B s, Γ = Γ1++(A::Γ2) -> Γ2 e A = B : !s ->
  Γ2 e B : !s -> (Γ1++(B::Γ2)) e M : T) /\
 (forall Γ M N T, Γ e M = N : T-> forall Γ1 Γ2 A B s, Γ = Γ1++(A::Γ2) -> Γ2 e A = B : !s ->
  Γ2 e B : !s -> (Γ1++(B::Γ2)) e M = N : T ) /\
 (forall Γ, Γ e -> forall Γ1 Γ2 A B s, Γ = Γ1++(A::Γ2) -> Γ2 e A = B : !s -> Γ2 e B : !s -> Γ1++(B::Γ2) e).
1 subgoals, subgoal 1 (ID 27931)
  
  ============================
   (forall (Γ : Env) (M T : Term),
    Γ ⊢e M : T ->
    forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
    Γ = Γ1 ++ A :: Γ2 ->
    Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M : T) /\
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢e M = N : T ->
    forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
    Γ = Γ1 ++ A :: Γ2 ->
    Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : T) /\
   (forall Γ : Env,
    Γ ⊣e ->
    forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
    Γ = Γ1 ++ A :: Γ2 -> Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e)

(dependent evars:)


apply typ_induc; intros; simpl in *.
17 subgoals, subgoal 1 (ID 28253)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s0 : Sorts
  H0 : Γ = Γ1 ++ A :: Γ2
  H1 : Γ2 ⊢e A = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   Γ1 ++ B :: Γ2 ⊢e !s : !t

subgoal 2 (ID 28268) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars:)


constructor.
18 subgoals, subgoal 1 (ID 28547)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s0 : Sorts
  H0 : Γ = Γ1 ++ A :: Γ2
  H1 : Γ2 ⊢e A = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   Ax s t

subgoal 2 (ID 28548) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 3 (ID 28268) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars:)

trivial.
17 subgoals, subgoal 1 (ID 28548)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s0 : Sorts
  H0 : Γ = Γ1 ++ A :: Γ2
  H1 : Γ2 ⊢e A = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 28268) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars:)

apply H with A s0; trivial.
16 subgoals, subgoal 1 (ID 28268)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  ============================
   Γ1 ++ B :: Γ2 ⊢e #v : A

subgoal 2 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 3 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars:)


destruct (lt_eq_lt_dec v (List.length Γ1)) as [ [] | ].
18 subgoals, subgoal 1 (ID 28566)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   Γ1 ++ B :: Γ2 ⊢e #v : A

subgoal 2 (ID 28567) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars:)


econstructor.
19 subgoals, subgoal 1 (ID 28571)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 28572) is:
 A ↓ v ⊂ Γ1 ++ B :: Γ2
subgoal 3 (ID 28567) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 5 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 6 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 7 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 8 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 9 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 10 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 11 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 12 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 13 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 14 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 15 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 16 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 17 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 18 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 19 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars:)

apply H with A0 s; trivial.
18 subgoals, subgoal 1 (ID 28572)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   A ↓ v ⊂ Γ1 ++ B :: Γ2

subgoal 2 (ID 28567) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars:)

eapply conv_in_env_var_lift.
21 subgoals, subgoal 1 (ID 28579)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   A ↓ v ⊂ ?28576

subgoal 2 (ID 28580) is:
 ?28576 = Γ1 ++ ?28577 :: Γ2
subgoal 3 (ID 28581) is:
 Γ2 ⊢e ?28577 = B : !?28578
subgoal 4 (ID 28582) is:
 v < length Γ1
subgoal 5 (ID 28567) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 6 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 7 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 8 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 9 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 10 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 11 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 12 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 13 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 14 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 15 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 16 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 17 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 18 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 19 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 20 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 21 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 open, ?28577 open, ?28578 open,)

apply i.
20 subgoals, subgoal 1 (ID 28580)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   Γ = Γ1 ++ ?28577 :: Γ2

subgoal 2 (ID 28581) is:
 Γ2 ⊢e ?28577 = B : !?28578
subgoal 3 (ID 28582) is:
 v < length Γ1
subgoal 4 (ID 28567) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 5 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 6 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 7 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 8 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 9 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 10 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 11 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 12 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 13 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 14 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 15 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 16 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 17 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 18 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 19 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 20 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 open, ?28578 open,)

apply H0.
19 subgoals, subgoal 1 (ID 28581)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   Γ2 ⊢e A0 = B : !?28578

subgoal 2 (ID 28582) is:
 v < length Γ1
subgoal 3 (ID 28567) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 5 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 6 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 7 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 8 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 9 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 10 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 11 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 12 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 13 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 14 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 15 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 16 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 17 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 18 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 19 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 open,)

apply H1.
18 subgoals, subgoal 1 (ID 28582)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   v < length Γ1

subgoal 2 (ID 28567) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

trivial.
17 subgoals, subgoal 1 (ID 28567)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  e : v = length Γ1
  ============================
   Γ1 ++ B :: Γ2 ⊢e #v : A

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)


subst.
17 subgoals, subgoal 1 (ID 28594)
  
  A : Term
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  i : A ↓ length Γ1 ⊂ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : A

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

destruct i as (a & ?& ?).
17 subgoals, subgoal 1 (ID 28602)
  
  A : Term
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H0 : A = a ↑ (S (length Γ1))
  H3 : a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : A

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

subst.
17 subgoals, subgoal 1 (ID 28605)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : a ↑ (S (length Γ1))

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

replace a with A0 in *.
18 subgoals, subgoal 1 (ID 28611)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : A0 ↑ (S (length Γ1))

subgoal 2 (ID 28606) is:
 A0 = a
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

apply Cnv with (B (S (length Γ1))) s.
19 subgoals, subgoal 1 (ID 28614)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e B ↑ (S (length Γ1)) = A0 ↑ (S (length Γ1)) : !s

subgoal 2 (ID 28615) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : B ↑ (S (length Γ1))
subgoal 3 (ID 28606) is:
 A0 = a
subgoal 4 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 5 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 6 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 7 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 8 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 9 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 10 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 11 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 12 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 13 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 14 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 15 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 16 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 17 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 18 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 19 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)


change !s with (!s (S (length Γ1))).
19 subgoals, subgoal 1 (ID 28618)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e B ↑ (S (length Γ1)) = A0 ↑ (S (length Γ1))
   : !s ↑ (S (length Γ1))

subgoal 2 (ID 28615) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : B ↑ (S (length Γ1))
subgoal 3 (ID 28606) is:
 A0 = a
subgoal 4 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 5 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 6 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 7 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 8 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 9 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 10 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 11 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 12 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 13 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 14 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 15 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 16 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 17 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 18 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 19 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

apply thinning_eq_n with Γ2.
21 subgoals, subgoal 1 (ID 28619)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   trunc (S (length Γ1)) (Γ1 ++ B :: Γ2) Γ2

subgoal 2 (ID 28620) is:
 Γ2 ⊢e B = A0 : !s
subgoal 3 (ID 28621) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 4 (ID 28615) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : B ↑ (S (length Γ1))
subgoal 5 (ID 28606) is:
 A0 = a
subgoal 6 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 7 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 8 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 9 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 10 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 11 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 12 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 13 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 14 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 15 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 16 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 17 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 18 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 19 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 20 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 21 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

apply conv_in_env_aux_trunc.
20 subgoals, subgoal 1 (ID 28620)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ2 ⊢e B = A0 : !s

subgoal 2 (ID 28621) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 3 (ID 28615) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : B ↑ (S (length Γ1))
subgoal 4 (ID 28606) is:
 A0 = a
subgoal 5 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 6 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 7 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 8 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 9 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 10 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 11 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 12 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 13 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 14 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 15 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 16 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 17 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 18 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 19 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 20 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

intuition.
19 subgoals, subgoal 1 (ID 28621)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 28615) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : B ↑ (S (length Γ1))
subgoal 3 (ID 28606) is:
 A0 = a
subgoal 4 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 5 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 6 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 7 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 8 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 9 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 10 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 11 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 12 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 13 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 14 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 15 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 16 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 17 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 18 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 19 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)


apply H with A0 s; trivial.
18 subgoals, subgoal 1 (ID 28615)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) : B ↑ (S (length Γ1))

subgoal 2 (ID 28606) is:
 A0 = a
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

constructor.
19 subgoals, subgoal 1 (ID 28640)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 28641) is:
 B ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ B :: Γ2
subgoal 3 (ID 28606) is:
 A0 = a
subgoal 4 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 5 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 6 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 7 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 8 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 9 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 10 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 11 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 12 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 13 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 14 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 15 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 16 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 17 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 18 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 19 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

apply H with A0 s; trivial.
18 subgoals, subgoal 1 (ID 28641)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   B ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ B :: Γ2

subgoal 2 (ID 28606) is:
 A0 = a
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

exists B; intuition.
18 subgoals, subgoal 1 (ID 28649)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2

subgoal 2 (ID 28606) is:
 A0 = a
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)


clear.
18 subgoals, subgoal 1 (ID 28663)
  
  Γ1 : list Term
  Γ2 : list Term
  B : Term
  ============================
   B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2

subgoal 2 (ID 28606) is:
 A0 = a
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

induction Γ1; simpl in *.
19 subgoals, subgoal 1 (ID 28675)
  
  Γ2 : list Term
  B : Term
  ============================
   B ↓ 0 ∈ B :: Γ2

subgoal 2 (ID 28681) is:
 B ↓ S (length Γ1) ∈ a :: Γ1 ++ B :: Γ2
subgoal 3 (ID 28606) is:
 A0 = a
subgoal 4 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 5 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 6 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 7 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 8 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 9 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 10 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 11 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 12 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 13 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 14 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 15 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 16 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 17 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 18 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 19 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

constructor.
18 subgoals, subgoal 1 (ID 28681)
  
  a : Term
  Γ1 : list Term
  Γ2 : list Term
  B : Term
  IHΓ1 : B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2
  ============================
   B ↓ S (length Γ1) ∈ a :: Γ1 ++ B :: Γ2

subgoal 2 (ID 28606) is:
 A0 = a
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

constructor; intuition.
17 subgoals, subgoal 1 (ID 28606)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   A0 = a

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)


generalize H3; clear.
17 subgoals, subgoal 1 (ID 28687)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  a : Term
  ============================
   a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

revert Γ2 A0 a.
17 subgoals, subgoal 1 (ID 28689)
  
  Γ1 : list Term
  ============================
   forall (Γ2 : list Term) (A0 a : Term),
   a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

induction Γ1; intros; simpl in *.
18 subgoals, subgoal 1 (ID 28709)
  
  Γ2 : list Term
  A0 : Term
  a : Term
  H3 : a ↓ 0 ∈ A0 :: Γ2
  ============================
   A0 = a

subgoal 2 (ID 28717) is:
 A0 = a0
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

inversion H3;subst; clear H3.
18 subgoals, subgoal 1 (ID 28787)
  
  Γ2 : list Term
  A0 : Term
  ============================
   A0 = A0

subgoal 2 (ID 28717) is:
 A0 = a0
subgoal 3 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

trivial.
17 subgoals, subgoal 1 (ID 28717)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (Γ2 : list Term) (A0 a : Term),
         a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a
  Γ2 : list Term
  A0 : Term
  a0 : Term
  H3 : a0 ↓ S (length Γ1) ∈ a :: Γ1 ++ A0 :: Γ2
  ============================
   A0 = a0

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)


inversion H3; subst; clear H3.
17 subgoals, subgoal 1 (ID 28865)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (Γ2 : list Term) (A0 a : Term),
         a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a
  Γ2 : list Term
  A0 : Term
  a0 : Term
  H0 : a0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   A0 = a0

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using ,)

eapply IHΓ1.
17 subgoals, subgoal 1 (ID 28867)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (Γ2 : list Term) (A0 a : Term),
         a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a
  Γ2 : list Term
  A0 : Term
  a0 : Term
  H0 : a0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   a0 ↓ length Γ1 ∈ Γ1 ++ A0 :: ?28866

subgoal 2 (ID 28568) is:
 Γ1 ++ B :: Γ2 ⊢e #v : A
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 open,)

apply H0.
16 subgoals, subgoal 1 (ID 28568)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   Γ1 ++ B :: Γ2 ⊢e #v : A

subgoal 2 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 3 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using ,)


econstructor.
17 subgoals, subgoal 1 (ID 28870)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 28871) is:
 A ↓ v ⊂ Γ1 ++ B :: Γ2
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using ,)

apply H with A0 s; trivial.
16 subgoals, subgoal 1 (ID 28871)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   A ↓ v ⊂ Γ1 ++ B :: Γ2

subgoal 2 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 3 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using ,)

eapply conv_in_env_var_lift2.
19 subgoals, subgoal 1 (ID 28878)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   A ↓ v ⊂ ?28875

subgoal 2 (ID 28879) is:
 ?28875 = Γ1 ++ ?28876 :: Γ2
subgoal 3 (ID 28880) is:
 Γ2 ⊢e ?28876 = B : !?28877
subgoal 4 (ID 28881) is:
 length Γ1 < v
subgoal 5 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 6 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 7 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 8 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 9 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 10 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 11 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 12 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 13 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 14 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 15 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 16 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 17 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 18 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 19 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 open, ?28876 open, ?28877 open,)

apply i.
18 subgoals, subgoal 1 (ID 28879)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   Γ = Γ1 ++ ?28876 :: Γ2

subgoal 2 (ID 28880) is:
 Γ2 ⊢e ?28876 = B : !?28877
subgoal 3 (ID 28881) is:
 length Γ1 < v
subgoal 4 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 5 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 6 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 7 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 8 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 9 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 10 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 11 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 12 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 13 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 14 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 15 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 16 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 17 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 18 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 open, ?28877 open,)

apply H0.
17 subgoals, subgoal 1 (ID 28880)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   Γ2 ⊢e A0 = B : !?28877

subgoal 2 (ID 28881) is:
 length Γ1 < v
subgoal 3 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 open,)

apply H1.
16 subgoals, subgoal 1 (ID 28881)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   length Γ1 < v

subgoal 2 (ID 28288) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u
subgoal 3 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using ,)

trivial.
15 subgoals, subgoal 1 (ID 28288)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e Π (A), B : !u

subgoal 2 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 3 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 4 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 5 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 6 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using ,)


apply cPi with s t;trivial.
16 subgoals, subgoal 1 (ID 28883)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e A : !s

subgoal 2 (ID 28884) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t
subgoal 3 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using ,)

apply H with A0 s0; trivial.
15 subgoals, subgoal 1 (ID 28884)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t

subgoal 2 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 3 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 4 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 5 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 6 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using ,)


rewrite app_comm_cons.
15 subgoals, subgoal 1 (ID 28888)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   (A :: Γ1) ++ B0 :: Γ2 ⊢e B : !t

subgoal 2 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 3 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 4 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 5 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 6 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using ,)

eapply H0.
17 subgoals, subgoal 1 (ID 28891)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ = (A :: Γ1) ++ ?28889 :: Γ2

subgoal 2 (ID 28892) is:
 Γ2 ⊢e ?28889 = B0 : !?28890
subgoal 3 (ID 28893) is:
 Γ2 ⊢e B0 : !?28890
subgoal 4 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 open, ?28890 open,)

rewrite H1; simpl; reflexivity.
16 subgoals, subgoal 1 (ID 28892)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e A0 = B0 : !?28890

subgoal 2 (ID 28893) is:
 Γ2 ⊢e B0 : !?28890
subgoal 3 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 open,)

apply H2.
15 subgoals, subgoal 1 (ID 28893)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e B0 : !s0

subgoal 2 (ID 28311) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B
subgoal 3 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 4 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 5 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 6 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using ,)

trivial.
14 subgoals, subgoal 1 (ID 28311)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e λ [A], b : Π (A), B

subgoal 2 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 3 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 4 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 5 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 6 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 9 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 10 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 11 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 12 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 14 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using ,)


apply cLa with s1 s2 s3;trivial.
16 subgoals, subgoal 1 (ID 28898)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e A : !s1

subgoal 2 (ID 28899) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !s2
subgoal 3 (ID 28900) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e b : B
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using ,)

apply H with A0 s; trivial.
15 subgoals, subgoal 1 (ID 28899)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   A :: Γ1 ++ B0 :: Γ2 ⊢e B : !s2

subgoal 2 (ID 28900) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e b : B
subgoal 3 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 4 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 5 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 6 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using ,)


rewrite app_comm_cons.
15 subgoals, subgoal 1 (ID 28904)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   (A :: Γ1) ++ B0 :: Γ2 ⊢e B : !s2

subgoal 2 (ID 28900) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e b : B
subgoal 3 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 4 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 5 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 6 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using ,)

eapply H0.
17 subgoals, subgoal 1 (ID 28907)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   A :: Γ = (A :: Γ1) ++ ?28905 :: Γ2

subgoal 2 (ID 28908) is:
 Γ2 ⊢e ?28905 = B0 : !?28906
subgoal 3 (ID 28909) is:
 Γ2 ⊢e B0 : !?28906
subgoal 4 (ID 28900) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e b : B
subgoal 5 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 6 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 7 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 8 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 9 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 12 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 13 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 14 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 15 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 17 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 open, ?28906 open,)

rewrite H2; simpl; reflexivity.
16 subgoals, subgoal 1 (ID 28908)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   Γ2 ⊢e A0 = B0 : !?28906

subgoal 2 (ID 28909) is:
 Γ2 ⊢e B0 : !?28906
subgoal 3 (ID 28900) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e b : B
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 open,)

apply H3.
15 subgoals, subgoal 1 (ID 28909)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   Γ2 ⊢e B0 : !s

subgoal 2 (ID 28900) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e b : B
subgoal 3 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 4 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 5 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 6 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using ,)

trivial.
14 subgoals, subgoal 1 (ID 28900)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   A :: Γ1 ++ B0 :: Γ2 ⊢e b : B

subgoal 2 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 3 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 4 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 5 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 6 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 9 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 10 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 11 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 12 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 14 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using ,)


rewrite app_comm_cons.
14 subgoals, subgoal 1 (ID 28913)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   (A :: Γ1) ++ B0 :: Γ2 ⊢e b : B

subgoal 2 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 3 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 4 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 5 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 6 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 9 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 10 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 11 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 12 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 14 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using ,)

eapply H1.
16 subgoals, subgoal 1 (ID 28916)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   A :: Γ = (A :: Γ1) ++ ?28914 :: Γ2

subgoal 2 (ID 28917) is:
 Γ2 ⊢e ?28914 = B0 : !?28915
subgoal 3 (ID 28918) is:
 Γ2 ⊢e B0 : !?28915
subgoal 4 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 5 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 6 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 7 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 8 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 11 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 12 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 13 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 14 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 16 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 open, ?28915 open,)

rewrite H2; simpl; reflexivity.
15 subgoals, subgoal 1 (ID 28917)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   Γ2 ⊢e A0 = B0 : !?28915

subgoal 2 (ID 28918) is:
 Γ2 ⊢e B0 : !?28915
subgoal 3 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 4 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 5 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 6 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 open,)

apply H3.
14 subgoals, subgoal 1 (ID 28918)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e b : B
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s
  H4 : Γ2 ⊢e B0 : !s
  ============================
   Γ2 ⊢e B0 : !s

subgoal 2 (ID 28329) is:
 Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]
subgoal 3 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 4 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 5 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 6 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 9 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 10 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 11 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 12 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 14 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

trivial.
13 subgoals, subgoal 1 (ID 28329)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e a : Π (A), B
  t0 : Γ ⊢e b : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e b : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s
  H3 : Γ2 ⊢e B0 : !s
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e a · b : B [ ← b]

subgoal 2 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 3 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 4 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)


apply cApp with A.
14 subgoals, subgoal 1 (ID 28922)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e a : Π (A), B
  t0 : Γ ⊢e b : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e b : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s
  H3 : Γ2 ⊢e B0 : !s
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e a : Π (A), B

subgoal 2 (ID 28923) is:
 Γ1 ++ B0 :: Γ2 ⊢e b : A
subgoal 3 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 4 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 5 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 6 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 9 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 10 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 11 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 12 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 14 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

apply H with A0 s; trivial.
13 subgoals, subgoal 1 (ID 28923)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e a : Π (A), B
  t0 : Γ ⊢e b : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e b : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s
  H3 : Γ2 ⊢e B0 : !s
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e b : A

subgoal 2 (ID 28347) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : B
subgoal 3 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 4 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

apply H0 with A0 s; trivial.
12 subgoals, subgoal 1 (ID 28347)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s0 -> Γ2 ⊢e B0 : !s0 -> Γ1 ++ B0 :: Γ2 ⊢e A = B : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e a : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e a : B

subgoal 2 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 3 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)


apply Cnv with A s; trivial.
13 subgoals, subgoal 1 (ID 28930)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s0 -> Γ2 ⊢e B0 : !s0 -> Γ1 ++ B0 :: Γ2 ⊢e A = B : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e a : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e A = B : !s

subgoal 2 (ID 28931) is:
 Γ1 ++ B0 :: Γ2 ⊢e a : A
subgoal 3 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 4 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

apply H with A0 s0; trivial.
12 subgoals, subgoal 1 (ID 28931)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s0 -> Γ2 ⊢e B0 : !s0 -> Γ1 ++ B0 :: Γ2 ⊢e A = B : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e a : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e a : A

subgoal 2 (ID 28362) is:
 Γ1 ++ B :: Γ2 ⊢e !s = !s : !t
subgoal 3 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

apply H0 with A0 s0; trivial.
11 subgoals, subgoal 1 (ID 28362)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s0 : Sorts
  H0 : Γ = Γ1 ++ A :: Γ2
  H1 : Γ2 ⊢e A = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   Γ1 ++ B :: Γ2 ⊢e !s = !s : !t

subgoal 2 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)


constructor.
12 subgoals, subgoal 1 (ID 28939)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s0 : Sorts
  H0 : Γ = Γ1 ++ A :: Γ2
  H1 : Γ2 ⊢e A = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   Ax s t

subgoal 2 (ID 28940) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 3 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

trivial.
11 subgoals, subgoal 1 (ID 28940)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s0 : Sorts
  H0 : Γ = Γ1 ++ A :: Γ2
  H1 : Γ2 ⊢e A = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 28377) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

apply H with A s0; trivial.
10 subgoals, subgoal 1 (ID 28377)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  ============================
   Γ1 ++ B :: Γ2 ⊢e #v = #v : A

subgoal 2 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 3 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)


destruct (lt_eq_lt_dec v (List.length Γ1)) as [ [] | ].
12 subgoals, subgoal 1 (ID 28958)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   Γ1 ++ B :: Γ2 ⊢e #v = #v : A

subgoal 2 (ID 28959) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)


econstructor.
13 subgoals, subgoal 1 (ID 28963)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 28964) is:
 A ↓ v ⊂ Γ1 ++ B :: Γ2
subgoal 3 (ID 28959) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

apply H with A0 s; trivial.
12 subgoals, subgoal 1 (ID 28964)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   A ↓ v ⊂ Γ1 ++ B :: Γ2

subgoal 2 (ID 28959) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using ,)

eapply conv_in_env_var_lift.
15 subgoals, subgoal 1 (ID 28971)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   A ↓ v ⊂ ?28968

subgoal 2 (ID 28972) is:
 ?28968 = Γ1 ++ ?28969 :: Γ2
subgoal 3 (ID 28973) is:
 Γ2 ⊢e ?28969 = B : !?28970
subgoal 4 (ID 28974) is:
 v < length Γ1
subgoal 5 (ID 28959) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 6 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 open, ?28969 open, ?28970 open,)


apply i.
14 subgoals, subgoal 1 (ID 28972)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   Γ = Γ1 ++ ?28969 :: Γ2

subgoal 2 (ID 28973) is:
 Γ2 ⊢e ?28969 = B : !?28970
subgoal 3 (ID 28974) is:
 v < length Γ1
subgoal 4 (ID 28959) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 6 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 9 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 10 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 11 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 12 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 14 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 open, ?28970 open,)

apply H0.
13 subgoals, subgoal 1 (ID 28973)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   Γ2 ⊢e A0 = B : !?28970

subgoal 2 (ID 28974) is:
 v < length Γ1
subgoal 3 (ID 28959) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 open,)

apply H1.
12 subgoals, subgoal 1 (ID 28974)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : v < length Γ1
  ============================
   v < length Γ1

subgoal 2 (ID 28959) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

trivial.
11 subgoals, subgoal 1 (ID 28959)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  e : v = length Γ1
  ============================
   Γ1 ++ B :: Γ2 ⊢e #v = #v : A

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


subst.
11 subgoals, subgoal 1 (ID 28986)
  
  A : Term
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  i : A ↓ length Γ1 ⊂ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : A

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

destruct i as (a & ?& ?).
11 subgoals, subgoal 1 (ID 28994)
  
  A : Term
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H0 : A = a ↑ (S (length Γ1))
  H3 : a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : A

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

subst.
11 subgoals, subgoal 1 (ID 28997)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : a ↑ (S (length Γ1))

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


replace a with A0 in *.
12 subgoals, subgoal 1 (ID 29003)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : A0 ↑ (S (length Γ1))

subgoal 2 (ID 28998) is:
 A0 = a
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

apply Cnv_eq with (B (S (length Γ1))) s.
13 subgoals, subgoal 1 (ID 29006)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e B ↑ (S (length Γ1)) = A0 ↑ (S (length Γ1)) : !s

subgoal 2 (ID 29007) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : B ↑ (S (length Γ1))
subgoal 3 (ID 28998) is:
 A0 = a
subgoal 4 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


change !s with (!s (S (length Γ1))).
13 subgoals, subgoal 1 (ID 29010)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e B ↑ (S (length Γ1)) = A0 ↑ (S (length Γ1))
   : !s ↑ (S (length Γ1))

subgoal 2 (ID 29007) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : B ↑ (S (length Γ1))
subgoal 3 (ID 28998) is:
 A0 = a
subgoal 4 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

apply thinning_eq_n with Γ2.
15 subgoals, subgoal 1 (ID 29011)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   trunc (S (length Γ1)) (Γ1 ++ B :: Γ2) Γ2

subgoal 2 (ID 29012) is:
 Γ2 ⊢e B = A0 : !s
subgoal 3 (ID 29013) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 4 (ID 29007) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : B ↑ (S (length Γ1))
subgoal 5 (ID 28998) is:
 A0 = a
subgoal 6 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 7 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 10 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 11 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 12 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 13 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 15 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


apply conv_in_env_aux_trunc.
14 subgoals, subgoal 1 (ID 29012)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ2 ⊢e B = A0 : !s

subgoal 2 (ID 29013) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 3 (ID 29007) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : B ↑ (S (length Γ1))
subgoal 4 (ID 28998) is:
 A0 = a
subgoal 5 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 6 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 9 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 10 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 11 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 12 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 14 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

intuition.
13 subgoals, subgoal 1 (ID 29013)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 29007) is:
 Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : B ↑ (S (length Γ1))
subgoal 3 (ID 28998) is:
 A0 = a
subgoal 4 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


apply H with A0 s; trivial.
12 subgoals, subgoal 1 (ID 29007)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊢e #(length Γ1) = #(length Γ1) : B ↑ (S (length Γ1))

subgoal 2 (ID 28998) is:
 A0 = a
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

constructor.
13 subgoals, subgoal 1 (ID 29032)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 29033) is:
 B ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ B :: Γ2
subgoal 3 (ID 28998) is:
 A0 = a
subgoal 4 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

apply H with A0 s; trivial.
12 subgoals, subgoal 1 (ID 29033)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   B ↑ (S (length Γ1)) ↓ length Γ1 ⊂ Γ1 ++ B :: Γ2

subgoal 2 (ID 28998) is:
 A0 = a
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


exists B; intuition.
12 subgoals, subgoal 1 (ID 29041)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : A0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2

subgoal 2 (ID 28998) is:
 A0 = a
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


clear.
12 subgoals, subgoal 1 (ID 29055)
  
  Γ1 : list Term
  Γ2 : list Term
  B : Term
  ============================
   B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2

subgoal 2 (ID 28998) is:
 A0 = a
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

induction Γ1; simpl in *.
13 subgoals, subgoal 1 (ID 29067)
  
  Γ2 : list Term
  B : Term
  ============================
   B ↓ 0 ∈ B :: Γ2

subgoal 2 (ID 29073) is:
 B ↓ S (length Γ1) ∈ a :: Γ1 ++ B :: Γ2
subgoal 3 (ID 28998) is:
 A0 = a
subgoal 4 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

constructor.
12 subgoals, subgoal 1 (ID 29073)
  
  a : Term
  Γ1 : list Term
  Γ2 : list Term
  B : Term
  IHΓ1 : B ↓ length Γ1 ∈ Γ1 ++ B :: Γ2
  ============================
   B ↓ S (length Γ1) ∈ a :: Γ1 ++ B :: Γ2

subgoal 2 (ID 28998) is:
 A0 = a
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

constructor; intuition.
11 subgoals, subgoal 1 (ID 28998)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  w : Γ1 ++ A0 :: Γ2 ⊣e
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s -> Γ4 ⊢e B : !s -> Γ3 ++ B :: Γ4 ⊣e
  a : Term
  H3 : a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   A0 = a

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


generalize H3; clear.
11 subgoals, subgoal 1 (ID 29079)
  
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  a : Term
  ============================
   a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

revert Γ2 A0 a.
11 subgoals, subgoal 1 (ID 29081)
  
  Γ1 : list Term
  ============================
   forall (Γ2 : list Term) (A0 a : Term),
   a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

induction Γ1; intros; simpl in *.
12 subgoals, subgoal 1 (ID 29101)
  
  Γ2 : list Term
  A0 : Term
  a : Term
  H3 : a ↓ 0 ∈ A0 :: Γ2
  ============================
   A0 = a

subgoal 2 (ID 29109) is:
 A0 = a0
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


inversion H3;subst; clear H3.
12 subgoals, subgoal 1 (ID 29179)
  
  Γ2 : list Term
  A0 : Term
  ============================
   A0 = A0

subgoal 2 (ID 29109) is:
 A0 = a0
subgoal 3 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

trivial.
11 subgoals, subgoal 1 (ID 29109)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (Γ2 : list Term) (A0 a : Term),
         a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a
  Γ2 : list Term
  A0 : Term
  a0 : Term
  H3 : a0 ↓ S (length Γ1) ∈ a :: Γ1 ++ A0 :: Γ2
  ============================
   A0 = a0

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)


inversion H3; subst; clear H3.
11 subgoals, subgoal 1 (ID 29257)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (Γ2 : list Term) (A0 a : Term),
         a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a
  Γ2 : list Term
  A0 : Term
  a0 : Term
  H0 : a0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   A0 = a0

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using ,)

eapply IHΓ1.
11 subgoals, subgoal 1 (ID 29259)
  
  a : Term
  Γ1 : list Term
  IHΓ1 : forall (Γ2 : list Term) (A0 a : Term),
         a ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2 -> A0 = a
  Γ2 : list Term
  A0 : Term
  a0 : Term
  H0 : a0 ↓ length Γ1 ∈ Γ1 ++ A0 :: Γ2
  ============================
   a0 ↓ length Γ1 ∈ Γ1 ++ A0 :: ?29258

subgoal 2 (ID 28960) is:
 Γ1 ++ B :: Γ2 ⊢e #v = #v : A
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 open,)

apply H0.
10 subgoals, subgoal 1 (ID 28960)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   Γ1 ++ B :: Γ2 ⊢e #v = #v : A

subgoal 2 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 3 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using ,)


econstructor.
11 subgoals, subgoal 1 (ID 29262)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 29263) is:
 A ↓ v ⊂ Γ1 ++ B :: Γ2
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using ,)

apply H with A0 s; trivial.
10 subgoals, subgoal 1 (ID 29263)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   A ↓ v ⊂ Γ1 ++ B :: Γ2

subgoal 2 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 3 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using ,)

eapply conv_in_env_var_lift2.
13 subgoals, subgoal 1 (ID 29270)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   A ↓ v ⊂ ?29267

subgoal 2 (ID 29271) is:
 ?29267 = Γ1 ++ ?29268 :: Γ2
subgoal 3 (ID 29272) is:
 Γ2 ⊢e ?29268 = B : !?29269
subgoal 4 (ID 29273) is:
 length Γ1 < v
subgoal 5 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 8 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 9 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 10 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 11 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 13 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 open, ?29268 open, ?29269 open,)


apply i.
12 subgoals, subgoal 1 (ID 29271)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   Γ = Γ1 ++ ?29268 :: Γ2

subgoal 2 (ID 29272) is:
 Γ2 ⊢e ?29268 = B : !?29269
subgoal 3 (ID 29273) is:
 length Γ1 < v
subgoal 4 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 7 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 8 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 9 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 10 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 12 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 open, ?29269 open,)

apply H0.
11 subgoals, subgoal 1 (ID 29272)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   Γ2 ⊢e A0 = B : !?29269

subgoal 2 (ID 29273) is:
 length Γ1 < v
subgoal 3 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 open,)

apply H1.
10 subgoals, subgoal 1 (ID 29273)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Γ1 Γ2 : list Term) (A B : Term) (s : Sorts),
      Γ = Γ1 ++ A :: Γ2 ->
      Γ2 ⊢e A = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊣e
  i : A ↓ v ⊂ Γ
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  l : length Γ1 < v
  ============================
   length Γ1 < v

subgoal 2 (ID 28399) is:
 Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u
subgoal 3 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using ,)

trivial.
9 subgoals, subgoal 1 (ID 28399)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e Π (A), B = Π (A'), B' : !u

subgoal 2 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 3 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 5 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 6 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 7 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 9 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using ,)


apply cPi_eq with s t;trivial.
10 subgoals, subgoal 1 (ID 29275)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e A = A' : !s

subgoal 2 (ID 29276) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t
subgoal 3 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using ,)

apply H with A0 s0; trivial.
9 subgoals, subgoal 1 (ID 29276)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t

subgoal 2 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 3 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 5 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 6 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 7 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 9 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using ,)


rewrite app_comm_cons.
9 subgoals, subgoal 1 (ID 29280)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   (A :: Γ1) ++ B0 :: Γ2 ⊢e B = B' : !t

subgoal 2 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 3 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 5 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 6 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 7 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 9 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using ,)

eapply H0.
11 subgoals, subgoal 1 (ID 29283)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ = (A :: Γ1) ++ ?29281 :: Γ2

subgoal 2 (ID 29284) is:
 Γ2 ⊢e ?29281 = B0 : !?29282
subgoal 3 (ID 29285) is:
 Γ2 ⊢e B0 : !?29282
subgoal 4 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 open, ?29282 open,)

rewrite H1; simpl; reflexivity.
10 subgoals, subgoal 1 (ID 29284)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e A0 = B0 : !?29282

subgoal 2 (ID 29285) is:
 Γ2 ⊢e B0 : !?29282
subgoal 3 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 open,)

apply H2.
9 subgoals, subgoal 1 (ID 29285)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B = B' : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e B0 : !s0

subgoal 2 (ID 28424) is:
 Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 3 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 5 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 6 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 7 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 9 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using ,)

trivial.
8 subgoals, subgoal 1 (ID 28424)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e λ [A], M = λ [A'], M' : Π (A), B

subgoal 2 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 3 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 4 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 5 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 6 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 8 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using ,)


apply cLa_eq with s t u;trivial.
10 subgoals, subgoal 1 (ID 29290)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e A = A' : !s

subgoal 2 (ID 29291) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
subgoal 3 (ID 29292) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using ,)

apply H with A0 s0; trivial.
9 subgoals, subgoal 1 (ID 29291)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ1 ++ B0 :: Γ2 ⊢e M = M' : B

subgoal 2 (ID 29292) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t
subgoal 3 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 5 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 6 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 7 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 9 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using ,)


rewrite app_comm_cons.
9 subgoals, subgoal 1 (ID 29296)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   (A :: Γ1) ++ B0 :: Γ2 ⊢e M = M' : B

subgoal 2 (ID 29292) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t
subgoal 3 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 5 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 6 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 7 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 9 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using ,)

eapply H0.
11 subgoals, subgoal 1 (ID 29299)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ = (A :: Γ1) ++ ?29297 :: Γ2

subgoal 2 (ID 29300) is:
 Γ2 ⊢e ?29297 = B0 : !?29298
subgoal 3 (ID 29301) is:
 Γ2 ⊢e B0 : !?29298
subgoal 4 (ID 29292) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t
subgoal 5 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 7 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 8 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 9 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 11 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 open, ?29298 open,)

rewrite H2; simpl; reflexivity.
10 subgoals, subgoal 1 (ID 29300)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e A0 = B0 : !?29298

subgoal 2 (ID 29301) is:
 Γ2 ⊢e B0 : !?29298
subgoal 3 (ID 29292) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 open,)

apply H3.
9 subgoals, subgoal 1 (ID 29301)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e B0 : !s0

subgoal 2 (ID 29292) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t
subgoal 3 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 5 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 6 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 7 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 9 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using ,)

trivial.
8 subgoals, subgoal 1 (ID 29292)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t

subgoal 2 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 3 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 4 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 5 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 6 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 8 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using ,)


rewrite app_comm_cons.
8 subgoals, subgoal 1 (ID 29305)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   (A :: Γ1) ++ B0 :: Γ2 ⊢e B : !t

subgoal 2 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 3 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 4 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 5 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 6 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 8 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using ,)

eapply H1.
10 subgoals, subgoal 1 (ID 29308)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ = (A :: Γ1) ++ ?29306 :: Γ2

subgoal 2 (ID 29309) is:
 Γ2 ⊢e ?29306 = B0 : !?29307
subgoal 3 (ID 29310) is:
 Γ2 ⊢e B0 : !?29307
subgoal 4 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 6 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 7 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 8 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 10 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 open, ?29307 open,)

rewrite H2; simpl; reflexivity.
9 subgoals, subgoal 1 (ID 29309)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e A0 = B0 : !?29307

subgoal 2 (ID 29310) is:
 Γ2 ⊢e B0 : !?29307
subgoal 3 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 5 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 6 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 7 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 9 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 open,)

apply H3.
8 subgoals, subgoal 1 (ID 29310)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H2 : Γ = Γ1 ++ A0 :: Γ2
  H3 : Γ2 ⊢e A0 = B0 : !s0
  H4 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e B0 : !s0

subgoal 2 (ID 28444) is:
 Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]
subgoal 3 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 4 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 5 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 6 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 8 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

trivial.
7 subgoals, subgoal 1 (ID 28444)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s ->
      Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : Π (A), B
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N = N' : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s
  H3 : Γ2 ⊢e B0 : !s
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e M · N = M' · N' : B [ ← N]

subgoal 2 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 3 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 4 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 5 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 6 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 7 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)


apply cApp_eq with A.
8 subgoals, subgoal 1 (ID 29314)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s ->
      Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : Π (A), B
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N = N' : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s
  H3 : Γ2 ⊢e B0 : !s
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e M = M' : Π (A), B

subgoal 2 (ID 29315) is:
 Γ1 ++ B0 :: Γ2 ⊢e N = N' : A
subgoal 3 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 4 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 5 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 6 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 8 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

apply H with A0 s; trivial.
7 subgoals, subgoal 1 (ID 29315)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s ->
      Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M = M' : Π (A), B
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N = N' : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s
  H3 : Γ2 ⊢e B0 : !s
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e N = N' : A

subgoal 2 (ID 28459) is:
 Γ1 ++ B :: Γ2 ⊢e N = M : A
subgoal 3 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 4 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 5 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 6 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 7 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

apply H0 with A0 s; trivial.
6 subgoals, subgoal 1 (ID 28459)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  ============================
   Γ1 ++ B :: Γ2 ⊢e N = M : A

subgoal 2 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 3 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 4 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 5 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 6 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)


apply cSym.
6 subgoals, subgoal 1 (ID 29322)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H0 : Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s
  H2 : Γ2 ⊢e B : !s
  ============================
   Γ1 ++ B :: Γ2 ⊢e M = N : A

subgoal 2 (ID 28477) is:
 Γ1 ++ B :: Γ2 ⊢e M = P : A
subgoal 3 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 4 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 5 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 6 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

apply H with A0 s; trivial.
5 subgoals, subgoal 1 (ID 28477)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : A
  t0 : Γ ⊢e N = P : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N = P : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B : !s
  H3 : Γ2 ⊢e B : !s
  ============================
   Γ1 ++ B :: Γ2 ⊢e M = P : A

subgoal 2 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 3 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 4 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 5 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)


apply cTrans with N.
6 subgoals, subgoal 1 (ID 29326)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : A
  t0 : Γ ⊢e N = P : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N = P : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B : !s
  H3 : Γ2 ⊢e B : !s
  ============================
   Γ1 ++ B :: Γ2 ⊢e M = N : A

subgoal 2 (ID 29327) is:
 Γ1 ++ B :: Γ2 ⊢e N = P : A
subgoal 3 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 4 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 5 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 6 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

apply H with A0 s; trivial.
5 subgoals, subgoal 1 (ID 29327)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : A
  t0 : Γ ⊢e N = P : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N = P : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B : !s
  H3 : Γ2 ⊢e B : !s
  ============================
   Γ1 ++ B :: Γ2 ⊢e N = P : A

subgoal 2 (ID 28496) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : B
subgoal 3 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 4 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 5 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

apply H0 with A0 s; trivial.
4 subgoals, subgoal 1 (ID 28496)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s0 -> Γ2 ⊢e B0 : !s0 -> Γ1 ++ B0 :: Γ2 ⊢e A = B : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e M = N : B

subgoal 2 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 3 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 4 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)


apply Cnv_eq with A s; trivial.
5 subgoals, subgoal 1 (ID 29334)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s0 -> Γ2 ⊢e B0 : !s0 -> Γ1 ++ B0 :: Γ2 ⊢e A = B : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e A = B : !s

subgoal 2 (ID 29335) is:
 Γ1 ++ B0 :: Γ2 ⊢e M = N : A
subgoal 3 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 4 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 5 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

apply H with A0 s0; trivial.
4 subgoals, subgoal 1 (ID 29335)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B0 : !s0 -> Γ2 ⊢e B0 : !s0 -> Γ1 ++ B0 :: Γ2 ⊢e A = B : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e M = N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H1 : Γ = Γ1 ++ A0 :: Γ2
  H2 : Γ2 ⊢e A0 = B0 : !s0
  H3 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e M = N : A

subgoal 2 (ID 28522) is:
 Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 3 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 4 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

apply H0 with A0 s0; trivial.
3 subgoals, subgoal 1 (ID 28522)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]

subgoal 2 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 3 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)


apply cBeta with s t u; trivial.
6 subgoals, subgoal 1 (ID 29343)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e A : !s

subgoal 2 (ID 29344) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t
subgoal 3 (ID 29345) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e M : B
subgoal 4 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 5 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 6 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

apply H with A0 s0; trivial.
5 subgoals, subgoal 1 (ID 29344)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ1 ++ B0 :: Γ2 ⊢e B : !t

subgoal 2 (ID 29345) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e M : B
subgoal 3 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 4 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 5 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)


rewrite app_comm_cons.
5 subgoals, subgoal 1 (ID 29350)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   (A :: Γ1) ++ B0 :: Γ2 ⊢e B : !t

subgoal 2 (ID 29345) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e M : B
subgoal 3 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 4 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 5 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using ,)

eapply H0.
7 subgoals, subgoal 1 (ID 29353)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ = (A :: Γ1) ++ ?29351 :: Γ2

subgoal 2 (ID 29354) is:
 Γ2 ⊢e ?29351 = B0 : !?29352
subgoal 3 (ID 29355) is:
 Γ2 ⊢e B0 : !?29352
subgoal 4 (ID 29345) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e M : B
subgoal 5 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 6 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 7 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 open, ?29352 open,)

rewrite H3; simpl; reflexivity.
6 subgoals, subgoal 1 (ID 29354)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e A0 = B0 : !?29352

subgoal 2 (ID 29355) is:
 Γ2 ⊢e B0 : !?29352
subgoal 3 (ID 29345) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e M : B
subgoal 4 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 5 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 6 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 open,)

apply H4.
5 subgoals, subgoal 1 (ID 29355)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e B0 : !s0

subgoal 2 (ID 29345) is:
 A :: Γ1 ++ B0 :: Γ2 ⊢e M : B
subgoal 3 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 4 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 5 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using ,)

trivial.
4 subgoals, subgoal 1 (ID 29345)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ1 ++ B0 :: Γ2 ⊢e M : B

subgoal 2 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 3 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 4 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using ,)


rewrite app_comm_cons.
4 subgoals, subgoal 1 (ID 29359)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   (A :: Γ1) ++ B0 :: Γ2 ⊢e M : B

subgoal 2 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 3 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 4 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using ,)

eapply H1.
6 subgoals, subgoal 1 (ID 29362)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   A :: Γ = (A :: Γ1) ++ ?29360 :: Γ2

subgoal 2 (ID 29363) is:
 Γ2 ⊢e ?29360 = B0 : !?29361
subgoal 3 (ID 29364) is:
 Γ2 ⊢e B0 : !?29361
subgoal 4 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 5 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 6 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 open, ?29361 open,)

rewrite H3; simpl; reflexivity.
5 subgoals, subgoal 1 (ID 29363)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e A0 = B0 : !?29361

subgoal 2 (ID 29364) is:
 Γ2 ⊢e B0 : !?29361
subgoal 3 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 4 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 5 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 open,)

apply H4.
4 subgoals, subgoal 1 (ID 29364)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   Γ2 ⊢e B0 : !s0

subgoal 2 (ID 29346) is:
 Γ1 ++ B0 :: Γ2 ⊢e N : A
subgoal 3 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 4 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using ,)

trivial.
3 subgoals, subgoal 1 (ID 29346)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Γ1 Γ2 : list Term) (A0 B0 : Term) (s : Sorts),
       A :: Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B0 : !s -> Γ2 ⊢e B0 : !s -> Γ1 ++ B0 :: Γ2 ⊢e M : B
  t3 : Γ ⊢e N : A
  H2 : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s : Sorts),
       Γ = Γ1 ++ A0 :: Γ2 ->
       Γ2 ⊢e A0 = B : !s -> Γ2 ⊢e B : !s -> Γ1 ++ B :: Γ2 ⊢e N : A
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B0 : Term
  s0 : Sorts
  H3 : Γ = Γ1 ++ A0 :: Γ2
  H4 : Γ2 ⊢e A0 = B0 : !s0
  H5 : Γ2 ⊢e B0 : !s0
  ============================
   Γ1 ++ B0 :: Γ2 ⊢e N : A

subgoal 2 (ID 28531) is:
 Γ1 ++ B :: Γ2 ⊣e
subgoal 3 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using ,)


apply H2 with A0 s0; trivial.
2 subgoals, subgoal 1 (ID 28531)
  
  Γ1 : list Term
  Γ2 : list Term
  A : Term
  B : Term
  s : Sorts
  H : nil = Γ1 ++ A :: Γ2
  H0 : Γ2 ⊢e A = B : !s
  H1 : Γ2 ⊢e B : !s
  ============================
   Γ1 ++ B :: Γ2 ⊣e

subgoal 2 (ID 28545) is:
 Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using ,)


destruct Γ1; simpl in *; discriminate.
1 subgoals, subgoal 1 (ID 28545)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s0 : Sorts
  H0 : A :: Γ = Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   Γ1 ++ B :: Γ2 ⊣e

(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using ,)


destruct Γ1; simpl in *.
2 subgoals, subgoal 1 (ID 29439)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  Γ2 : list Term
  A0 : Term
  B : Term
  s0 : Sorts
  H0 : A :: Γ = A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   B :: Γ2 ⊣e

subgoal 2 (ID 29454) is:
 t0 :: Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using ,)

injection H0;intros; subst; clear H0.
2 subgoals, subgoal 1 (ID 29479)
  
  s : Sorts
  Γ2 : list Term
  A0 : Term
  B : Term
  s0 : Sorts
  H1 : Γ2 ⊢e A0 = B : !s0
  H2 : Γ2 ⊢e B : !s0
  t : Γ2 ⊢e A0 : !s
  H : forall (Γ1 Γ3 : list Term) (A B : Term) (s0 : Sorts),
      Γ2 = Γ1 ++ A :: Γ3 ->
      Γ3 ⊢e A = B : !s0 -> Γ3 ⊢e B : !s0 -> Γ1 ++ B :: Γ3 ⊢e A0 : !s
  ============================
   B :: Γ2 ⊣e

subgoal 2 (ID 29454) is:
 t0 :: Γ1 ++ B :: Γ2 ⊣e
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using ,)

eauto.
1 subgoals, subgoal 1 (ID 29454)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Γ1 Γ2 : list Term) (A0 B : Term) (s0 : Sorts),
      Γ = Γ1 ++ A0 :: Γ2 ->
      Γ2 ⊢e A0 = B : !s0 -> Γ2 ⊢e B : !s0 -> Γ1 ++ B :: Γ2 ⊢e A : !s
  t0 : Term
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s0 : Sorts
  H0 : A :: Γ = t0 :: Γ1 ++ A0 :: Γ2
  H1 : Γ2 ⊢e A0 = B : !s0
  H2 : Γ2 ⊢e B : !s0
  ============================
   t0 :: Γ1 ++ B :: Γ2 ⊣e

(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using , ?29480 using ,)


injection H0; intros; subst; clear H0.
1 subgoals, subgoal 1 (ID 29517)
  
  s : Sorts
  t0 : Term
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s0 : Sorts
  H1 : Γ2 ⊢e A0 = B : !s0
  H2 : Γ2 ⊢e B : !s0
  t : Γ1 ++ A0 :: Γ2 ⊢e t0 : !s
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s0 : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s0 -> Γ4 ⊢e B : !s0 -> Γ3 ++ B :: Γ4 ⊢e t0 : !s
  ============================
   t0 :: Γ1 ++ B :: Γ2 ⊣e

(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using , ?29480 using ,)


econstructor.
1 subgoals, subgoal 1 (ID 29521)
  
  s : Sorts
  t0 : Term
  Γ1 : list Term
  Γ2 : list Term
  A0 : Term
  B : Term
  s0 : Sorts
  H1 : Γ2 ⊢e A0 = B : !s0
  H2 : Γ2 ⊢e B : !s0
  t : Γ1 ++ A0 :: Γ2 ⊢e t0 : !s
  H : forall (Γ3 Γ4 : list Term) (A B : Term) (s0 : Sorts),
      Γ1 ++ A0 :: Γ2 = Γ3 ++ A :: Γ4 ->
      Γ4 ⊢e A = B : !s0 -> Γ4 ⊢e B : !s0 -> Γ3 ++ B :: Γ4 ⊢e t0 : !s
  ============================
   Γ1 ++ B :: Γ2 ⊢e t0 : !?29520

(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using , ?29480 using , ?29520 open,)

apply H with A0 s0; trivial.
No more subgoals.
(dependent evars: ?28576 using , ?28577 using , ?28578 using , ?28866 using , ?28875 using , ?28876 using , ?28877 using , ?28889 using , ?28890 using , ?28905 using , ?28906 using , ?28914 using , ?28915 using , ?28968 using , ?28969 using , ?28970 using , ?29258 using , ?29267 using , ?29268 using , ?29269 using , ?29281 using , ?29282 using , ?29297 using , ?29298 using , ?29306 using , ?29307 using , ?29351 using , ?29352 using , ?29360 using , ?29361 using , ?29480 using , ?29520 using ,)


Qed.
conv_in_env is defined



Lemma substitution : (forall Γ t T , Γ e t : T -> forall Δ P A, Δ e P : A ->
 forall Γ' n , sub_in_env Δ P A n Γ Γ' -> Γ' e t [ n P ] : T [ n P ]) /\
(forall Γ M N T , Γ e M = N : T -> forall Δ P A, Δ e P : A ->
 forall Γ' n , sub_in_env Δ P A n Γ Γ' -> Γ' e M [ n P ] = N [ n P ] : T [ n P ]) /\
 (forall Γ , Γ e -> forall Δ P A n Γ' , Δ e P : A ->
  sub_in_env Δ P A n Γ Γ' -> Γ' e) .
1 subgoals, subgoal 1 (ID 29548)
  
  ============================
   (forall (Γ : Env) (t T : Term),
    Γ ⊢e t : T ->
    forall (Δ : Env) (P A : Term),
    Δ ⊢e P : A ->
    forall (Γ' : Env) (n : nat),
    sub_in_env Δ P A n Γ Γ' -> Γ' ⊢e t [n ← P] : T [n ← P]) /\
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢e M = N : T ->
    forall (Δ : Env) (P A : Term),
    Δ ⊢e P : A ->
    forall (Γ' : Env) (n : nat),
    sub_in_env Δ P A n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : T [n ← P]) /\
   (forall Γ : Env,
    Γ ⊣e ->
    forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
    Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e)

(dependent evars:)


apply typ_induc; simpl; intros.
17 subgoals, subgoal 1 (ID 29595)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊢e !s : !t

subgoal 2 (ID 29608) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end : A [n ← P]
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars:)


constructor.
18 subgoals, subgoal 1 (ID 29857)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Ax s t

subgoal 2 (ID 29858) is:
 Γ' ⊣e
subgoal 3 (ID 29608) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end : A [n ← P]
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars:)

trivial.
17 subgoals, subgoal 1 (ID 29858)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊣e

subgoal 2 (ID 29608) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end : A [n ← P]
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars:)

eapply H.
18 subgoals, subgoal 1 (ID 29863)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   ?29859 ⊢e ?29860 : ?29861

subgoal 2 (ID 29864) is:
 sub_in_env ?29859 ?29860 ?29861 ?29862 Γ Γ'
subgoal 3 (ID 29608) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end : A [n ← P]
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 open, ?29860 open, ?29861 open, ?29862 open,)

apply H0.
17 subgoals, subgoal 1 (ID 29864)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   sub_in_env Δ P A ?29862 Γ Γ'

subgoal 2 (ID 29608) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end : A [n ← P]
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 open,)

apply H1.
16 subgoals, subgoal 1 (ID 29608)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ'
   ⊢e match lt_eq_lt_dec v n with
      | inleft (left _) => #v
      | inleft (right _) => P ↑ n
      | inright _ => #(v - 1)
      end : A [n ← P]

subgoal 2 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using ,)


destruct lt_eq_lt_dec as [ [] | ].
18 subgoals, subgoal 1 (ID 29878)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   Γ' ⊢e #v : A [n ← P]

subgoal 2 (ID 29879) is:
 Γ' ⊢e P ↑ n : A [n ← P]
subgoal 3 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using ,)


constructor.
19 subgoals, subgoal 1 (ID 29883)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   Γ' ⊣e

subgoal 2 (ID 29884) is:
 A [n ← P] ↓ v ⊂ Γ'
subgoal 3 (ID 29879) is:
 Γ' ⊢e P ↑ n : A [n ← P]
subgoal 4 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using ,)

eapply H; eauto.
18 subgoals, subgoal 1 (ID 29884)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   A [n ← P] ↓ v ⊂ Γ'

subgoal 2 (ID 29879) is:
 Γ' ⊢e P ↑ n : A [n ← P]
subgoal 3 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using ,)

eapply nth_sub_item_inf.
20 subgoals, subgoal 1 (ID 29944)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   sub_in_env ?29942 P ?29941 n ?29943 Γ'

subgoal 2 (ID 29945) is:
 n > v
subgoal 3 (ID 29946) is:
 A ↓ v ⊂ ?29943
subgoal 4 (ID 29879) is:
 Γ' ⊢e P ↑ n : A [n ← P]
subgoal 5 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 6 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 7 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 9 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 10 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 11 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 12 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 13 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 14 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 16 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 17 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 18 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 19 (ID 29843) is:
 Γ' ⊣e
subgoal 20 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 open, ?29942 open, ?29943 open,)

apply H1.
19 subgoals, subgoal 1 (ID 29945)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   n > v

subgoal 2 (ID 29946) is:
 A ↓ v ⊂ Γ
subgoal 3 (ID 29879) is:
 Γ' ⊢e P ↑ n : A [n ← P]
subgoal 4 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using ,)

intuition.
18 subgoals, subgoal 1 (ID 29946)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   A ↓ v ⊂ Γ

subgoal 2 (ID 29879) is:
 Γ' ⊢e P ↑ n : A [n ← P]
subgoal 3 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using ,)

trivial.
17 subgoals, subgoal 1 (ID 29879)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  e : v = n
  ============================
   Γ' ⊢e P ↑ n : A [n ← P]

subgoal 2 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using ,)


destruct i as (AA & ?& ?).
17 subgoals, subgoal 1 (ID 29957)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  e : v = n
  ============================
   Γ' ⊢e P ↑ n : A [n ← P]

subgoal 2 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using ,)

subst.
17 subgoals, subgoal 1 (ID 29966)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n : AA ↑ (S n) [n ← P]

subgoal 2 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using ,)

rewrite substP3; trivial.
18 subgoals, subgoal 1 (ID 29967)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n : AA ↑ n

subgoal 2 (ID 29968) is:
 0 <= n
subgoal 3 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using ,)


rewrite <- (nth_sub_eq H1 H3).
18 subgoals, subgoal 1 (ID 29977)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n : A0 ↑ n

subgoal 2 (ID 29968) is:
 0 <= n
subgoal 3 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using ,)


eapply thinning_n.
20 subgoals, subgoal 1 (ID 29979)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   trunc n Γ' ?29978

subgoal 2 (ID 29980) is:
 ?29978 ⊢e P : A0
subgoal 3 (ID 29981) is:
 Γ' ⊣e
subgoal 4 (ID 29968) is:
 0 <= n
subgoal 5 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 6 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 7 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 9 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 10 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 11 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 12 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 13 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 14 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 16 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 17 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 18 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 19 (ID 29843) is:
 Γ' ⊣e
subgoal 20 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 open,)

eapply sub_trunc.
20 subgoals, subgoal 1 (ID 29985)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   sub_in_env ?29978 ?29982 ?29983 n ?29984 Γ'

subgoal 2 (ID 29980) is:
 ?29978 ⊢e P : A0
subgoal 3 (ID 29981) is:
 Γ' ⊣e
subgoal 4 (ID 29968) is:
 0 <= n
subgoal 5 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 6 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 7 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 9 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 10 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 11 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 12 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 13 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 14 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 16 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 17 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 18 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 19 (ID 29843) is:
 Γ' ⊣e
subgoal 20 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 open, ?29982 open, ?29983 open, ?29984 open,)

apply H1.
19 subgoals, subgoal 1 (ID 29980)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Δ ⊢e P : A0

subgoal 2 (ID 29981) is:
 Γ' ⊣e
subgoal 3 (ID 29968) is:
 0 <= n
subgoal 4 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using ,)

trivial.
18 subgoals, subgoal 1 (ID 29981)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊣e

subgoal 2 (ID 29968) is:
 0 <= n
subgoal 3 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using ,)

eapply H; eauto.
17 subgoals, subgoal 1 (ID 29968)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   0 <= n

subgoal 2 (ID 29880) is:
 Γ' ⊢e #(v - 1) : A [n ← P]
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using ,)

intuition.
16 subgoals, subgoal 1 (ID 29880)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   Γ' ⊢e #(v - 1) : A [n ← P]

subgoal 2 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using ,)


constructor.
17 subgoals, subgoal 1 (ID 30057)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   Γ' ⊣e

subgoal 2 (ID 30058) is:
 A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using ,)

eapply H; eauto.
16 subgoals, subgoal 1 (ID 30058)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   A [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)

destruct i as (AA & ? &?).
16 subgoals, subgoal 1 (ID 30125)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   A [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)

subst.
16 subgoals, subgoal 1 (ID 30128)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ (S v) [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)

rewrite substP3; trivial.
18 subgoals, subgoal 1 (ID 30129)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 30130) is:
 0 <= n
subgoal 3 (ID 30131) is:
 n <= 0 + v
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)


exists AA; split.
19 subgoals, subgoal 1 (ID 30135)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v = AA ↑ (S (v - 1))

subgoal 2 (ID 30136) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)

replace (S (v-1)) with v.
20 subgoals, subgoal 1 (ID 30140)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v = AA ↑ v

subgoal 2 (ID 30137) is:
 v = S (v - 1)
subgoal 3 (ID 30136) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 4 (ID 30130) is:
 0 <= n
subgoal 5 (ID 30131) is:
 n <= 0 + v
subgoal 6 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 7 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 9 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 10 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 11 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 12 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 13 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 14 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 16 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 17 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 18 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 19 (ID 29843) is:
 Γ' ⊣e
subgoal 20 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)

trivial.
19 subgoals, subgoal 1 (ID 30137)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (v - 1)

subgoal 2 (ID 30136) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)

rewrite <- pred_of_minus.
19 subgoals, subgoal 1 (ID 30142)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (pred v)

subgoal 2 (ID 30136) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)

rewrite <- (S_pred v n l); trivial.
18 subgoals, subgoal 1 (ID 30136)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ v - 1 ∈ Γ'

subgoal 2 (ID 30130) is:
 0 <= n
subgoal 3 (ID 30131) is:
 n <= 0 + v
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using ,)


eapply nth_sub_sup.
20 subgoals, subgoal 1 (ID 30149)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   sub_in_env ?30145 ?30147 ?30148 ?30144 ?30146 Γ'

subgoal 2 (ID 30150) is:
 ?30144 <= v - 1
subgoal 3 (ID 30151) is:
 AA ↓ S (v - 1) ∈ ?30146
subgoal 4 (ID 30130) is:
 0 <= n
subgoal 5 (ID 30131) is:
 n <= 0 + v
subgoal 6 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 7 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 9 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 10 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 11 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 12 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 13 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 14 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 16 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 17 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 18 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 19 (ID 29843) is:
 Γ' ⊣e
subgoal 20 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 open, ?30145 open, ?30146 open, ?30147 open, ?30148 open,)

apply H1.
19 subgoals, subgoal 1 (ID 30150)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   n <= v - 1

subgoal 2 (ID 30151) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

destruct v.
20 subgoals, subgoal 1 (ID 30160)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ 0 ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < 0
  ============================
   n <= 0 - 1

subgoal 2 (ID 30165) is:
 n <= S v - 1
subgoal 3 (ID 30151) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 4 (ID 30130) is:
 0 <= n
subgoal 5 (ID 30131) is:
 n <= 0 + v
subgoal 6 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 7 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 9 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 10 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 11 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 12 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 13 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 14 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 16 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 17 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 18 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 19 (ID 29843) is:
 Γ' ⊣e
subgoal 20 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

apply lt_n_O in l; elim l.
19 subgoals, subgoal 1 (ID 30165)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   n <= S v - 1

subgoal 2 (ID 30151) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

replace (S v - 1 ) with v.
20 subgoals, subgoal 1 (ID 30171)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   n <= v

subgoal 2 (ID 30168) is:
 v = S v - 1
subgoal 3 (ID 30151) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 4 (ID 30130) is:
 0 <= n
subgoal 5 (ID 30131) is:
 n <= 0 + v
subgoal 6 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 7 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 9 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 10 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 11 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 12 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 13 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 14 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 16 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 17 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 18 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 19 (ID 29843) is:
 Γ' ⊣e
subgoal 20 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

intuition.
19 subgoals, subgoal 1 (ID 30168)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   v = S v - 1

subgoal 2 (ID 30151) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)


rewrite <- pred_of_minus.
19 subgoals, subgoal 1 (ID 30189)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   v = pred (S v)

subgoal 2 (ID 30151) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

simpl.
19 subgoals, subgoal 1 (ID 30190)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   v = v

subgoal 2 (ID 30151) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

trivial.
18 subgoals, subgoal 1 (ID 30151)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ S (v - 1) ∈ Γ

subgoal 2 (ID 30130) is:
 0 <= n
subgoal 3 (ID 30131) is:
 n <= 0 + v
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

replace (S (v-1)) with v.
19 subgoals, subgoal 1 (ID 30194)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ v ∈ Γ

subgoal 2 (ID 30191) is:
 v = S (v - 1)
subgoal 3 (ID 30130) is:
 0 <= n
subgoal 4 (ID 30131) is:
 n <= 0 + v
subgoal 5 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 8 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 9 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 10 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 11 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 12 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 13 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 15 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 16 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 17 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 18 (ID 29843) is:
 Γ' ⊣e
subgoal 19 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

trivial.
18 subgoals, subgoal 1 (ID 30191)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (v - 1)

subgoal 2 (ID 30130) is:
 0 <= n
subgoal 3 (ID 30131) is:
 n <= 0 + v
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

rewrite <- pred_of_minus.
18 subgoals, subgoal 1 (ID 30196)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (pred v)

subgoal 2 (ID 30130) is:
 0 <= n
subgoal 3 (ID 30131) is:
 n <= 0 + v
subgoal 4 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 7 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 8 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 9 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 10 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 11 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 12 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 14 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 15 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 16 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 17 (ID 29843) is:
 Γ' ⊣e
subgoal 18 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

rewrite <- (S_pred v n l); trivial.
17 subgoals, subgoal 1 (ID 30130)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   0 <= n

subgoal 2 (ID 30131) is:
 n <= 0 + v
subgoal 3 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)


intuition.
16 subgoals, subgoal 1 (ID 30131)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   n <= 0 + v

subgoal 2 (ID 29626) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)

simpl; intuition.
15 subgoals, subgoal 1 (ID 29626)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] : !u

subgoal 2 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 4 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 5 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 6 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 7 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 8 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 9 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 11 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 12 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 13 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29843) is:
 Γ' ⊣e
subgoal 15 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using ,)


econstructor.
17 subgoals, subgoal 1 (ID 30236)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Rel ?30234 ?30235 u

subgoal 2 (ID 30237) is:
 Γ' ⊢e A [n ← P] : !?30234
subgoal 3 (ID 30238) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !?30235
subgoal 4 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 open, ?30235 open,)

apply r.
16 subgoals, subgoal 1 (ID 30237)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] : !s

subgoal 2 (ID 30238) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 3 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using ,)

eapply H; eauto.
15 subgoals, subgoal 1 (ID 30238)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t

subgoal 2 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 4 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 5 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 6 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 7 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 8 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 9 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 11 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 12 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 13 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29843) is:
 Γ' ⊣e
subgoal 15 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using ,)

eapply H0.
16 subgoals, subgoal 1 (ID 30249)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?30247 ⊢e P : ?30248

subgoal 2 (ID 30250) is:
 sub_in_env ?30247 P ?30248 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 open, ?30248 open,)

apply H1.
15 subgoals, subgoal 1 (ID 30250)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 29647) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 4 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 5 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 6 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 7 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 8 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 9 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 11 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 12 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 13 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29843) is:
 Γ' ⊣e
subgoal 15 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using ,)

constructor; apply H2.
14 subgoals, subgoal 1 (ID 29647)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e b [n ← P] : B [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]

subgoal 2 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 3 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 4 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 5 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using ,)

eauto.
14 subgoals, subgoal 1 (ID 29647)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e b [n ← P] : B [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]

subgoal 2 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 3 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 4 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 5 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using ,)


econstructor.
17 subgoals, subgoal 1 (ID 32062)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e b [n ← P] : B [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Rel ?32059 ?32060 ?32061

subgoal 2 (ID 32063) is:
 Γ' ⊢e A [n ← P] : !?32059
subgoal 3 (ID 32064) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !?32060
subgoal 4 (ID 32065) is:
 A [n ← P] :: Γ' ⊢e b [(S n) ← P] : B [(S n) ← P]
subgoal 5 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 6 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 7 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 8 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 9 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 10 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 11 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 13 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 14 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 15 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 16 (ID 29843) is:
 Γ' ⊣e
subgoal 17 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 open, ?32060 open, ?32061 open,)

apply r.
16 subgoals, subgoal 1 (ID 32063)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e b [n ← P] : B [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] : !s1

subgoal 2 (ID 32064) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 3 (ID 32065) is:
 A [n ← P] :: Γ' ⊢e b [(S n) ← P] : B [(S n) ← P]
subgoal 4 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 5 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 6 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 7 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 8 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 9 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 10 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 12 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 13 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 14 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 15 (ID 29843) is:
 Γ' ⊣e
subgoal 16 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using ,)

eapply H; eauto.
15 subgoals, subgoal 1 (ID 32064)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e b [n ← P] : B [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2

subgoal 2 (ID 32065) is:
 A [n ← P] :: Γ' ⊢e b [(S n) ← P] : B [(S n) ← P]
subgoal 3 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 4 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 5 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 6 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 7 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 8 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 9 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 11 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 12 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 13 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 14 (ID 29843) is:
 Γ' ⊣e
subgoal 15 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using ,)

eapply H0; eauto.
14 subgoals, subgoal 1 (ID 32065)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e b [n ← P] : B [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e b [(S n) ← P] : B [(S n) ← P]

subgoal 2 (ID 29663) is:
 Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]
subgoal 3 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 4 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 5 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using ,)

eapply H1; eauto.
13 subgoals, subgoal 1 (ID 29663)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e a [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e b : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e b [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] · b [n ← P] : B [ ← b] [n ← P]

subgoal 2 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 3 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 4 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using ,)


rewrite subst_travers.
13 subgoals, subgoal 1 (ID 32092)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e a [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e b : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e b [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] · b [n ← P] : (B [(n + 1) ← P]) [ ← b [n ← P]]

subgoal 2 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 3 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 4 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using ,)

econstructor.
14 subgoals, subgoal 1 (ID 32099)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e a [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e b : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e b [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] : Π (?32098), B [(n + 1) ← P]

subgoal 2 (ID 32100) is:
 Γ' ⊢e b [n ← P] : ?32098
subgoal 3 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 4 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 5 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 open,)


replace (n+1) with (S n) by (rewrite plus_comm; trivial).
14 subgoals, subgoal 1 (ID 32104)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e a [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e b : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e b [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] : Π (?32098), B [(S n) ← P]

subgoal 2 (ID 32100) is:
 Γ' ⊢e b [n ← P] : ?32098
subgoal 3 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 4 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 5 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 open,)

eapply H; eauto.
13 subgoals, subgoal 1 (ID 32100)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e a [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e b : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e b [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e b [n ← P] : A [n ← P]

subgoal 2 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 3 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 4 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using ,)


replace (n+1) with (S n) by (rewrite plus_comm; trivial).
13 subgoals, subgoal 1 (ID 32117)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e a [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e b : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e b [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e b [n ← P] : A [n ← P]

subgoal 2 (ID 29679) is:
 Γ' ⊢e a [n ← P] : B [n ← P]
subgoal 3 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 4 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using ,)

eapply H0; eauto.
12 subgoals, subgoal 1 (ID 29679)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e a [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] : B [n ← P]

subgoal 2 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 3 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using ,)


econstructor.
13 subgoals, subgoal 1 (ID 32136)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e a [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e ?32134 = B [n ← P] : !?32135

subgoal 2 (ID 32137) is:
 Γ' ⊢e a [n ← P] : ?32134
subgoal 3 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 4 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 open, ?32135 open,)

eapply H.
14 subgoals, subgoal 1 (ID 32140)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e a [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32138 ⊢e P : ?32139

subgoal 2 (ID 32141) is:
 sub_in_env ?32138 P ?32139 n Γ Γ'
subgoal 3 (ID 32137) is:
 Γ' ⊢e a [n ← P] : A [n ← P]
subgoal 4 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 5 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 open, ?32139 open,)

apply H1.
13 subgoals, subgoal 1 (ID 32141)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e a [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 32137) is:
 Γ' ⊢e a [n ← P] : A [n ← P]
subgoal 3 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 4 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using ,)

trivial.
12 subgoals, subgoal 1 (ID 32137)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e a [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] : A [n ← P]

subgoal 2 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 3 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using ,)

eapply H0.
13 subgoals, subgoal 1 (ID 32144)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e a [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32142 ⊢e P : ?32143

subgoal 2 (ID 32145) is:
 sub_in_env ?32142 P ?32143 n Γ Γ'
subgoal 3 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 4 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 open, ?32143 open,)

apply H1.
12 subgoals, subgoal 1 (ID 32145)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e a : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e a [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 29692) is:
 Γ' ⊢e !s = !s : !t
subgoal 3 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using ,)

trivial.
11 subgoals, subgoal 1 (ID 29692)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊢e !s = !s : !t

subgoal 2 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using ,)


constructor.
12 subgoals, subgoal 1 (ID 32147)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Ax s t

subgoal 2 (ID 32148) is:
 Γ' ⊣e
subgoal 3 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using ,)

trivial.
11 subgoals, subgoal 1 (ID 32148)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊣e

subgoal 2 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using ,)

eapply H.
12 subgoals, subgoal 1 (ID 32153)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   ?32149 ⊢e ?32150 : ?32151

subgoal 2 (ID 32154) is:
 sub_in_env ?32149 ?32150 ?32151 ?32152 Γ Γ'
subgoal 3 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 open, ?32150 open, ?32151 open, ?32152 open,)

apply H0.
11 subgoals, subgoal 1 (ID 32154)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  Δ : Env
  P : Term
  A : Term
  H0 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   sub_in_env Δ P A ?32152 Γ Γ'

subgoal 2 (ID 29705) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 open,)

apply H1.
10 subgoals, subgoal 1 (ID 29705)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ'
   ⊢e match lt_eq_lt_dec v n with
      | inleft (left _) => #v
      | inleft (right _) => P ↑ n
      | inright _ => #(v - 1)
      end =
   match lt_eq_lt_dec v n with
   | inleft (left _) => #v
   | inleft (right _) => P ↑ n
   | inright _ => #(v - 1)
   end : A [n ← P]

subgoal 2 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using ,)


destruct lt_eq_lt_dec as [ [] | ].
12 subgoals, subgoal 1 (ID 32168)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   Γ' ⊢e #v = #v : A [n ← P]

subgoal 2 (ID 32169) is:
 Γ' ⊢e P ↑ n = P ↑ n : A [n ← P]
subgoal 3 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using ,)


constructor.
13 subgoals, subgoal 1 (ID 32173)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   Γ' ⊣e

subgoal 2 (ID 32174) is:
 A [n ← P] ↓ v ⊂ Γ'
subgoal 3 (ID 32169) is:
 Γ' ⊢e P ↑ n = P ↑ n : A [n ← P]
subgoal 4 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using ,)

eapply H; eauto.
12 subgoals, subgoal 1 (ID 32174)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   A [n ← P] ↓ v ⊂ Γ'

subgoal 2 (ID 32169) is:
 Γ' ⊢e P ↑ n = P ↑ n : A [n ← P]
subgoal 3 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using ,)

eapply nth_sub_item_inf.
14 subgoals, subgoal 1 (ID 32234)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   sub_in_env ?32232 P ?32231 n ?32233 Γ'

subgoal 2 (ID 32235) is:
 n > v
subgoal 3 (ID 32236) is:
 A ↓ v ⊂ ?32233
subgoal 4 (ID 32169) is:
 Γ' ⊢e P ↑ n = P ↑ n : A [n ← P]
subgoal 5 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 open, ?32232 open, ?32233 open,)

apply H1.
13 subgoals, subgoal 1 (ID 32235)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   n > v

subgoal 2 (ID 32236) is:
 A ↓ v ⊂ Γ
subgoal 3 (ID 32169) is:
 Γ' ⊢e P ↑ n = P ↑ n : A [n ← P]
subgoal 4 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using ,)


intuition.
12 subgoals, subgoal 1 (ID 32236)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   A ↓ v ⊂ Γ

subgoal 2 (ID 32169) is:
 Γ' ⊢e P ↑ n = P ↑ n : A [n ← P]
subgoal 3 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using ,)

trivial.
11 subgoals, subgoal 1 (ID 32169)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  e : v = n
  ============================
   Γ' ⊢e P ↑ n = P ↑ n : A [n ← P]

subgoal 2 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using ,)


destruct i as (AA & ?& ?).
11 subgoals, subgoal 1 (ID 32247)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  e : v = n
  ============================
   Γ' ⊢e P ↑ n = P ↑ n : A [n ← P]

subgoal 2 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using ,)

subst.
11 subgoals, subgoal 1 (ID 32256)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n = P ↑ n : AA ↑ (S n) [n ← P]

subgoal 2 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using ,)

rewrite substP3; trivial.
12 subgoals, subgoal 1 (ID 32257)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n = P ↑ n : AA ↑ n

subgoal 2 (ID 32258) is:
 0 <= n
subgoal 3 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using ,)


rewrite <- (nth_sub_eq H1 H3).
12 subgoals, subgoal 1 (ID 32267)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n = P ↑ n : A0 ↑ n

subgoal 2 (ID 32258) is:
 0 <= n
subgoal 3 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using ,)


eapply thinning_eq_n.
14 subgoals, subgoal 1 (ID 32269)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   trunc n Γ' ?32268

subgoal 2 (ID 32270) is:
 ?32268 ⊢e P = P : A0
subgoal 3 (ID 32271) is:
 Γ' ⊣e
subgoal 4 (ID 32258) is:
 0 <= n
subgoal 5 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 open,)

eapply sub_trunc.
14 subgoals, subgoal 1 (ID 32275)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   sub_in_env ?32268 ?32272 ?32273 n ?32274 Γ'

subgoal 2 (ID 32270) is:
 ?32268 ⊢e P = P : A0
subgoal 3 (ID 32271) is:
 Γ' ⊣e
subgoal 4 (ID 32258) is:
 0 <= n
subgoal 5 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 open, ?32272 open, ?32273 open, ?32274 open,)

apply H1.
13 subgoals, subgoal 1 (ID 32270)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Δ ⊢e P = P : A0

subgoal 2 (ID 32271) is:
 Γ' ⊣e
subgoal 3 (ID 32258) is:
 0 <= n
subgoal 4 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using ,)

apply cRefl; trivial.
12 subgoals, subgoal 1 (ID 32271)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊣e

subgoal 2 (ID 32258) is:
 0 <= n
subgoal 3 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using ,)


eapply H; eauto.
11 subgoals, subgoal 1 (ID 32258)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  H3 : AA ↓ n ∈ Γ
  ============================
   0 <= n

subgoal 2 (ID 32170) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using ,)

intuition.
10 subgoals, subgoal 1 (ID 32170)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]

subgoal 2 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using ,)


constructor.
11 subgoals, subgoal 1 (ID 32348)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   Γ' ⊣e

subgoal 2 (ID 32349) is:
 A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using ,)

eapply H; eauto.
10 subgoals, subgoal 1 (ID 32349)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  i : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   A [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)

destruct i as (AA & ? &?).
10 subgoals, subgoal 1 (ID 32416)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H2 : A = AA ↑ (S v)
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   A [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)

subst.
10 subgoals, subgoal 1 (ID 32419)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ (S v) [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)


rewrite substP3; trivial.
12 subgoals, subgoal 1 (ID 32420)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 32421) is:
 0 <= n
subgoal 3 (ID 32422) is:
 n <= 0 + v
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)


exists AA; split.
13 subgoals, subgoal 1 (ID 32426)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v = AA ↑ (S (v - 1))

subgoal 2 (ID 32427) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)

replace (S (v-1)) with v.
14 subgoals, subgoal 1 (ID 32431)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v = AA ↑ v

subgoal 2 (ID 32428) is:
 v = S (v - 1)
subgoal 3 (ID 32427) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 4 (ID 32421) is:
 0 <= n
subgoal 5 (ID 32422) is:
 n <= 0 + v
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)

trivial.
13 subgoals, subgoal 1 (ID 32428)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (v - 1)

subgoal 2 (ID 32427) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)


rewrite <- pred_of_minus.
13 subgoals, subgoal 1 (ID 32433)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (pred v)

subgoal 2 (ID 32427) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)

rewrite <- (S_pred v n l); trivial.
12 subgoals, subgoal 1 (ID 32427)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ v - 1 ∈ Γ'

subgoal 2 (ID 32421) is:
 0 <= n
subgoal 3 (ID 32422) is:
 n <= 0 + v
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using ,)


eapply nth_sub_sup.
14 subgoals, subgoal 1 (ID 32440)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   sub_in_env ?32436 ?32438 ?32439 ?32435 ?32437 Γ'

subgoal 2 (ID 32441) is:
 ?32435 <= v - 1
subgoal 3 (ID 32442) is:
 AA ↓ S (v - 1) ∈ ?32437
subgoal 4 (ID 32421) is:
 0 <= n
subgoal 5 (ID 32422) is:
 n <= 0 + v
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 open, ?32436 open, ?32437 open, ?32438 open, ?32439 open,)

apply H1.
13 subgoals, subgoal 1 (ID 32441)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   n <= v - 1

subgoal 2 (ID 32442) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

destruct v.
14 subgoals, subgoal 1 (ID 32451)
  
  Γ : Env
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ 0 ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < 0
  ============================
   n <= 0 - 1

subgoal 2 (ID 32456) is:
 n <= S v - 1
subgoal 3 (ID 32442) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 4 (ID 32421) is:
 0 <= n
subgoal 5 (ID 32422) is:
 n <= 0 + v
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

apply lt_n_O in l; elim l.
13 subgoals, subgoal 1 (ID 32456)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   n <= S v - 1

subgoal 2 (ID 32442) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)


replace (S v - 1 ) with v.
14 subgoals, subgoal 1 (ID 32462)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   n <= v

subgoal 2 (ID 32459) is:
 v = S v - 1
subgoal 3 (ID 32442) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 4 (ID 32421) is:
 0 <= n
subgoal 5 (ID 32422) is:
 n <= 0 + v
subgoal 6 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 7 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 10 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 11 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 12 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 13 (ID 29843) is:
 Γ' ⊣e
subgoal 14 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

intuition.
13 subgoals, subgoal 1 (ID 32459)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   v = S v - 1

subgoal 2 (ID 32442) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)


rewrite <- pred_of_minus.
13 subgoals, subgoal 1 (ID 32480)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   v = pred (S v)

subgoal 2 (ID 32442) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

simpl.
13 subgoals, subgoal 1 (ID 32481)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   v = v

subgoal 2 (ID 32442) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

trivial.
12 subgoals, subgoal 1 (ID 32442)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ S (v - 1) ∈ Γ

subgoal 2 (ID 32421) is:
 0 <= n
subgoal 3 (ID 32422) is:
 n <= 0 + v
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

replace (S (v-1)) with v.
13 subgoals, subgoal 1 (ID 32485)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ v ∈ Γ

subgoal 2 (ID 32482) is:
 v = S (v - 1)
subgoal 3 (ID 32421) is:
 0 <= n
subgoal 4 (ID 32422) is:
 n <= 0 + v
subgoal 5 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 6 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 9 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 10 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 11 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 12 (ID 29843) is:
 Γ' ⊣e
subgoal 13 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)


trivial.
12 subgoals, subgoal 1 (ID 32482)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (v - 1)

subgoal 2 (ID 32421) is:
 0 <= n
subgoal 3 (ID 32422) is:
 n <= 0 + v
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

rewrite <- pred_of_minus.
12 subgoals, subgoal 1 (ID 32487)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (pred v)

subgoal 2 (ID 32421) is:
 0 <= n
subgoal 3 (ID 32422) is:
 n <= 0 + v
subgoal 4 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 5 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 8 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 9 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 10 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 11 (ID 29843) is:
 Γ' ⊣e
subgoal 12 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

rewrite <- (S_pred v n l); trivial.
11 subgoals, subgoal 1 (ID 32421)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   0 <= n

subgoal 2 (ID 32422) is:
 n <= 0 + v
subgoal 3 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)


intuition.
10 subgoals, subgoal 1 (ID 32422)
  
  Γ : Env
  v : nat
  w : Γ ⊣e
  H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
      Δ ⊢e P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣e
  AA : Term
  H3 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   n <= 0 + v

subgoal 2 (ID 29725) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

simpl; intuition.
9 subgoals, subgoal 1 (ID 29725)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] = B' [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A' [n ← P]), B' [(S n) ← P] : !u

subgoal 2 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)


apply cPi_eq with s t.
11 subgoals, subgoal 1 (ID 32522)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] = B' [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Rel s t u

subgoal 2 (ID 32523) is:
 Γ' ⊢e A [n ← P] = A' [n ← P] : !s
subgoal 3 (ID 32524) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B' [(S n) ← P] : !t
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

trivial.
10 subgoals, subgoal 1 (ID 32523)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] = B' [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] = A' [n ← P] : !s

subgoal 2 (ID 32524) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B' [(S n) ← P] : !t
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using ,)

eapply H.
11 subgoals, subgoal 1 (ID 32527)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] = B' [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32525 ⊢e P : ?32526

subgoal 2 (ID 32528) is:
 sub_in_env ?32525 P ?32526 n Γ Γ'
subgoal 3 (ID 32524) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B' [(S n) ← P] : !t
subgoal 4 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 open, ?32526 open,)

apply H1.
10 subgoals, subgoal 1 (ID 32528)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] = B' [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 32524) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B' [(S n) ← P] : !t
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using ,)

trivial.
9 subgoals, subgoal 1 (ID 32524)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] = B' [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B' [(S n) ← P] : !t

subgoal 2 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using ,)

eapply H0.
10 subgoals, subgoal 1 (ID 32531)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] = B' [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32529 ⊢e P : ?32530

subgoal 2 (ID 32532) is:
 sub_in_env ?32529 P ?32530 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 open, ?32530 open,)

apply H1.
9 subgoals, subgoal 1 (ID 32532)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] = B' [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 29748) is:
 Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using ,)

constructor; trivial.
8 subgoals, subgoal 1 (ID 29748)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e λ [A [n ← P]], M [(S n) ← P] = λ [A' [n ← P]], M' [(S n) ← P]
   : Π (A [n ← P]), B [(S n) ← P]

subgoal 2 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 3 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 4 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 5 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 6 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29843) is:
 Γ' ⊣e
subgoal 8 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using ,)


apply cLa_eq with s t u.
11 subgoals, subgoal 1 (ID 32536)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Rel s t u

subgoal 2 (ID 32537) is:
 Γ' ⊢e A [n ← P] = A' [n ← P] : !s
subgoal 3 (ID 32538) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] = M' [(S n) ← P] : B [(S n) ← P]
subgoal 4 (ID 32539) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using ,)

trivial.
10 subgoals, subgoal 1 (ID 32537)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] = A' [n ← P] : !s

subgoal 2 (ID 32538) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] = M' [(S n) ← P] : B [(S n) ← P]
subgoal 3 (ID 32539) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using ,)

eapply H.
11 subgoals, subgoal 1 (ID 32542)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32540 ⊢e P : ?32541

subgoal 2 (ID 32543) is:
 sub_in_env ?32540 P ?32541 n Γ Γ'
subgoal 3 (ID 32538) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] = M' [(S n) ← P] : B [(S n) ← P]
subgoal 4 (ID 32539) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 5 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 7 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 8 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 9 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 10 (ID 29843) is:
 Γ' ⊣e
subgoal 11 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 open, ?32541 open,)

apply H2.
10 subgoals, subgoal 1 (ID 32543)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 32538) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] = M' [(S n) ← P] : B [(S n) ← P]
subgoal 3 (ID 32539) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using ,)

trivial.
9 subgoals, subgoal 1 (ID 32538)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e M [(S n) ← P] = M' [(S n) ← P] : B [(S n) ← P]

subgoal 2 (ID 32539) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 3 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using ,)

eapply H0.
10 subgoals, subgoal 1 (ID 32546)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32544 ⊢e P : ?32545

subgoal 2 (ID 32547) is:
 sub_in_env ?32544 P ?32545 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 32539) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 4 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 open, ?32545 open,)

apply H2.
9 subgoals, subgoal 1 (ID 32547)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 32539) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 3 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using ,)

constructor; trivial.
8 subgoals, subgoal 1 (ID 32539)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t

subgoal 2 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 3 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 4 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 5 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 6 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29843) is:
 Γ' ⊣e
subgoal 8 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using ,)


eapply H1.
9 subgoals, subgoal 1 (ID 32553)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32551 ⊢e P : ?32552

subgoal 2 (ID 32554) is:
 sub_in_env ?32551 P ?32552 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 open, ?32552 open,)

apply H2.
8 subgoals, subgoal 1 (ID 32554)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A' [n ← P] : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' ->
       Γ' ⊢e M [n ← P] = M' [n ← P] : B [n ← P]
  t2 : A :: Γ ⊢e B : !t
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  Δ : Env
  P : Term
  A0 : Term
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 29766) is:
 Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]
subgoal 3 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 4 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 5 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 6 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29843) is:
 Γ' ⊣e
subgoal 8 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using ,)

constructor; trivial.
7 subgoals, subgoal 1 (ID 29766)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P] : B [ ← N] [n ← P]

subgoal 2 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 3 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 4 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 5 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29843) is:
 Γ' ⊣e
subgoal 7 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using ,)


rewrite subst_travers.
7 subgoals, subgoal 1 (ID 32558)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] · N [n ← P] = M' [n ← P] · N' [n ← P]
   : (B [(n + 1) ← P]) [ ← N [n ← P]]

subgoal 2 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 3 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 4 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 5 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29843) is:
 Γ' ⊣e
subgoal 7 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using ,)

apply cApp_eq with (A[n P]).
8 subgoals, subgoal 1 (ID 32559)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(n + 1) ← P]

subgoal 2 (ID 32560) is:
 Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
subgoal 3 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 4 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 5 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 6 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29843) is:
 Γ' ⊣e
subgoal 8 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using ,)

replace (Π (A [n P]), B [(n + 1) P]) with (Π(A),B)[n P].
9 subgoals, subgoal 1 (ID 32564)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] = M' [n ← P] : (Π (A), B) [n ← P]

subgoal 2 (ID 32561) is:
 (Π (A), B) [n ← P] = Π (A [n ← P]), B [(n + 1) ← P]
subgoal 3 (ID 32560) is:
 Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using ,)


eapply H.
10 subgoals, subgoal 1 (ID 32568)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32566 ⊢e P : ?32567

subgoal 2 (ID 32569) is:
 sub_in_env ?32566 P ?32567 n Γ Γ'
subgoal 3 (ID 32561) is:
 (Π (A), B) [n ← P] = Π (A [n ← P]), B [(n + 1) ← P]
subgoal 4 (ID 32560) is:
 Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
subgoal 5 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 6 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 7 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 8 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 29843) is:
 Γ' ⊣e
subgoal 10 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 open, ?32567 open,)

apply H1.
9 subgoals, subgoal 1 (ID 32569)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 32561) is:
 (Π (A), B) [n ← P] = Π (A [n ← P]), B [(n + 1) ← P]
subgoal 3 (ID 32560) is:
 Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using ,)

trivial.
8 subgoals, subgoal 1 (ID 32561)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   (Π (A), B) [n ← P] = Π (A [n ← P]), B [(n + 1) ← P]

subgoal 2 (ID 32560) is:
 Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
subgoal 3 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 4 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 5 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 6 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29843) is:
 Γ' ⊣e
subgoal 8 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using ,)

simpl; replace (n+1) with (S n).
9 subgoals, subgoal 1 (ID 32574)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P]), B [(S n) ← P]

subgoal 2 (ID 32571) is:
 S n = n + 1
subgoal 3 (ID 32560) is:
 Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
subgoal 4 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 5 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 6 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 7 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 29843) is:
 Γ' ⊣e
subgoal 9 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using ,)

trivial.
8 subgoals, subgoal 1 (ID 32571)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   S n = n + 1

subgoal 2 (ID 32560) is:
 Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
subgoal 3 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 4 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 5 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 6 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29843) is:
 Γ' ⊣e
subgoal 8 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using ,)

rewrite plus_comm; trivial.
7 subgoals, subgoal 1 (ID 32560)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]

subgoal 2 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 3 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 4 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 5 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29843) is:
 Γ' ⊣e
subgoal 7 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using ,)


eapply H0.
8 subgoals, subgoal 1 (ID 32579)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32577 ⊢e P : ?32578

subgoal 2 (ID 32580) is:
 sub_in_env ?32577 P ?32578 n Γ Γ'
subgoal 3 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 4 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 5 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 6 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 29843) is:
 Γ' ⊣e
subgoal 8 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 open, ?32578 open,)

apply H1.
7 subgoals, subgoal 1 (ID 32580)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' ->
      Γ' ⊢e M [n ← P] = M' [n ← P] : Π (A [n ← P]), B [(S n) ← P]
  t0 : Γ ⊢e N = N' : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] = N' [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 29779) is:
 Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]
subgoal 3 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 4 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 5 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29843) is:
 Γ' ⊣e
subgoal 7 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using ,)

trivial.
6 subgoals, subgoal 1 (ID 29779)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e N [n ← P] = M [n ← P] : A [n ← P]

subgoal 2 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 3 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 4 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29843) is:
 Γ' ⊣e
subgoal 6 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using ,)


constructor.
6 subgoals, subgoal 1 (ID 32587)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]

subgoal 2 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 3 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 4 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29843) is:
 Γ' ⊣e
subgoal 6 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using ,)

eapply H.
7 subgoals, subgoal 1 (ID 32590)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32588 ⊢e P : ?32589

subgoal 2 (ID 32591) is:
 sub_in_env ?32588 P ?32589 n Γ Γ'
subgoal 3 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 4 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 5 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 29843) is:
 Γ' ⊣e
subgoal 7 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 open, ?32589 open,)

apply H0.
6 subgoals, subgoal 1 (ID 32591)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H1 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 29795) is:
 Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 3 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 4 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29843) is:
 Γ' ⊣e
subgoal 6 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using ,)

trivial.
5 subgoals, subgoal 1 (ID 29795)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  t0 : Γ ⊢e N = P : A
  H0 : forall (Δ : Env) (P0 A0 : Term),
       Δ ⊢e P0 : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P0 A0 n Γ Γ' ->
       Γ' ⊢e N [n ← P0] = P [n ← P0] : A [n ← P0]
  Δ : Env
  P0 : Term
  A0 : Term
  H1 : Δ ⊢e P0 : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P0 A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P0] = P [n ← P0] : A [n ← P0]

subgoal 2 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 3 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29843) is:
 Γ' ⊣e
subgoal 5 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using ,)


apply cTrans with (N[n P0]).
6 subgoals, subgoal 1 (ID 32592)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  t0 : Γ ⊢e N = P : A
  H0 : forall (Δ : Env) (P0 A0 : Term),
       Δ ⊢e P0 : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P0 A0 n Γ Γ' ->
       Γ' ⊢e N [n ← P0] = P [n ← P0] : A [n ← P0]
  Δ : Env
  P0 : Term
  A0 : Term
  H1 : Δ ⊢e P0 : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P0 A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P0] = N [n ← P0] : A [n ← P0]

subgoal 2 (ID 32593) is:
 Γ' ⊢e N [n ← P0] = P [n ← P0] : A [n ← P0]
subgoal 3 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 4 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29843) is:
 Γ' ⊣e
subgoal 6 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using ,)

eauto.
5 subgoals, subgoal 1 (ID 32593)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  t0 : Γ ⊢e N = P : A
  H0 : forall (Δ : Env) (P0 A0 : Term),
       Δ ⊢e P0 : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P0 A0 n Γ Γ' ->
       Γ' ⊢e N [n ← P0] = P [n ← P0] : A [n ← P0]
  Δ : Env
  P0 : Term
  A0 : Term
  H1 : Δ ⊢e P0 : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P0 A0 n Γ Γ'
  ============================
   Γ' ⊢e N [n ← P0] = P [n ← P0] : A [n ← P0]

subgoal 2 (ID 29812) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]
subgoal 3 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29843) is:
 Γ' ⊣e
subgoal 5 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using ,)

eauto.
4 subgoals, subgoal 1 (ID 29812)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] = N [n ← P] : B [n ← P]

subgoal 2 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 3 (ID 29843) is:
 Γ' ⊣e
subgoal 4 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using ,)


apply Cnv_eq with (A[n P]) s.
5 subgoals, subgoal 1 (ID 32742)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] = B [n ← P] : !s

subgoal 2 (ID 32743) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
subgoal 3 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29843) is:
 Γ' ⊣e
subgoal 5 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using ,)

eapply H.
6 subgoals, subgoal 1 (ID 32746)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32744 ⊢e P : ?32745

subgoal 2 (ID 32747) is:
 sub_in_env ?32744 P ?32745 n Γ Γ'
subgoal 3 (ID 32743) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
subgoal 4 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 29843) is:
 Γ' ⊣e
subgoal 6 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 open, ?32745 open,)

apply H1.
5 subgoals, subgoal 1 (ID 32747)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 32743) is:
 Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
subgoal 3 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29843) is:
 Γ' ⊣e
subgoal 5 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using ,)

trivial.
4 subgoals, subgoal 1 (ID 32743)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]

subgoal 2 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 3 (ID 29843) is:
 Γ' ⊣e
subgoal 4 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using ,)

eapply H0.
5 subgoals, subgoal 1 (ID 32750)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32748 ⊢e P : ?32749

subgoal 2 (ID 32751) is:
 sub_in_env ?32748 P ?32749 n Γ Γ'
subgoal 3 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 29843) is:
 Γ' ⊣e
subgoal 5 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 open, ?32749 open,)

apply H1.
4 subgoals, subgoal 1 (ID 32751)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = B [n ← P] : !s
  t0 : Γ ⊢e M = N : A
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H1 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H2 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 29836) is:
 Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
 M [ ← N] [n ← P] : B [ ← N] [n ← P]
subgoal 3 (ID 29843) is:
 Γ' ⊣e
subgoal 4 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using ,)

trivial.
3 subgoals, subgoal 1 (ID 29836)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] = 
   M [ ← N] [n ← P] : B [ ← N] [n ← P]

subgoal 2 (ID 29843) is:
 Γ' ⊣e
subgoal 3 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using ,)


rewrite 2! subst_travers.
3 subgoals, subgoal 1 (ID 32753)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] =
   (M [(n + 1) ← P]) [ ← N [n ← P]] : (B [(n + 1) ← P]) [ ← N [n ← P]]

subgoal 2 (ID 29843) is:
 Γ' ⊣e
subgoal 3 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using ,)

simpl in *.
3 subgoals, subgoal 1 (ID 32778)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] =
   (M [(n + 1) ← P]) [ ← N [n ← P]] : (B [(n + 1) ← P]) [ ← N [n ← P]]

subgoal 2 (ID 29843) is:
 Γ' ⊣e
subgoal 3 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using ,)

replace (n+1) with (S n) by (rewrite plus_comm; trivial).
3 subgoals, subgoal 1 (ID 32782)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e (λ [A [n ← P]], M [(S n) ← P]) · N [n ← P] =
   (M [(S n) ← P]) [ ← N [n ← P]] : (B [(S n) ← P]) [ ← N [n ← P]]

subgoal 2 (ID 29843) is:
 Γ' ⊣e
subgoal 3 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using ,)

apply cBeta with s t u.
7 subgoals, subgoal 1 (ID 32785)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Rel s t u

subgoal 2 (ID 32786) is:
 Γ' ⊢e A [n ← P] : !s
subgoal 3 (ID 32787) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 4 (ID 32788) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] : B [(S n) ← P]
subgoal 5 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 6 (ID 29843) is:
 Γ' ⊣e
subgoal 7 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using ,)

trivial.
6 subgoals, subgoal 1 (ID 32786)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] : !s

subgoal 2 (ID 32787) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 3 (ID 32788) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] : B [(S n) ← P]
subgoal 4 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 5 (ID 29843) is:
 Γ' ⊣e
subgoal 6 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using ,)


eapply H.
7 subgoals, subgoal 1 (ID 32792)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32790 ⊢e P : ?32791

subgoal 2 (ID 32793) is:
 sub_in_env ?32790 P ?32791 n Γ Γ'
subgoal 3 (ID 32787) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 4 (ID 32788) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] : B [(S n) ← P]
subgoal 5 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 6 (ID 29843) is:
 Γ' ⊣e
subgoal 7 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 open, ?32791 open,)

apply H3.
6 subgoals, subgoal 1 (ID 32793)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 32787) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t
subgoal 3 (ID 32788) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] : B [(S n) ← P]
subgoal 4 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 5 (ID 29843) is:
 Γ' ⊣e
subgoal 6 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using ,)

trivial.
5 subgoals, subgoal 1 (ID 32787)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !t

subgoal 2 (ID 32788) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] : B [(S n) ← P]
subgoal 3 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 4 (ID 29843) is:
 Γ' ⊣e
subgoal 5 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using ,)

eapply H0.
6 subgoals, subgoal 1 (ID 32796)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32794 ⊢e P : ?32795

subgoal 2 (ID 32797) is:
 sub_in_env ?32794 P ?32795 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 32788) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] : B [(S n) ← P]
subgoal 4 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 5 (ID 29843) is:
 Γ' ⊣e
subgoal 6 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 open, ?32795 open,)

apply H3.
5 subgoals, subgoal 1 (ID 32797)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 32788) is:
 A [n ← P] :: Γ' ⊢e M [(S n) ← P] : B [(S n) ← P]
subgoal 3 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 4 (ID 29843) is:
 Γ' ⊣e
subgoal 5 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using ,)

constructor; trivial.
4 subgoals, subgoal 1 (ID 32788)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e M [(S n) ← P] : B [(S n) ← P]

subgoal 2 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 3 (ID 29843) is:
 Γ' ⊣e
subgoal 4 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using ,)

eapply H1.
5 subgoals, subgoal 1 (ID 32803)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32801 ⊢e P : ?32802

subgoal 2 (ID 32804) is:
 sub_in_env ?32801 P ?32802 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 4 (ID 29843) is:
 Γ' ⊣e
subgoal 5 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 open, ?32802 open,)

apply H3.
4 subgoals, subgoal 1 (ID 32804)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 32789) is:
 Γ' ⊢e N [n ← P] : A [n ← P]
subgoal 3 (ID 29843) is:
 Γ' ⊣e
subgoal 4 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using ,)

constructor; trivial.
3 subgoals, subgoal 1 (ID 32789)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e N [n ← P] : A [n ← P]

subgoal 2 (ID 29843) is:
 Γ' ⊣e
subgoal 3 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using ,)


eapply H2.
4 subgoals, subgoal 1 (ID 32810)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?32808 ⊢e P : ?32809

subgoal 2 (ID 32811) is:
 sub_in_env ?32808 P ?32809 n Γ Γ'
subgoal 3 (ID 29843) is:
 Γ' ⊣e
subgoal 4 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 open, ?32809 open,)

apply H3.
3 subgoals, subgoal 1 (ID 32811)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e B [n ← P] : !t
  t2 : A :: Γ ⊢e M : B
  H1 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n (A :: Γ) Γ' -> Γ' ⊢e M [n ← P] : B [n ← P]
  t3 : Γ ⊢e N : A
  H2 : forall (Δ : Env) (P A0 : Term),
       Δ ⊢e P : A0 ->
       forall (Γ' : Env) (n : nat),
       sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e N [n ← P] : A [n ← P]
  Δ : Env
  P : Term
  A0 : Term
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 29843) is:
 Γ' ⊣e
subgoal 3 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using ,)

trivial.
2 subgoals, subgoal 1 (ID 29843)
  
  Δ : Env
  P : Term
  A : Term
  n : nat
  Γ' : Env
  H : Δ ⊢e P : A
  H0 : sub_in_env Δ P A n nil Γ'
  ============================
   Γ' ⊣e

subgoal 2 (ID 29855) is:
 Γ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using ,)


inversion H0.
1 subgoals, subgoal 1 (ID 29855)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  Δ : Env
  P : Term
  A0 : Term
  n : nat
  Γ' : Env
  H0 : Δ ⊢e P : A0
  H1 : sub_in_env Δ P A0 n (A :: Γ) Γ'
  ============================
   Γ' ⊣e

(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using ,)


inversion H1; subst; clear H1.
2 subgoals, subgoal 1 (ID 32964)
  
  A : Term
  s : Sorts
  P : Term
  Γ' : Env
  t : Γ' ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ'0 : Env) (n : nat),
      sub_in_env Δ P A0 n Γ' Γ'0 -> Γ'0 ⊢e A [n ← P] : !s
  H0 : Γ' ⊢e P : A
  ============================
   Γ' ⊣e

subgoal 2 (ID 32965) is:
 A [n0 ← P] :: Δ' ⊣e
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using ,)

apply wf_typ in H0; trivial.
1 subgoals, subgoal 1 (ID 32965)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Δ' : Env
  n0 : nat
  H6 : sub_in_env Δ P A0 n0 Γ Δ'
  ============================
   A [n0 ← P] :: Δ' ⊣e

(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using ,)


econstructor.
1 subgoals, subgoal 1 (ID 32971)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Δ' : Env
  n0 : nat
  H6 : sub_in_env Δ P A0 n0 Γ Δ'
  ============================
   Δ' ⊢e A [n0 ← P] : !?32970

(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using , ?32970 open,)

eapply H.
2 subgoals, subgoal 1 (ID 32974)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Δ' : Env
  n0 : nat
  H6 : sub_in_env Δ P A0 n0 Γ Δ'
  ============================
   ?32972 ⊢e P : ?32973

subgoal 2 (ID 32975) is:
 sub_in_env ?32972 P ?32973 n0 Γ Δ'
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using , ?32970 using , ?32972 open, ?32973 open,)

apply H0.
1 subgoals, subgoal 1 (ID 32975)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : forall (Δ : Env) (P A0 : Term),
      Δ ⊢e P : A0 ->
      forall (Γ' : Env) (n : nat),
      sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] : !s
  Δ : Env
  P : Term
  A0 : Term
  H0 : Δ ⊢e P : A0
  Δ' : Env
  n0 : nat
  H6 : sub_in_env Δ P A0 n0 Γ Δ'
  ============================
   sub_in_env Δ P A0 n0 Γ Δ'

(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using , ?32970 using , ?32972 using , ?32973 using ,)

trivial.
No more subgoals.
(dependent evars: ?29859 using , ?29860 using , ?29861 using , ?29862 using , ?29885 using , ?29886 using , ?29887 using , ?29888 using , ?29941 using , ?29942 using , ?29943 using , ?29978 using , ?29982 using , ?29983 using , ?29984 using , ?29986 using , ?29987 using , ?29988 using , ?29989 using , ?30059 using , ?30060 using , ?30061 using , ?30062 using , ?30144 using , ?30145 using , ?30146 using , ?30147 using , ?30148 using , ?30234 using , ?30235 using , ?30239 using , ?30240 using , ?30247 using , ?30248 using , ?32059 using , ?32060 using , ?32061 using , ?32066 using , ?32067 using , ?32074 using , ?32075 using , ?32083 using , ?32084 using , ?32098 using , ?32107 using , ?32108 using , ?32120 using , ?32121 using , ?32134 using , ?32135 using , ?32138 using , ?32139 using , ?32142 using , ?32143 using , ?32149 using , ?32150 using , ?32151 using , ?32152 using , ?32175 using , ?32176 using , ?32177 using , ?32178 using , ?32231 using , ?32232 using , ?32233 using , ?32268 using , ?32272 using , ?32273 using , ?32274 using , ?32277 using , ?32278 using , ?32279 using , ?32280 using , ?32350 using , ?32351 using , ?32352 using , ?32353 using , ?32435 using , ?32436 using , ?32437 using , ?32438 using , ?32439 using , ?32525 using , ?32526 using , ?32529 using , ?32530 using , ?32540 using , ?32541 using , ?32544 using , ?32545 using , ?32551 using , ?32552 using , ?32566 using , ?32567 using , ?32577 using , ?32578 using , ?32588 using , ?32589 using , ?32614 using , ?32615 using , ?32690 using , ?32691 using , ?32744 using , ?32745 using , ?32748 using , ?32749 using , ?32790 using , ?32791 using , ?32794 using , ?32795 using , ?32801 using , ?32802 using , ?32808 using , ?32809 using , ?32970 using , ?32972 using , ?32973 using ,)


Qed.
substitution is defined



Here is the generalization of the substitution
Lemma substitution2 : forall Γ t T , Γ e t : T -> forall Δ P P' A,
  Δ e P = P': A -> Δ e P : A -> forall Γ' n,
   sub_in_env Δ P A n Γ Γ' -> Γ' e t [ n P ] = t [ n P'] : T [ n P ].
1 subgoals, subgoal 1 (ID 32985)
  
  ============================
   forall (Γ : Env) (t T : Term),
   Γ ⊢e t : T ->
   forall (Δ : Env) (P P' A : Term),
   Δ ⊢e P = P' : A ->
   Δ ⊢e P : A ->
   forall (Γ' : Env) (n : nat),
   sub_in_env Δ P A n Γ Γ' -> Γ' ⊢e t [n ← P] = t [n ← P'] : T [n ← P]

(dependent evars:)


induction 1; intros; simpl in *.
6 subgoals, subgoal 1 (ID 33144)
  
  Γ : Env
  s : Sorts
  t : Sorts
  H : Ax s t
  H0 : Γ ⊣e
  Δ : Env
  P : Term
  P' : Term
  A : Term
  H1 : Δ ⊢e P = P' : A
  H2 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊢e !s = !s : !t

subgoal 2 (ID 33159) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P' ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars:)


constructor.
7 subgoals, subgoal 1 (ID 33243)
  
  Γ : Env
  s : Sorts
  t : Sorts
  H : Ax s t
  H0 : Γ ⊣e
  Δ : Env
  P : Term
  P' : Term
  A : Term
  H1 : Δ ⊢e P = P' : A
  H2 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A n Γ Γ'
  ============================
   Ax s t

subgoal 2 (ID 33244) is:
 Γ' ⊣e
subgoal 3 (ID 33159) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P' ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars:)

trivial.
6 subgoals, subgoal 1 (ID 33244)
  
  Γ : Env
  s : Sorts
  t : Sorts
  H : Ax s t
  H0 : Γ ⊣e
  Δ : Env
  P : Term
  P' : Term
  A : Term
  H1 : Δ ⊢e P = P' : A
  H2 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊣e

subgoal 2 (ID 33159) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P' ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars:)

eapply substitution.
8 subgoals, subgoal 1 (ID 33266)
  
  Γ : Env
  s : Sorts
  t : Sorts
  H : Ax s t
  H0 : Γ ⊣e
  Δ : Env
  P : Term
  P' : Term
  A : Term
  H1 : Δ ⊢e P = P' : A
  H2 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A n Γ Γ'
  ============================
   ?33265 ⊣e

subgoal 2 (ID 33270) is:
 ?33267 ⊢e ?33268 : ?33269
subgoal 3 (ID 33272) is:
 sub_in_env ?33267 ?33268 ?33269 ?33271 ?33265 Γ'
subgoal 4 (ID 33159) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P' ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 5 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 6 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 8 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 open, ?33267 open, ?33268 open, ?33269 open, ?33271 open,)

apply H0.
7 subgoals, subgoal 1 (ID 33270)
  
  Γ : Env
  s : Sorts
  t : Sorts
  H : Ax s t
  H0 : Γ ⊣e
  Δ : Env
  P : Term
  P' : Term
  A : Term
  H1 : Δ ⊢e P = P' : A
  H2 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A n Γ Γ'
  ============================
   ?33267 ⊢e ?33268 : ?33269

subgoal 2 (ID 33272) is:
 sub_in_env ?33267 ?33268 ?33269 ?33271 Γ Γ'
subgoal 3 (ID 33159) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P' ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 open, ?33268 open, ?33269 open, ?33271 open,)

apply H2.
6 subgoals, subgoal 1 (ID 33272)
  
  Γ : Env
  s : Sorts
  t : Sorts
  H : Ax s t
  H0 : Γ ⊣e
  Δ : Env
  P : Term
  P' : Term
  A : Term
  H1 : Δ ⊢e P = P' : A
  H2 : Δ ⊢e P : A
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A n Γ Γ'
  ============================
   sub_in_env Δ P A ?33271 Γ Γ'

subgoal 2 (ID 33159) is:
 Γ'
 ⊢e match lt_eq_lt_dec v n with
    | inleft (left _) => #v
    | inleft (right _) => P ↑ n
    | inright _ => #(v - 1)
    end =
 match lt_eq_lt_dec v n with
 | inleft (left _) => #v
 | inleft (right _) => P' ↑ n
 | inright _ => #(v - 1)
 end : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 open,)

apply H3.
5 subgoals, subgoal 1 (ID 33159)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ'
   ⊢e match lt_eq_lt_dec v n with
      | inleft (left _) => #v
      | inleft (right _) => P ↑ n
      | inright _ => #(v - 1)
      end =
   match lt_eq_lt_dec v n with
   | inleft (left _) => #v
   | inleft (right _) => P' ↑ n
   | inright _ => #(v - 1)
   end : A [n ← P]

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using ,)


destruct lt_eq_lt_dec as [ [] | ].
7 subgoals, subgoal 1 (ID 33286)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   Γ' ⊢e #v = #v : A [n ← P]

subgoal 2 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 3 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using ,)


constructor.
8 subgoals, subgoal 1 (ID 33291)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   Γ' ⊣e

subgoal 2 (ID 33292) is:
 A [n ← P] ↓ v ⊂ Γ'
subgoal 3 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 4 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 6 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 8 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using ,)

eapply substitution.
10 subgoals, subgoal 1 (ID 33314)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   ?33313 ⊣e

subgoal 2 (ID 33318) is:
 ?33315 ⊢e ?33316 : ?33317
subgoal 3 (ID 33320) is:
 sub_in_env ?33315 ?33316 ?33317 ?33319 ?33313 Γ'
subgoal 4 (ID 33292) is:
 A [n ← P] ↓ v ⊂ Γ'
subgoal 5 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 6 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 7 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 8 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 9 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 10 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 open, ?33315 open, ?33316 open, ?33317 open, ?33319 open,)

apply H.
9 subgoals, subgoal 1 (ID 33318)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   ?33315 ⊢e ?33316 : ?33317

subgoal 2 (ID 33320) is:
 sub_in_env ?33315 ?33316 ?33317 ?33319 Γ Γ'
subgoal 3 (ID 33292) is:
 A [n ← P] ↓ v ⊂ Γ'
subgoal 4 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 5 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 6 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 7 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 9 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 open, ?33316 open, ?33317 open, ?33319 open,)

apply H2.
8 subgoals, subgoal 1 (ID 33320)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   sub_in_env Δ P A0 ?33319 Γ Γ'

subgoal 2 (ID 33292) is:
 A [n ← P] ↓ v ⊂ Γ'
subgoal 3 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 4 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 6 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 8 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 open,)

apply H3.
7 subgoals, subgoal 1 (ID 33292)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   A [n ← P] ↓ v ⊂ Γ'

subgoal 2 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 3 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using ,)


eapply nth_sub_item_inf.
9 subgoals, subgoal 1 (ID 33324)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   sub_in_env ?33322 P ?33321 n ?33323 Γ'

subgoal 2 (ID 33325) is:
 n > v
subgoal 3 (ID 33326) is:
 A ↓ v ⊂ ?33323
subgoal 4 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 5 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 6 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 7 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 9 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 open, ?33322 open, ?33323 open,)

apply H3.
8 subgoals, subgoal 1 (ID 33325)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   n > v

subgoal 2 (ID 33326) is:
 A ↓ v ⊂ Γ
subgoal 3 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 4 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 6 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 8 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using ,)

intuition.
7 subgoals, subgoal 1 (ID 33326)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : v < n
  ============================
   A ↓ v ⊂ Γ

subgoal 2 (ID 33287) is:
 Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]
subgoal 3 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using ,)

trivial.
6 subgoals, subgoal 1 (ID 33287)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  e : v = n
  ============================
   Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]

subgoal 2 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using ,)


destruct H0 as (AA & ?& ?).
6 subgoals, subgoal 1 (ID 33337)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  AA : Term
  H0 : A = AA ↑ (S v)
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  e : v = n
  ============================
   Γ' ⊢e P ↑ n = P' ↑ n : A [n ← P]

subgoal 2 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using ,)


subst.
6 subgoals, subgoal 1 (ID 33346)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n = P' ↑ n : AA ↑ (S n) [n ← P]

subgoal 2 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using ,)

rewrite substP3; intuition.
6 subgoals, subgoal 1 (ID 33347)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n = P' ↑ n : AA ↑ n

subgoal 2 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using ,)


rewrite <- (nth_sub_eq H3 H4).
6 subgoals, subgoal 1 (ID 33409)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊢e P ↑ n = P' ↑ n : A0 ↑ n

subgoal 2 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using ,)


eapply thinning_eq_n.
8 subgoals, subgoal 1 (ID 33411)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   trunc n Γ' ?33410

subgoal 2 (ID 33412) is:
 ?33410 ⊢e P = P' : A0
subgoal 3 (ID 33413) is:
 Γ' ⊣e
subgoal 4 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 6 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 8 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 open,)

eapply sub_trunc.
8 subgoals, subgoal 1 (ID 33417)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   sub_in_env ?33410 ?33414 ?33415 n ?33416 Γ'

subgoal 2 (ID 33412) is:
 ?33410 ⊢e P = P' : A0
subgoal 3 (ID 33413) is:
 Γ' ⊣e
subgoal 4 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 6 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 8 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 open, ?33414 open, ?33415 open, ?33416 open,)

apply H3.
7 subgoals, subgoal 1 (ID 33412)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   Δ ⊢e P = P' : A0

subgoal 2 (ID 33413) is:
 Γ' ⊣e
subgoal 3 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using ,)

trivial.
6 subgoals, subgoal 1 (ID 33413)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   Γ' ⊣e

subgoal 2 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using ,)


eapply substitution.
8 subgoals, subgoal 1 (ID 33439)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   ?33438 ⊣e

subgoal 2 (ID 33443) is:
 ?33440 ⊢e ?33441 : ?33442
subgoal 3 (ID 33445) is:
 sub_in_env ?33440 ?33441 ?33442 ?33444 ?33438 Γ'
subgoal 4 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 5 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 6 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 8 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 open, ?33440 open, ?33441 open, ?33442 open, ?33444 open,)

apply H.
7 subgoals, subgoal 1 (ID 33443)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   ?33440 ⊢e ?33441 : ?33442

subgoal 2 (ID 33445) is:
 sub_in_env ?33440 ?33441 ?33442 ?33444 Γ Γ'
subgoal 3 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 open, ?33441 open, ?33442 open, ?33444 open,)

apply H2.
6 subgoals, subgoal 1 (ID 33445)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  H4 : AA ↓ n ∈ Γ
  ============================
   sub_in_env Δ P A0 ?33444 Γ Γ'

subgoal 2 (ID 33288) is:
 Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 open,)

apply H3.
5 subgoals, subgoal 1 (ID 33288)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   Γ' ⊢e #(v - 1) = #(v - 1) : A [n ← P]

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using ,)


constructor.
6 subgoals, subgoal 1 (ID 33448)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   Γ' ⊣e

subgoal 2 (ID 33449) is:
 A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using ,)

eapply substitution.
8 subgoals, subgoal 1 (ID 33471)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   ?33470 ⊣e

subgoal 2 (ID 33475) is:
 ?33472 ⊢e ?33473 : ?33474
subgoal 3 (ID 33477) is:
 sub_in_env ?33472 ?33473 ?33474 ?33476 ?33470 Γ'
subgoal 4 (ID 33449) is:
 A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 5 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 6 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 8 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 open, ?33472 open, ?33473 open, ?33474 open, ?33476 open,)

apply H.
7 subgoals, subgoal 1 (ID 33475)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   ?33472 ⊢e ?33473 : ?33474

subgoal 2 (ID 33477) is:
 sub_in_env ?33472 ?33473 ?33474 ?33476 Γ Γ'
subgoal 3 (ID 33449) is:
 A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 open, ?33473 open, ?33474 open, ?33476 open,)

apply H2.
6 subgoals, subgoal 1 (ID 33477)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   sub_in_env Δ P A0 ?33476 Γ Γ'

subgoal 2 (ID 33449) is:
 A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 open,)

apply H3.
5 subgoals, subgoal 1 (ID 33449)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  H0 : A ↓ v ⊂ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   A [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)


destruct H0 as (AA & ? &?).
5 subgoals, subgoal 1 (ID 33488)
  
  Γ : Env
  A : Term
  v : nat
  H : Γ ⊣e
  AA : Term
  H0 : A = AA ↑ (S v)
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   A [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)

subst.
5 subgoals, subgoal 1 (ID 33491)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ (S v) [n ← P] ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)

rewrite substP3; intuition.
5 subgoals, subgoal 1 (ID 33492)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v ↓ v - 1 ⊂ Γ'

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)


exists AA; split.
6 subgoals, subgoal 1 (ID 33556)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v = AA ↑ (S (v - 1))

subgoal 2 (ID 33557) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)

replace (S (v-1)) with v.
7 subgoals, subgoal 1 (ID 33561)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↑ v = AA ↑ v

subgoal 2 (ID 33558) is:
 v = S (v - 1)
subgoal 3 (ID 33557) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)

trivial.
6 subgoals, subgoal 1 (ID 33558)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (v - 1)

subgoal 2 (ID 33557) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)


rewrite <- pred_of_minus.
6 subgoals, subgoal 1 (ID 33563)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (pred v)

subgoal 2 (ID 33557) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)

rewrite <- (S_pred v n l).
6 subgoals, subgoal 1 (ID 33564)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = v

subgoal 2 (ID 33557) is:
 AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)

trivial.
5 subgoals, subgoal 1 (ID 33557)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ v - 1 ∈ Γ'

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using ,)


eapply nth_sub_sup.
7 subgoals, subgoal 1 (ID 33570)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   sub_in_env ?33566 ?33568 ?33569 ?33565 ?33567 Γ'

subgoal 2 (ID 33571) is:
 ?33565 <= v - 1
subgoal 3 (ID 33572) is:
 AA ↓ S (v - 1) ∈ ?33567
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 open, ?33566 open, ?33567 open, ?33568 open, ?33569 open,)

apply H3.
6 subgoals, subgoal 1 (ID 33571)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   n <= v - 1

subgoal 2 (ID 33572) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

intuition.
6 subgoals, subgoal 1 (ID 33571)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   n <= v - 1

subgoal 2 (ID 33572) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

destruct v.
7 subgoals, subgoal 1 (ID 33607)
  
  Γ : Env
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ 0 ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < 0
  ============================
   n <= 0 - 1

subgoal 2 (ID 33612) is:
 n <= S v - 1
subgoal 3 (ID 33572) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 4 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)


apply lt_n_O in l; elim l.
6 subgoals, subgoal 1 (ID 33612)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   n <= S v - 1

subgoal 2 (ID 33572) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

rewrite <- pred_of_minus.
6 subgoals, subgoal 1 (ID 33615)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   n <= pred (S v)

subgoal 2 (ID 33572) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

simpl; trivial.
6 subgoals, subgoal 1 (ID 33616)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ S v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < S v
  ============================
   n <= v

subgoal 2 (ID 33572) is:
 AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)


intuition.
5 subgoals, subgoal 1 (ID 33572)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ S (v - 1) ∈ Γ

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

replace (S (v-1)) with v.
6 subgoals, subgoal 1 (ID 33637)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   AA ↓ v ∈ Γ

subgoal 2 (ID 33634) is:
 v = S (v - 1)
subgoal 3 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

trivial.
5 subgoals, subgoal 1 (ID 33634)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (v - 1)

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

rewrite <- pred_of_minus.
5 subgoals, subgoal 1 (ID 33639)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = S (pred v)

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)


rewrite <- (S_pred v n l).
5 subgoals, subgoal 1 (ID 33640)
  
  Γ : Env
  v : nat
  H : Γ ⊣e
  AA : Term
  H4 : AA ↓ v ∈ Γ
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  l : n < v
  ============================
   v = v

subgoal 2 (ID 33180) is:
 Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

trivial.
4 subgoals, subgoal 1 (ID 33180)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e Π (A [n ← P]), B [(S n) ← P] = Π (A [n ← P']), B [(S n) ← P'] : !u

subgoal 2 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 4 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)


apply cPi_eq with s t; trivial.
5 subgoals, subgoal 1 (ID 33642)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] = A [n ← P'] : !s

subgoal 2 (ID 33643) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B [(S n) ← P'] : !t
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using ,)

eapply IHtyp1.
7 subgoals, subgoal 1 (ID 33646)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33644 ⊢e P = P' : ?33645

subgoal 2 (ID 33647) is:
 ?33644 ⊢e P : ?33645
subgoal 3 (ID 33648) is:
 sub_in_env ?33644 P ?33645 n Γ Γ'
subgoal 4 (ID 33643) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B [(S n) ← P'] : !t
subgoal 5 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 open, ?33645 open,)

apply H2.
6 subgoals, subgoal 1 (ID 33647)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Δ ⊢e P : A0

subgoal 2 (ID 33648) is:
 sub_in_env Δ P A0 n Γ Γ'
subgoal 3 (ID 33643) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B [(S n) ← P'] : !t
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using ,)

trivial.
5 subgoals, subgoal 1 (ID 33648)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 33643) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B [(S n) ← P'] : !t
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using ,)

trivial.
4 subgoals, subgoal 1 (ID 33643)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e B [(S n) ← P] = B [(S n) ← P'] : !t

subgoal 2 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 4 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using ,)

eapply IHtyp2.
6 subgoals, subgoal 1 (ID 33651)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33649 ⊢e P = P' : ?33650

subgoal 2 (ID 33652) is:
 ?33649 ⊢e P : ?33650
subgoal 3 (ID 33653) is:
 sub_in_env ?33649 P ?33650 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 4 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 open, ?33650 open,)

apply H2.
5 subgoals, subgoal 1 (ID 33652)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Δ ⊢e P : A0

subgoal 2 (ID 33653) is:
 sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using ,)

trivial.
4 subgoals, subgoal 1 (ID 33653)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !t
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H2 : Δ ⊢e P = P' : A0
  H3 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H4 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 33204) is:
 Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
 : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 4 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using ,)

constructor; trivial.
3 subgoals, subgoal 1 (ID 33204)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e λ [A [n ← P]], b [(S n) ← P] = λ [A [n ← P']], b [(S n) ← P']
   : Π (A [n ← P]), B [(S n) ← P]

subgoal 2 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 3 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using ,)


apply cLa_eq with s1 s2 s3; trivial.
5 subgoals, subgoal 1 (ID 33658)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] = A [n ← P'] : !s1

subgoal 2 (ID 33659) is:
 A [n ← P] :: Γ' ⊢e b [(S n) ← P] = b [(S n) ← P'] : B [(S n) ← P]
subgoal 3 (ID 33660) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using ,)

eapply IHtyp1.
7 subgoals, subgoal 1 (ID 33663)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33661 ⊢e P = P' : ?33662

subgoal 2 (ID 33664) is:
 ?33661 ⊢e P : ?33662
subgoal 3 (ID 33665) is:
 sub_in_env ?33661 P ?33662 n Γ Γ'
subgoal 4 (ID 33659) is:
 A [n ← P] :: Γ' ⊢e b [(S n) ← P] = b [(S n) ← P'] : B [(S n) ← P]
subgoal 5 (ID 33660) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 6 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 7 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 open, ?33662 open,)

apply H3.
6 subgoals, subgoal 1 (ID 33664)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Δ ⊢e P : A0

subgoal 2 (ID 33665) is:
 sub_in_env Δ P A0 n Γ Γ'
subgoal 3 (ID 33659) is:
 A [n ← P] :: Γ' ⊢e b [(S n) ← P] = b [(S n) ← P'] : B [(S n) ← P]
subgoal 4 (ID 33660) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using ,)

trivial.
5 subgoals, subgoal 1 (ID 33665)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 33659) is:
 A [n ← P] :: Γ' ⊢e b [(S n) ← P] = b [(S n) ← P'] : B [(S n) ← P]
subgoal 3 (ID 33660) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using ,)

trivial.
4 subgoals, subgoal 1 (ID 33659)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e b [(S n) ← P] = b [(S n) ← P'] : B [(S n) ← P]

subgoal 2 (ID 33660) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 3 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 4 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using ,)

eapply IHtyp3.
6 subgoals, subgoal 1 (ID 33668)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33666 ⊢e P = P' : ?33667

subgoal 2 (ID 33669) is:
 ?33666 ⊢e P : ?33667
subgoal 3 (ID 33670) is:
 sub_in_env ?33666 P ?33667 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 4 (ID 33660) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 5 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 6 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 open, ?33667 open,)

apply H3.
5 subgoals, subgoal 1 (ID 33669)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Δ ⊢e P : A0

subgoal 2 (ID 33670) is:
 sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 33660) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using ,)

trivial.
4 subgoals, subgoal 1 (ID 33670)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 33660) is:
 A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2
subgoal 3 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 4 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using ,)

constructor; trivial.
3 subgoals, subgoal 1 (ID 33660)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2

subgoal 2 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 3 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using ,)


change !s2 with (!s2[(S n)← P]).
3 subgoals, subgoal 1 (ID 33675)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   A [n ← P] :: Γ' ⊢e B [(S n) ← P] : !s2 [(S n) ← P]

subgoal 2 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 3 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using ,)

eapply substitution.
5 subgoals, subgoal 1 (ID 33691)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33690 ⊢e B : !s2

subgoal 2 (ID 33694) is:
 ?33692 ⊢e P : ?33693
subgoal 3 (ID 33695) is:
 sub_in_env ?33692 P ?33693 (S n) ?33690 (A [n ← P] :: Γ')
subgoal 4 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 5 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 open, ?33692 open, ?33693 open,)

apply H1.
4 subgoals, subgoal 1 (ID 33694)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33692 ⊢e P : ?33693

subgoal 2 (ID 33695) is:
 sub_in_env ?33692 P ?33693 (S n) (A :: Γ) (A [n ← P] :: Γ')
subgoal 3 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 4 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 open, ?33693 open,)

apply H4.
3 subgoals, subgoal 1 (ID 33695)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢e A : !s1
  H1 : A :: Γ ⊢e B : !s2
  H2 : A :: Γ ⊢e b : B
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' -> Γ' ⊢e A [n ← P] = A [n ← P'] : !s1
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e B [n ← P] = B [n ← P'] : !s2
  IHtyp3 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n (A :: Γ) Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : B [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H3 : Δ ⊢e P = P' : A0
  H4 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H5 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 (S n) (A :: Γ) (A [n ← P] :: Γ')

subgoal 2 (ID 33223) is:
 Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]
subgoal 3 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using ,)

constructor; trivial.
2 subgoals, subgoal 1 (ID 33223)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  H : Γ ⊢e a : Π (A), B
  H0 : Γ ⊢e b : A
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e a [n ← P] = a [n ← P'] : Π (A [n ← P]), B [(S n) ← P]
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P'] : B [ ← b] [n ← P]

subgoal 2 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using ,)


rewrite subst_travers.
2 subgoals, subgoal 1 (ID 33699)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  H : Γ ⊢e a : Π (A), B
  H0 : Γ ⊢e b : A
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e a [n ← P] = a [n ← P'] : Π (A [n ← P]), B [(S n) ← P]
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] · b [n ← P] = a [n ← P'] · b [n ← P']
   : (B [(n + 1) ← P]) [ ← b [n ← P]]

subgoal 2 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using ,)

apply cApp_eq with (A[n P]).
3 subgoals, subgoal 1 (ID 33700)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  H : Γ ⊢e a : Π (A), B
  H0 : Γ ⊢e b : A
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e a [n ← P] = a [n ← P'] : Π (A [n ← P]), B [(S n) ← P]
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] = a [n ← P'] : Π (A [n ← P]), B [(n + 1) ← P]

subgoal 2 (ID 33701) is:
 Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]
subgoal 3 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using ,)


replace (n+1) with (S n) by (rewrite plus_comm; trivial).
3 subgoals, subgoal 1 (ID 33705)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  H : Γ ⊢e a : Π (A), B
  H0 : Γ ⊢e b : A
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e a [n ← P] = a [n ← P'] : Π (A [n ← P]), B [(S n) ← P]
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] = a [n ← P'] : Π (A [n ← P]), B [(S n) ← P]

subgoal 2 (ID 33701) is:
 Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]
subgoal 3 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using ,)

eapply IHtyp1; eauto.
2 subgoals, subgoal 1 (ID 33701)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  H : Γ ⊢e a : Π (A), B
  H0 : Γ ⊢e b : A
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e a [n ← P] = a [n ← P'] : Π (A [n ← P]), B [(S n) ← P]
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]

subgoal 2 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using ,)


replace (n+1) with (S n) by (rewrite plus_comm; trivial).
2 subgoals, subgoal 1 (ID 33727)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  H : Γ ⊢e a : Π (A), B
  H0 : Γ ⊢e b : A
  IHtyp1 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e a [n ← P] = a [n ← P'] : Π (A [n ← P]), B [(S n) ← P]
  IHtyp2 : forall (Δ : Env) (P P' A0 : Term),
           Δ ⊢e P = P' : A0 ->
           Δ ⊢e P : A0 ->
           forall (Γ' : Env) (n : nat),
           sub_in_env Δ P A0 n Γ Γ' ->
           Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e b [n ← P] = b [n ← P'] : A [n ← P]

subgoal 2 (ID 33241) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using ,)

eapply IHtyp2; eauto.
1 subgoals, subgoal 1 (ID 33241)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] = a [n ← P'] : B [n ← P]

(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using ,)


apply Cnv_eq with (A[n P]) s.
2 subgoals, subgoal 1 (ID 33747)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] = B [n ← P] : !s

subgoal 2 (ID 33748) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using ,)

change !s with (!s[n P]).
2 subgoals, subgoal 1 (ID 33750)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e A [n ← P] = B [n ← P] : !s [n ← P]

subgoal 2 (ID 33748) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using ,)

eapply substitution.
4 subgoals, subgoal 1 (ID 33770)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33769 ⊢e A = B : !s

subgoal 2 (ID 33773) is:
 ?33771 ⊢e P : ?33772
subgoal 3 (ID 33774) is:
 sub_in_env ?33771 P ?33772 n ?33769 Γ'
subgoal 4 (ID 33748) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using , ?33757 using ?33763 , ?33758 using ?33765 , ?33759 using ?33766 , ?33763 using ?33769 , ?33765 using ?33771 , ?33766 using ?33772 , ?33769 open, ?33771 open, ?33772 open,)

apply H.
3 subgoals, subgoal 1 (ID 33773)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33771 ⊢e P : ?33772

subgoal 2 (ID 33774) is:
 sub_in_env ?33771 P ?33772 n Γ Γ'
subgoal 3 (ID 33748) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using , ?33757 using ?33763 , ?33758 using ?33765 , ?33759 using ?33766 , ?33763 using ?33769 , ?33765 using ?33771 , ?33766 using ?33772 , ?33769 using , ?33771 open, ?33772 open,)

apply H2.
2 subgoals, subgoal 1 (ID 33774)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

subgoal 2 (ID 33748) is:
 Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using , ?33757 using ?33763 , ?33758 using ?33765 , ?33759 using ?33766 , ?33763 using ?33769 , ?33765 using ?33771 , ?33766 using ?33772 , ?33769 using , ?33771 using , ?33772 using ,)

trivial.
1 subgoals, subgoal 1 (ID 33748)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]

(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using , ?33757 using ?33763 , ?33758 using ?33765 , ?33759 using ?33766 , ?33763 using ?33769 , ?33765 using ?33771 , ?33766 using ?33772 , ?33769 using , ?33771 using , ?33772 using ,)


eapply IHtyp.
3 subgoals, subgoal 1 (ID 33777)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   ?33775 ⊢e P = P' : ?33776

subgoal 2 (ID 33778) is:
 ?33775 ⊢e P : ?33776
subgoal 3 (ID 33779) is:
 sub_in_env ?33775 P ?33776 n Γ Γ'
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using , ?33757 using ?33763 , ?33758 using ?33765 , ?33759 using ?33766 , ?33763 using ?33769 , ?33765 using ?33771 , ?33766 using ?33772 , ?33769 using , ?33771 using , ?33772 using , ?33775 open, ?33776 open,)

apply H1.
2 subgoals, subgoal 1 (ID 33778)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   Δ ⊢e P : A0

subgoal 2 (ID 33779) is:
 sub_in_env Δ P A0 n Γ Γ'
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using , ?33757 using ?33763 , ?33758 using ?33765 , ?33759 using ?33766 , ?33763 using ?33769 , ?33765 using ?33771 , ?33766 using ?33772 , ?33769 using , ?33771 using , ?33772 using , ?33775 using , ?33776 using ,)

trivial.
1 subgoals, subgoal 1 (ID 33779)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  H0 : Γ ⊢e a : A
  IHtyp : forall (Δ : Env) (P P' A0 : Term),
          Δ ⊢e P = P' : A0 ->
          Δ ⊢e P : A0 ->
          forall (Γ' : Env) (n : nat),
          sub_in_env Δ P A0 n Γ Γ' ->
          Γ' ⊢e a [n ← P] = a [n ← P'] : A [n ← P]
  Δ : Env
  P : Term
  P' : Term
  A0 : Term
  H1 : Δ ⊢e P = P' : A0
  H2 : Δ ⊢e P : A0
  Γ' : Env
  n : nat
  H3 : sub_in_env Δ P A0 n Γ Γ'
  ============================
   sub_in_env Δ P A0 n Γ Γ'

(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using , ?33757 using ?33763 , ?33758 using ?33765 , ?33759 using ?33766 , ?33763 using ?33769 , ?33765 using ?33771 , ?33766 using ?33772 , ?33769 using , ?33771 using , ?33772 using , ?33775 using , ?33776 using ,)

trivial.
No more subgoals.
(dependent evars: ?33249 using ?33257 , ?33250 using ?33259 , ?33251 using ?33260 , ?33252 using ?33261 , ?33253 using ?33263 , ?33257 using ?33265 , ?33259 using ?33267 , ?33260 using ?33268 , ?33261 using ?33269 , ?33263 using ?33271 , ?33265 using , ?33267 using , ?33268 using , ?33269 using , ?33271 using , ?33297 using ?33305 , ?33298 using ?33307 , ?33299 using ?33308 , ?33300 using ?33309 , ?33301 using ?33311 , ?33305 using ?33313 , ?33307 using ?33315 , ?33308 using ?33316 , ?33309 using ?33317 , ?33311 using ?33319 , ?33313 using , ?33315 using , ?33316 using , ?33317 using , ?33319 using , ?33321 using , ?33322 using , ?33323 using , ?33410 using , ?33414 using , ?33415 using , ?33416 using , ?33422 using ?33430 , ?33423 using ?33432 , ?33424 using ?33433 , ?33425 using ?33434 , ?33426 using ?33436 , ?33430 using ?33438 , ?33432 using ?33440 , ?33433 using ?33441 , ?33434 using ?33442 , ?33436 using ?33444 , ?33438 using , ?33440 using , ?33441 using , ?33442 using , ?33444 using , ?33454 using ?33462 , ?33455 using ?33464 , ?33456 using ?33465 , ?33457 using ?33466 , ?33458 using ?33468 , ?33462 using ?33470 , ?33464 using ?33472 , ?33465 using ?33473 , ?33466 using ?33474 , ?33468 using ?33476 , ?33470 using , ?33472 using , ?33473 using , ?33474 using , ?33476 using , ?33565 using , ?33566 using , ?33567 using , ?33568 using , ?33569 using , ?33644 using , ?33645 using , ?33649 using , ?33650 using , ?33661 using , ?33662 using , ?33666 using , ?33667 using , ?33684 using ?33690 , ?33685 using ?33692 , ?33686 using ?33693 , ?33690 using , ?33692 using , ?33693 using , ?33708 using , ?33709 using , ?33730 using , ?33731 using , ?33757 using ?33763 , ?33758 using ?33765 , ?33759 using ?33766 , ?33763 using ?33769 , ?33765 using ?33771 , ?33766 using ?33772 , ?33769 using , ?33771 using , ?33772 using , ?33775 using , ?33776 using ,)


Qed.
substitution2 is defined



Lemma wf_item : forall Γ A n, A n Γ ->
   forall Γ', Γ e -> trunc (S n) Γ Γ' -> exists s, Γ' e A : !s.
1 subgoals, subgoal 1 (ID 33788)
  
  ============================
   forall (Γ : list Term) (A : Term) (n : nat),
   A ↓ n ∈ Γ ->
   forall Γ' : list Term,
   Γ ⊣e -> trunc (S n) Γ Γ' -> exists s : Sorts, Γ' ⊢e A : !s

(dependent evars:)


induction 1; intros.
2 subgoals, subgoal 1 (ID 33809)
  
  A : Term
  Γ : list Term
  Γ' : list Term
  H : A :: Γ ⊣e
  H0 : trunc 1 (A :: Γ) Γ'
  ============================
   exists s : Sorts, Γ' ⊢e A : !s

subgoal 2 (ID 33812) is:
 exists s : Sorts, Γ' ⊢e A : !s
(dependent evars:)


inversion H0; subst; clear H0.
2 subgoals, subgoal 1 (ID 33885)
  
  A : Term
  Γ : list Term
  Γ' : list Term
  H : A :: Γ ⊣e
  H5 : trunc 0 Γ Γ'
  ============================
   exists s : Sorts, Γ' ⊢e A : !s

subgoal 2 (ID 33812) is:
 exists s : Sorts, Γ' ⊢e A : !s
(dependent evars:)


inversion H5; subst; clear H5.
2 subgoals, subgoal 1 (ID 33941)
  
  A : Term
  Γ' : list Term
  H : A :: Γ' ⊣e
  ============================
   exists s : Sorts, Γ' ⊢e A : !s

subgoal 2 (ID 33812) is:
 exists s : Sorts, Γ' ⊢e A : !s
(dependent evars:)


inversion H; subst.
2 subgoals, subgoal 1 (ID 33989)
  
  A : Term
  Γ' : list Term
  H : A :: Γ' ⊣e
  s : Sorts
  H1 : Γ' ⊢e A : !s
  ============================
   exists s0 : Sorts, Γ' ⊢e A : !s0

subgoal 2 (ID 33812) is:
 exists s : Sorts, Γ' ⊢e A : !s
(dependent evars:)


exists s; trivial.
1 subgoals, subgoal 1 (ID 33812)
  
  A : Term
  Γ : list Term
  n : nat
  y : Term
  H : A ↓ n ∈ Γ
  IHitem : forall Γ' : list Term,
           Γ ⊣e -> trunc (S n) Γ Γ' -> exists s : Sorts, Γ' ⊢e A : !s
  Γ' : list Term
  H0 : y :: Γ ⊣e
  H1 : trunc (S (S n)) (y :: Γ) Γ'
  ============================
   exists s : Sorts, Γ' ⊢e A : !s

(dependent evars:)


inversion H1; subst; clear H1.
1 subgoals, subgoal 1 (ID 34064)
  
  A : Term
  Γ : list Term
  n : nat
  y : Term
  H : A ↓ n ∈ Γ
  IHitem : forall Γ' : list Term,
           Γ ⊣e -> trunc (S n) Γ Γ' -> exists s : Sorts, Γ' ⊢e A : !s
  Γ' : list Term
  H0 : y :: Γ ⊣e
  H6 : trunc (S n) Γ Γ'
  ============================
   exists s : Sorts, Γ' ⊢e A : !s

(dependent evars:)


inversion H0; subst.
1 subgoals, subgoal 1 (ID 34112)
  
  A : Term
  Γ : list Term
  n : nat
  y : Term
  H : A ↓ n ∈ Γ
  IHitem : forall Γ' : list Term,
           Γ ⊣e -> trunc (S n) Γ Γ' -> exists s : Sorts, Γ' ⊢e A : !s
  Γ' : list Term
  H0 : y :: Γ ⊣e
  H6 : trunc (S n) Γ Γ'
  s : Sorts
  H2 : Γ ⊢e y : !s
  ============================
   exists s0 : Sorts, Γ' ⊢e A : !s0

(dependent evars:)


apply IHitem; trivial.
1 subgoals, subgoal 1 (ID 34113)
  
  A : Term
  Γ : list Term
  n : nat
  y : Term
  H : A ↓ n ∈ Γ
  IHitem : forall Γ' : list Term,
           Γ ⊣e -> trunc (S n) Γ Γ' -> exists s : Sorts, Γ' ⊢e A : !s
  Γ' : list Term
  H0 : y :: Γ ⊣e
  H6 : trunc (S n) Γ Γ'
  s : Sorts
  H2 : Γ ⊢e y : !s
  ============================
   Γ ⊣e

(dependent evars:)

apply wf_typ in H2; trivial.
No more subgoals.
(dependent evars:)


Qed.
wf_item is defined



Lemma wf_item_lift : forall Γ t n ,Γ e -> t n Γ ->
  exists s, Γ e t : !s.
1 subgoals, subgoal 1 (ID 34121)
  
  ============================
   forall (Γ : Env) (t : Term) (n : nat),
   Γ ⊣e -> t ↓ n ⊂ Γ -> exists s : Sorts, Γ ⊢e t : !s

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 34126)
  
  Γ : Env
  t : Term
  n : nat
  H : Γ ⊣e
  H0 : t ↓ n ⊂ Γ
  ============================
   exists s : Sorts, Γ ⊢e t : !s

(dependent evars:)


destruct H0 as (u & ? & ?).
1 subgoals, subgoal 1 (ID 34134)
  
  Γ : Env
  t : Term
  n : nat
  H : Γ ⊣e
  u : Term
  H0 : t = u ↑ (S n)
  H1 : u ↓ n ∈ Γ
  ============================
   exists s : Sorts, Γ ⊢e t : !s

(dependent evars:)


subst.
1 subgoals, subgoal 1 (ID 34137)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  ============================
   exists s : Sorts, Γ ⊢e u ↑ (S n) : !s

(dependent evars:)


assert (exists Γ' , trunc (S n) Γ Γ') by (apply item_trunc with u; trivial).
1 subgoals, subgoal 1 (ID 34141)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  H0 : exists Γ' : list Term, trunc (S n) Γ Γ'
  ============================
   exists s : Sorts, Γ ⊢e u ↑ (S n) : !s

(dependent evars:)


destruct H0 as (Γ' & ?).
1 subgoals, subgoal 1 (ID 34146)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  Γ' : list Term
  H0 : trunc (S n) Γ Γ'
  ============================
   exists s : Sorts, Γ ⊢e u ↑ (S n) : !s

(dependent evars:)


destruct (wf_item Γ u n H1 Γ' H H0) as (t & ?).
1 subgoals, subgoal 1 (ID 34153)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  Γ' : list Term
  H0 : trunc (S n) Γ Γ'
  t : Sorts
  H2 : Γ' ⊢e u : !t
  ============================
   exists s : Sorts, Γ ⊢e u ↑ (S n) : !s

(dependent evars:)


exists t.
1 subgoals, subgoal 1 (ID 34155)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  Γ' : list Term
  H0 : trunc (S n) Γ Γ'
  t : Sorts
  H2 : Γ' ⊢e u : !t
  ============================
   Γ ⊢e u ↑ (S n) : !t

(dependent evars:)

change !t with (!t ↑(S n)).
1 subgoals, subgoal 1 (ID 34157)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  Γ' : list Term
  H0 : trunc (S n) Γ Γ'
  t : Sorts
  H2 : Γ' ⊢e u : !t
  ============================
   Γ ⊢e u ↑ (S n) : !t ↑ (S n)

(dependent evars:)


eapply thinning_n.
3 subgoals, subgoal 1 (ID 34159)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  Γ' : list Term
  H0 : trunc (S n) Γ Γ'
  t : Sorts
  H2 : Γ' ⊢e u : !t
  ============================
   trunc (S n) Γ ?34158

subgoal 2 (ID 34160) is:
 ?34158 ⊢e u : !t
subgoal 3 (ID 34161) is:
 Γ ⊣e
(dependent evars: ?34158 open,)

apply H0.
2 subgoals, subgoal 1 (ID 34160)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  Γ' : list Term
  H0 : trunc (S n) Γ Γ'
  t : Sorts
  H2 : Γ' ⊢e u : !t
  ============================
   Γ' ⊢e u : !t

subgoal 2 (ID 34161) is:
 Γ ⊣e
(dependent evars: ?34158 using ,)

trivial.
1 subgoals, subgoal 1 (ID 34161)
  
  Γ : Env
  n : nat
  H : Γ ⊣e
  u : Term
  H1 : u ↓ n ∈ Γ
  Γ' : list Term
  H0 : trunc (S n) Γ Γ'
  t : Sorts
  H2 : Γ' ⊢e u : !t
  ============================
   Γ ⊣e

(dependent evars: ?34158 using ,)

trivial.
No more subgoals.
(dependent evars: ?34158 using ,)


Qed.
wf_item_lift is defined



Lemma wgen_pi : forall Γ A B T, Γ e Π(A),B : T -> exists s, exists t, exists u, Rel s t u /\
 Γ e A : !s /\ (A::Γ) e B : !t.
1 subgoals, subgoal 1 (ID 34170)
  
  ============================
   forall (Γ : Env) (A B T : Term),
   Γ ⊢e Π (A), B : T ->
   exists s t u : Sorts, Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 34175)
  
  Γ : Env
  A : Term
  B : Term
  T : Term
  H : Γ ⊢e Π (A), B : T
  ============================
   exists s t u : Sorts, Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t

(dependent evars:)

remember (Π(A),B) as P.
1 subgoals, subgoal 1 (ID 34182)
  
  Γ : Env
  A : Term
  B : Term
  T : Term
  P : Term
  HeqP : P = Π (A), B
  H : Γ ⊢e P : T
  ============================
   exists s t u : Sorts, Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t

(dependent evars:)

revert A B HeqP.
1 subgoals, subgoal 1 (ID 34184)
  
  Γ : Env
  T : Term
  P : Term
  H : Γ ⊢e P : T
  ============================
   forall A B : Term,
   P = Π (A), B ->
   exists s t u : Sorts, Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t

(dependent evars:)

induction H; intros; subst; try discriminate.
2 subgoals, subgoal 1 (ID 34279)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  H0 : Γ ⊢e A : !s
  H1 : A :: Γ ⊢e B : !t
  IHtyp1 : forall A0 B : Term,
           A = Π (A0), B ->
           exists s t u : Sorts,
             Rel s t u /\ (Γ ⊢e A0 : !s) /\ A0 :: Γ ⊢e B : !t
  IHtyp2 : forall A0 B0 : Term,
           B = Π (A0), B0 ->
           exists s t u : Sorts,
             Rel s t u /\ (A :: Γ ⊢e A0 : !s) /\ A0 :: A :: Γ ⊢e B0 : !t
  A0 : Term
  B0 : Term
  HeqP : Π (A), B = Π (A0), B0
  ============================
   exists s0 t0 u0 : Sorts,
     Rel s0 t0 u0 /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t0

subgoal 2 (ID 34294) is:
 exists s0 t u : Sorts, Rel s0 t u /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t
(dependent evars:)


injection HeqP; intros; subst; clear HeqP.
2 subgoals, subgoal 1 (ID 34341)
  
  Γ : Env
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  A0 : Term
  B0 : Term
  H0 : Γ ⊢e A0 : !s
  IHtyp1 : forall A B : Term,
           A0 = Π (A), B ->
           exists s t u : Sorts,
             Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t
  H1 : A0 :: Γ ⊢e B0 : !t
  IHtyp2 : forall A B : Term,
           B0 = Π (A), B ->
           exists s t u : Sorts,
             Rel s t u /\ (A0 :: Γ ⊢e A : !s) /\ A :: A0 :: Γ ⊢e B : !t
  ============================
   exists s0 t0 u0 : Sorts,
     Rel s0 t0 u0 /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t0

subgoal 2 (ID 34294) is:
 exists s0 t u : Sorts, Rel s0 t u /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t
(dependent evars:)

exists s; exists t; exists u; split.
3 subgoals, subgoal 1 (ID 34349)
  
  Γ : Env
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  A0 : Term
  B0 : Term
  H0 : Γ ⊢e A0 : !s
  IHtyp1 : forall A B : Term,
           A0 = Π (A), B ->
           exists s t u : Sorts,
             Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t
  H1 : A0 :: Γ ⊢e B0 : !t
  IHtyp2 : forall A B : Term,
           B0 = Π (A), B ->
           exists s t u : Sorts,
             Rel s t u /\ (A0 :: Γ ⊢e A : !s) /\ A :: A0 :: Γ ⊢e B : !t
  ============================
   Rel s t u

subgoal 2 (ID 34350) is:
 (Γ ⊢e A0 : !s) /\ A0 :: Γ ⊢e B0 : !t
subgoal 3 (ID 34294) is:
 exists s0 t u : Sorts, Rel s0 t u /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t
(dependent evars:)


trivial.
2 subgoals, subgoal 1 (ID 34350)
  
  Γ : Env
  s : Sorts
  t : Sorts
  u : Sorts
  H : Rel s t u
  A0 : Term
  B0 : Term
  H0 : Γ ⊢e A0 : !s
  IHtyp1 : forall A B : Term,
           A0 = Π (A), B ->
           exists s t u : Sorts,
             Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t
  H1 : A0 :: Γ ⊢e B0 : !t
  IHtyp2 : forall A B : Term,
           B0 = Π (A), B ->
           exists s t u : Sorts,
             Rel s t u /\ (A0 :: Γ ⊢e A : !s) /\ A :: A0 :: Γ ⊢e B : !t
  ============================
   (Γ ⊢e A0 : !s) /\ A0 :: Γ ⊢e B0 : !t

subgoal 2 (ID 34294) is:
 exists s0 t u : Sorts, Rel s0 t u /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t
(dependent evars:)

split; trivial.
1 subgoals, subgoal 1 (ID 34294)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  A0 : Term
  B0 : Term
  H0 : Γ ⊢e Π (A0), B0 : A
  IHtyp : forall A B : Term,
          Π (A0), B0 = Π (A), B ->
          exists s t u : Sorts,
            Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t
  ============================
   exists s0 t u : Sorts, Rel s0 t u /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t

(dependent evars:)


destruct (IHtyp A0 B0) as (a & b& c & h); trivial.
1 subgoals, subgoal 1 (ID 34371)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  A0 : Term
  B0 : Term
  H0 : Γ ⊢e Π (A0), B0 : A
  IHtyp : forall A B : Term,
          Π (A0), B0 = Π (A), B ->
          exists s t u : Sorts,
            Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t
  a : Sorts
  b : Sorts
  c : Sorts
  h : Rel a b c /\ (Γ ⊢e A0 : !a) /\ A0 :: Γ ⊢e B0 : !b
  ============================
   exists s0 t u : Sorts, Rel s0 t u /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t

(dependent evars:)

decompose [and] h; clear h.
1 subgoals, subgoal 1 (ID 34385)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  A0 : Term
  B0 : Term
  H0 : Γ ⊢e Π (A0), B0 : A
  IHtyp : forall A B : Term,
          Π (A0), B0 = Π (A), B ->
          exists s t u : Sorts,
            Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t
  a : Sorts
  b : Sorts
  c : Sorts
  H1 : Rel a b c
  H3 : Γ ⊢e A0 : !a
  H4 : A0 :: Γ ⊢e B0 : !b
  ============================
   exists s0 t u : Sorts, Rel s0 t u /\ (Γ ⊢e A0 : !s0) /\ A0 :: Γ ⊢e B0 : !t

(dependent evars:)


exists a; exists b; exists c; split; trivial.
1 subgoals, subgoal 1 (ID 34394)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢e A = B : !s
  A0 : Term
  B0 : Term
  H0 : Γ ⊢e Π (A0), B0 : A
  IHtyp : forall A B : Term,
          Π (A0), B0 = Π (A), B ->
          exists s t u : Sorts,
            Rel s t u /\ (Γ ⊢e A : !s) /\ A :: Γ ⊢e B : !t
  a : Sorts
  b : Sorts
  c : Sorts
  H1 : Rel a b c
  H3 : Γ ⊢e A0 : !a
  H4 : A0 :: Γ ⊢e B0 : !b
  ============================
   (Γ ⊢e A0 : !a) /\ A0 :: Γ ⊢e B0 : !b

(dependent evars:)

split; trivial.
No more subgoals.
(dependent evars:)


Qed.
wgen_pi is defined



Reflexivity and Type Correctness: since we have symetry, and we did not check for the well formation of the function type in the app-eq rule, we need to prove all at once:

Type Correctness

Left-Hand Reflexivity

Right-Hand Reflexivity

Lemma TypeCorrect_Refl : (forall Γ M T, Γ e M : T -> exists s, T = !s \/ Γ e T : !s) /\
  (forall Γ M N T, Γ e M = N : T -> Γ e M : T /\ Γ e N : T /\ exists s, T = !s \/ Γ e T : !s) /\
  (forall Γ, Γ e -> True).
1 subgoals, subgoal 1 (ID 34410)
  
  ============================
   (forall (Γ : Env) (M T : Term),
    Γ ⊢e M : T -> exists s : Sorts, T = !s \/ Γ ⊢e T : !s) /\
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢e M = N : T ->
    (Γ ⊢e M : T) /\ (Γ ⊢e N : T) /\ (exists s : Sorts, T = !s \/ Γ ⊢e T : !s)) /\
   (forall Γ : Env, Γ ⊣e -> True)

(dependent evars:)


apply typ_induc; intros; simpl in *.
17 subgoals, subgoal 1 (ID 34588)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : True
  ============================
   exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0

subgoal 2 (ID 34595) is:
 exists s : Sorts, A = !s \/ Γ ⊢e A : !s
subgoal 3 (ID 34607) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 4 (ID 34622) is:
 exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
subgoal 5 (ID 34632) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 6 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 7 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 8 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 10 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 11 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 12 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 13 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 14 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 15 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 16 (ID 34746) is:
 True
subgoal 17 (ID 34752) is:
 True
(dependent evars:)


exists t; left; trivial.
16 subgoals, subgoal 1 (ID 34595)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : True
  i : A ↓ v ⊂ Γ
  ============================
   exists s : Sorts, A = !s \/ Γ ⊢e A : !s

subgoal 2 (ID 34607) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 3 (ID 34622) is:
 exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
subgoal 4 (ID 34632) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 5 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 6 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 7 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 9 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 10 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 11 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 12 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 13 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 14 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 15 (ID 34746) is:
 True
subgoal 16 (ID 34752) is:
 True
(dependent evars:)


apply wf_item_lift in i.
17 subgoals, subgoal 1 (ID 34758)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : True
  i : exists s : Sorts, Γ ⊢e A : !s
  ============================
   exists s : Sorts, A = !s \/ Γ ⊢e A : !s

subgoal 2 (ID 34759) is:
 Γ ⊣e
subgoal 3 (ID 34607) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 4 (ID 34622) is:
 exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
subgoal 5 (ID 34632) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 6 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 7 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 8 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 10 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 11 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 12 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 13 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 14 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 15 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 16 (ID 34746) is:
 True
subgoal 17 (ID 34752) is:
 True
(dependent evars:)

destruct i.
17 subgoals, subgoal 1 (ID 34763)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : True
  x : Sorts
  H0 : Γ ⊢e A : !x
  ============================
   exists s : Sorts, A = !s \/ Γ ⊢e A : !s

subgoal 2 (ID 34759) is:
 Γ ⊣e
subgoal 3 (ID 34607) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 4 (ID 34622) is:
 exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
subgoal 5 (ID 34632) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 6 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 7 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 8 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 10 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 11 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 12 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 13 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 14 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 15 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 16 (ID 34746) is:
 True
subgoal 17 (ID 34752) is:
 True
(dependent evars:)

exists x; right ; trivial.
16 subgoals, subgoal 1 (ID 34759)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : True
  i : A ↓ v ⊂ Γ
  ============================
   Γ ⊣e

subgoal 2 (ID 34607) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 3 (ID 34622) is:
 exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
subgoal 4 (ID 34632) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 5 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 6 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 7 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 9 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 10 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 11 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 12 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 13 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 14 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 15 (ID 34746) is:
 True
subgoal 16 (ID 34752) is:
 True
(dependent evars:)

trivial.
15 subgoals, subgoal 1 (ID 34607)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0

subgoal 2 (ID 34622) is:
 exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
subgoal 3 (ID 34632) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 4 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 5 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 6 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 8 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 9 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 10 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 11 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 12 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 13 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 14 (ID 34746) is:
 True
subgoal 15 (ID 34752) is:
 True
(dependent evars:)


exists u; left; trivial.
14 subgoals, subgoal 1 (ID 34622)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : exists s : Sorts, !s1 = !s \/ Γ ⊢e !s1 : !s
  t0 : A :: Γ ⊢e B : !s2
  H0 : exists s : Sorts, !s2 = !s \/ A :: Γ ⊢e !s2 : !s
  t1 : A :: Γ ⊢e b : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  ============================
   exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s

subgoal 2 (ID 34632) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 3 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 4 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 5 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 7 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 8 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 9 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 11 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 12 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 13 (ID 34746) is:
 True
subgoal 14 (ID 34752) is:
 True
(dependent evars:)


exists s3; right.
14 subgoals, subgoal 1 (ID 34775)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : exists s : Sorts, !s1 = !s \/ Γ ⊢e !s1 : !s
  t0 : A :: Γ ⊢e B : !s2
  H0 : exists s : Sorts, !s2 = !s \/ A :: Γ ⊢e !s2 : !s
  t1 : A :: Γ ⊢e b : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  ============================
   Γ ⊢e Π (A), B : !s3

subgoal 2 (ID 34632) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 3 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 4 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 5 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 7 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 8 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 9 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 11 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 12 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 13 (ID 34746) is:
 True
subgoal 14 (ID 34752) is:
 True
(dependent evars:)

apply cPi with s1 s2; trivial.
13 subgoals, subgoal 1 (ID 34632)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s

subgoal 2 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 4 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars:)


destruct H.
13 subgoals, subgoal 1 (ID 34784)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  H : Π (A), B = !x \/ Γ ⊢e Π (A), B : !x
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s

subgoal 2 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 4 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars:)

destruct H.
14 subgoals, subgoal 1 (ID 34790)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  H : Π (A), B = !x
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s

subgoal 2 (ID 34792) is:
 exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s
subgoal 3 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 4 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 5 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 7 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 8 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 9 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 11 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 12 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 13 (ID 34746) is:
 True
subgoal 14 (ID 34752) is:
 True
(dependent evars:)

discriminate.
13 subgoals, subgoal 1 (ID 34792)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  H : Γ ⊢e Π (A), B : !x
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s

subgoal 2 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 4 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars:)


apply wgen_pi in H as (s1 & s2 & s3 & h).
13 subgoals, subgoal 1 (ID 34811)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  h : Rel s1 s2 s3 /\ (Γ ⊢e A : !s1) /\ A :: Γ ⊢e B : !s2
  ============================
   exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s

subgoal 2 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 4 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars:)

decompose [and] h; clear h.
13 subgoals, subgoal 1 (ID 34825)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H2 : Γ ⊢e A : !s1
  H3 : A :: Γ ⊢e B : !s2
  ============================
   exists s : Sorts, B [ ← b] = !s \/ Γ ⊢e B [ ← b] : !s

subgoal 2 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 4 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars:)


exists s2; right.
13 subgoals, subgoal 1 (ID 34829)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H2 : Γ ⊢e A : !s1
  H3 : A :: Γ ⊢e B : !s2
  ============================
   Γ ⊢e B [ ← b] : !s2

subgoal 2 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 4 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars:)

change !s2 with (!s2 [← b]).
13 subgoals, subgoal 1 (ID 34831)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H2 : Γ ⊢e A : !s1
  H3 : A :: Γ ⊢e B : !s2
  ============================
   Γ ⊢e B [ ← b] : !s2 [ ← b]

subgoal 2 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 4 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars:)

eapply substitution.
15 subgoals, subgoal 1 (ID 34847)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H2 : Γ ⊢e A : !s1
  H3 : A :: Γ ⊢e B : !s2
  ============================
   ?34846 ⊢e B : !s2

subgoal 2 (ID 34850) is:
 ?34848 ⊢e b : ?34849
subgoal 3 (ID 34851) is:
 sub_in_env ?34848 b ?34849 0 ?34846 Γ
subgoal 4 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 5 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 6 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 8 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 9 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 10 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 11 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 12 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 13 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 14 (ID 34746) is:
 True
subgoal 15 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 open, ?34848 open, ?34849 open,)

apply H3.
14 subgoals, subgoal 1 (ID 34850)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H2 : Γ ⊢e A : !s1
  H3 : A :: Γ ⊢e B : !s2
  ============================
   ?34848 ⊢e b : ?34849

subgoal 2 (ID 34851) is:
 sub_in_env ?34848 b ?34849 0 (A :: Γ) Γ
subgoal 3 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 4 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 5 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 7 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 8 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 9 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 11 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 12 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 13 (ID 34746) is:
 True
subgoal 14 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 open, ?34849 open,)

apply t0.
13 subgoals, subgoal 1 (ID 34851)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  x : Sorts
  t0 : Γ ⊢e b : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H2 : Γ ⊢e A : !s1
  H3 : A :: Γ ⊢e B : !s2
  ============================
   sub_in_env Γ b A 0 (A :: Γ) Γ

subgoal 2 (ID 34642) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 4 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

constructor.
12 subgoals, subgoal 1 (ID 34642)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : (Γ ⊢e A : !s) /\
      (Γ ⊢e B : !s) /\ (exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0)
  t0 : Γ ⊢e a : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0

subgoal 2 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 3 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 5 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 6 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


destruct H as (? & ? &?).
12 subgoals, subgoal 1 (ID 34863)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e B : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t0 : Γ ⊢e a : A
  H0 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0

subgoal 2 (ID 34649) is:
 (Γ ⊢e !s : !t) /\
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 3 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 5 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 6 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

exists s; right; trivial.
11 subgoals, subgoal 1 (ID 34649)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : True
  ============================
   (Γ ⊢e !s : !t) /\
   (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)

subgoal 2 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 4 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


split.
12 subgoals, subgoal 1 (ID 34869)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : True
  ============================
   Γ ⊢e !s : !t

subgoal 2 (ID 34870) is:
 (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)
subgoal 3 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 5 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 6 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


  now constructor.
11 subgoals, subgoal 1 (ID 34870)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : True
  ============================
   (Γ ⊢e !s : !t) /\ (exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0)

subgoal 2 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 4 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


split.
12 subgoals, subgoal 1 (ID 34951)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : True
  ============================
   Γ ⊢e !s : !t

subgoal 2 (ID 34952) is:
 exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0
subgoal 3 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 5 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 6 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


  now constructor.
11 subgoals, subgoal 1 (ID 34952)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : True
  ============================
   exists s0 : Sorts, !t = !s0 \/ Γ ⊢e !t : !s0

subgoal 2 (ID 34656) is:
 (Γ ⊢e #v : A) /\ (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 4 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


exists t; left; trivial.
10 subgoals, subgoal 1 (ID 34656)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : True
  i : A ↓ v ⊂ Γ
  ============================
   (Γ ⊢e #v : A) /\
   (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)

subgoal 2 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


split.
11 subgoals, subgoal 1 (ID 35037)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : True
  i : A ↓ v ⊂ Γ
  ============================
   Γ ⊢e #v : A

subgoal 2 (ID 35038) is:
 (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 4 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


  now constructor.
10 subgoals, subgoal 1 (ID 35038)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : True
  i : A ↓ v ⊂ Γ
  ============================
   (Γ ⊢e #v : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)

subgoal 2 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


split.
11 subgoals, subgoal 1 (ID 35224)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : True
  i : A ↓ v ⊂ Γ
  ============================
   Γ ⊢e #v : A

subgoal 2 (ID 35225) is:
 exists s : Sorts, A = !s \/ Γ ⊢e A : !s
subgoal 3 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 4 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


  now constructor.
10 subgoals, subgoal 1 (ID 35225)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : True
  i : A ↓ v ⊂ Γ
  ============================
   exists s : Sorts, A = !s \/ Γ ⊢e A : !s

subgoal 2 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


apply wf_item_lift in i.
11 subgoals, subgoal 1 (ID 35411)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : True
  i : exists s : Sorts, Γ ⊢e A : !s
  ============================
   exists s : Sorts, A = !s \/ Γ ⊢e A : !s

subgoal 2 (ID 35412) is:
 Γ ⊣e
subgoal 3 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 4 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

destruct i.
11 subgoals, subgoal 1 (ID 35416)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : True
  x : Sorts
  H0 : Γ ⊢e A : !x
  ============================
   exists s : Sorts, A = !s \/ Γ ⊢e A : !s

subgoal 2 (ID 35412) is:
 Γ ⊣e
subgoal 3 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 4 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

exists x; right ; trivial.
10 subgoals, subgoal 1 (ID 35412)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : True
  i : A ↓ v ⊂ Γ
  ============================
   Γ ⊣e

subgoal 2 (ID 34670) is:
 (Γ ⊢e Π (A), B : !u) /\
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

trivial.
9 subgoals, subgoal 1 (ID 34670)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : (Γ ⊢e A : !s) /\
      (Γ ⊢e A' : !s) /\ (exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0)
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : (A :: Γ ⊢e B : !t) /\
       (A :: Γ ⊢e B' : !t) /\
       (exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s)
  ============================
   (Γ ⊢e Π (A), B : !u) /\
   (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)

subgoal 2 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


destruct H as (? & ?& ?), H0 as (? & ?& ?).
9 subgoals, subgoal 1 (ID 35439)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   (Γ ⊢e Π (A), B : !u) /\
   (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)

subgoal 2 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

split.
10 subgoals, subgoal 1 (ID 35441)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e Π (A), B : !u

subgoal 2 (ID 35442) is:
 (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


apply cPi with s t; trivial.
9 subgoals, subgoal 1 (ID 35442)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   (Γ ⊢e Π (A'), B' : !u) /\ (exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0)

subgoal 2 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

split.
10 subgoals, subgoal 1 (ID 35447)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e Π (A'), B' : !u

subgoal 2 (ID 35448) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

apply cPi with s t; trivial.
10 subgoals, subgoal 1 (ID 35451)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   A' :: Γ ⊢e B' : !t

subgoal 2 (ID 35448) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)


change (A'::Γ) with (nil++A'::Γ).
10 subgoals, subgoal 1 (ID 35457)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   nil ++ A' :: Γ ⊢e B' : !t

subgoal 2 (ID 35448) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using ,)

eapply conv_in_env.
13 subgoals, subgoal 1 (ID 35474)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   ?35473 ⊢e B' : !t

subgoal 2 (ID 35476) is:
 ?35473 = nil ++ ?35475 :: Γ
subgoal 3 (ID 35478) is:
 Γ ⊢e ?35475 = A' : !?35477
subgoal 4 (ID 35479) is:
 Γ ⊢e A' : !?35477
subgoal 5 (ID 35448) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 6 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 open, ?35475 open, ?35477 open,)

apply H3.
12 subgoals, subgoal 1 (ID 35476)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   A :: Γ = nil ++ ?35475 :: Γ

subgoal 2 (ID 35478) is:
 Γ ⊢e ?35475 = A' : !?35477
subgoal 3 (ID 35479) is:
 Γ ⊢e A' : !?35477
subgoal 4 (ID 35448) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 5 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 6 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 open, ?35477 open,)

simpl; reflexivity.
11 subgoals, subgoal 1 (ID 35478)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e A = A' : !?35477

subgoal 2 (ID 35479) is:
 Γ ⊢e A' : !?35477
subgoal 3 (ID 35448) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 4 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 open,)

apply t0.
10 subgoals, subgoal 1 (ID 35479)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e A' : !s

subgoal 2 (ID 35448) is:
 exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0
subgoal 3 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)

trivial.
9 subgoals, subgoal 1 (ID 35448)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e A' : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢e B : !t
  H3 : A :: Γ ⊢e B' : !t
  H4 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   exists s0 : Sorts, !u = !s0 \/ Γ ⊢e !u : !s0

subgoal 2 (ID 34687) is:
 (Γ ⊢e λ [A], M : Π (A), B) /\
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)


exists u; left; trivial.
8 subgoals, subgoal 1 (ID 34687)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : (Γ ⊢e A : !s) /\
      (Γ ⊢e A' : !s) /\ (exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0)
  t1 : A :: Γ ⊢e M = M' : B
  H0 : (A :: Γ ⊢e M : B) /\
       (A :: Γ ⊢e M' : B) /\ (exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s)
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   (Γ ⊢e λ [A], M : Π (A), B) /\
   (Γ ⊢e λ [A'], M' : Π (A), B) /\
   (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)

subgoal 2 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)


destruct H as (? & ?& ?), H0 as (? & ?& ?).
8 subgoals, subgoal 1 (ID 35507)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   (Γ ⊢e λ [A], M : Π (A), B) /\
   (Γ ⊢e λ [A'], M' : Π (A), B) /\
   (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)

subgoal 2 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)

split.
9 subgoals, subgoal 1 (ID 35509)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e λ [A], M : Π (A), B

subgoal 2 (ID 35510) is:
 (Γ ⊢e λ [A'], M' : Π (A), B) /\
 (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)


 apply cLa with s t u; trivial.
8 subgoals, subgoal 1 (ID 35510)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   (Γ ⊢e λ [A'], M' : Π (A), B) /\
   (exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0)

subgoal 2 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)


split.
9 subgoals, subgoal 1 (ID 35516)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e λ [A'], M' : Π (A), B

subgoal 2 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)

apply Cnv with (Π(A'),B) u.
10 subgoals, subgoal 1 (ID 35518)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e Π (A'), B = Π (A), B : !u

subgoal 2 (ID 35519) is:
 Γ ⊢e λ [A'], M' : Π (A'), B
subgoal 3 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)

apply cPi_eq with s t; intuition.
10 subgoals, subgoal 1 (ID 35522)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   A' :: Γ ⊢e B = B : !t

subgoal 2 (ID 35519) is:
 Γ ⊢e λ [A'], M' : Π (A'), B
subgoal 3 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)


change (A'::Γ) with (nil++A'::Γ).
10 subgoals, subgoal 1 (ID 35581)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   nil ++ A' :: Γ ⊢e B = B : !t

subgoal 2 (ID 35519) is:
 Γ ⊢e λ [A'], M' : Π (A'), B
subgoal 3 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using ,)


eapply conv_in_env.
13 subgoals, subgoal 1 (ID 35603)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   ?35602 ⊢e B = B : !t

subgoal 2 (ID 35605) is:
 ?35602 = nil ++ ?35604 :: Γ
subgoal 3 (ID 35607) is:
 Γ ⊢e ?35604 = A' : !?35606
subgoal 4 (ID 35608) is:
 Γ ⊢e A' : !?35606
subgoal 5 (ID 35519) is:
 Γ ⊢e λ [A'], M' : Π (A'), B
subgoal 6 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 open, ?35604 open, ?35606 open,)

apply cRefl.
13 subgoals, subgoal 1 (ID 35609)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   ?35602 ⊢e B : !t

subgoal 2 (ID 35605) is:
 ?35602 = nil ++ ?35604 :: Γ
subgoal 3 (ID 35607) is:
 Γ ⊢e ?35604 = A' : !?35606
subgoal 4 (ID 35608) is:
 Γ ⊢e A' : !?35606
subgoal 5 (ID 35519) is:
 Γ ⊢e λ [A'], M' : Π (A'), B
subgoal 6 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 open, ?35604 open, ?35606 open,)

apply t2.
12 subgoals, subgoal 1 (ID 35605)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   A :: Γ = nil ++ ?35604 :: Γ

subgoal 2 (ID 35607) is:
 Γ ⊢e ?35604 = A' : !?35606
subgoal 3 (ID 35608) is:
 Γ ⊢e A' : !?35606
subgoal 4 (ID 35519) is:
 Γ ⊢e λ [A'], M' : Π (A'), B
subgoal 5 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 6 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 open, ?35606 open,)

simpl; reflexivity.
11 subgoals, subgoal 1 (ID 35607)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e A = A' : !?35606

subgoal 2 (ID 35608) is:
 Γ ⊢e A' : !?35606
subgoal 3 (ID 35519) is:
 Γ ⊢e λ [A'], M' : Π (A'), B
subgoal 4 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 open,)


apply t0.
10 subgoals, subgoal 1 (ID 35608)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e A' : !s

subgoal 2 (ID 35519) is:
 Γ ⊢e λ [A'], M' : Π (A'), B
subgoal 3 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using ,)

trivial.
9 subgoals, subgoal 1 (ID 35519)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e λ [A'], M' : Π (A'), B

subgoal 2 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using ,)


apply cLa with s t u; trivial.
10 subgoals, subgoal 1 (ID 35614)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   A' :: Γ ⊢e B : !t

subgoal 2 (ID 35615) is:
 A' :: Γ ⊢e M' : B
subgoal 3 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using ,)

change (A'::Γ) with (nil++A'::Γ).
10 subgoals, subgoal 1 (ID 35621)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   nil ++ A' :: Γ ⊢e B : !t

subgoal 2 (ID 35615) is:
 A' :: Γ ⊢e M' : B
subgoal 3 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using ,)


eapply conv_in_env.
13 subgoals, subgoal 1 (ID 35638)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   ?35637 ⊢e B : !t

subgoal 2 (ID 35640) is:
 ?35637 = nil ++ ?35639 :: Γ
subgoal 3 (ID 35642) is:
 Γ ⊢e ?35639 = A' : !?35641
subgoal 4 (ID 35643) is:
 Γ ⊢e A' : !?35641
subgoal 5 (ID 35615) is:
 A' :: Γ ⊢e M' : B
subgoal 6 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 7 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 8 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 10 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 11 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 12 (ID 34746) is:
 True
subgoal 13 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 open, ?35639 open, ?35641 open,)

apply t2.
12 subgoals, subgoal 1 (ID 35640)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   A :: Γ = nil ++ ?35639 :: Γ

subgoal 2 (ID 35642) is:
 Γ ⊢e ?35639 = A' : !?35641
subgoal 3 (ID 35643) is:
 Γ ⊢e A' : !?35641
subgoal 4 (ID 35615) is:
 A' :: Γ ⊢e M' : B
subgoal 5 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 6 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 open, ?35641 open,)

simpl; reflexivity.
11 subgoals, subgoal 1 (ID 35642)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e A = A' : !?35641

subgoal 2 (ID 35643) is:
 Γ ⊢e A' : !?35641
subgoal 3 (ID 35615) is:
 A' :: Γ ⊢e M' : B
subgoal 4 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 open,)

apply t0.
10 subgoals, subgoal 1 (ID 35643)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e A' : !s

subgoal 2 (ID 35615) is:
 A' :: Γ ⊢e M' : B
subgoal 3 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using ,)

trivial.
9 subgoals, subgoal 1 (ID 35615)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   A' :: Γ ⊢e M' : B

subgoal 2 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using ,)


change (A'::Γ) with (nil++A'::Γ).
9 subgoals, subgoal 1 (ID 35651)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   nil ++ A' :: Γ ⊢e M' : B

subgoal 2 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using ,)

eapply conv_in_env.
12 subgoals, subgoal 1 (ID 35668)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   ?35667 ⊢e M' : B

subgoal 2 (ID 35670) is:
 ?35667 = nil ++ ?35669 :: Γ
subgoal 3 (ID 35672) is:
 Γ ⊢e ?35669 = A' : !?35671
subgoal 4 (ID 35673) is:
 Γ ⊢e A' : !?35671
subgoal 5 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 6 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 open, ?35669 open, ?35671 open,)

apply H4.
11 subgoals, subgoal 1 (ID 35670)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   A :: Γ = nil ++ ?35669 :: Γ

subgoal 2 (ID 35672) is:
 Γ ⊢e ?35669 = A' : !?35671
subgoal 3 (ID 35673) is:
 Γ ⊢e A' : !?35671
subgoal 4 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 5 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 open, ?35671 open,)


simpl; reflexivity.
10 subgoals, subgoal 1 (ID 35672)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e A = A' : !?35671

subgoal 2 (ID 35673) is:
 Γ ⊢e A' : !?35671
subgoal 3 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 4 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 open,)

apply t0.
9 subgoals, subgoal 1 (ID 35673)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e A' : !s

subgoal 2 (ID 35517) is:
 exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0
subgoal 3 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

trivial.
8 subgoals, subgoal 1 (ID 35517)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   exists s0 : Sorts, Π (A), B = !s0 \/ Γ ⊢e Π (A), B : !s0

subgoal 2 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)


exists u; right.
8 subgoals, subgoal 1 (ID 35679)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢e A : !s
  H2 : Γ ⊢e A' : !s
  H3 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢e M : B
  H4 : A :: Γ ⊢e M' : B
  H5 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t2 : A :: Γ ⊢e B : !t
  H1 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  ============================
   Γ ⊢e Π (A), B : !u

subgoal 2 (ID 34699) is:
 (Γ ⊢e M · N : B [ ← N]) /\
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

apply cPi with s t; trivial.
7 subgoals, subgoal 1 (ID 34699)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : (Γ ⊢e M : Π (A), B) /\
      (Γ ⊢e M' : Π (A), B) /\
      (exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s)
  t0 : Γ ⊢e N = N' : A
  H0 : (Γ ⊢e N : A) /\
       (Γ ⊢e N' : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
  ============================
   (Γ ⊢e M · N : B [ ← N]) /\
   (Γ ⊢e M' · N' : B [ ← N]) /\
   (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)


destruct H as (? & ? & ?), H0 as (? & ?& ?).
7 subgoals, subgoal 1 (ID 35701)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  H2 : exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   (Γ ⊢e M · N : B [ ← N]) /\
   (Γ ⊢e M' · N' : B [ ← N]) /\
   (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

split.
8 subgoals, subgoal 1 (ID 35703)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  H2 : exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e M · N : B [ ← N]

subgoal 2 (ID 35704) is:
 (Γ ⊢e M' · N' : B [ ← N]) /\
 (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

apply cApp with A; trivial.
7 subgoals, subgoal 1 (ID 35704)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  H2 : exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   (Γ ⊢e M' · N' : B [ ← N]) /\
   (exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s)

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

split.
8 subgoals, subgoal 1 (ID 35708)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  H2 : exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e M' · N' : B [ ← N]

subgoal 2 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)


destruct H2 as (s & ?).
8 subgoals, subgoal 1 (ID 35715)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  H2 : Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e M' · N' : B [ ← N]

subgoal 2 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

destruct H2.
9 subgoals, subgoal 1 (ID 35721)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  H2 : Π (A), B = !s
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e M' · N' : B [ ← N]

subgoal 2 (ID 35723) is:
 Γ ⊢e M' · N' : B [ ← N]
subgoal 3 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

discriminate.
8 subgoals, subgoal 1 (ID 35723)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  H2 : Γ ⊢e Π (A), B : !s
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e M' · N' : B [ ← N]

subgoal 2 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

apply wgen_pi in H2 as (a & b & c & h); decompose [and] h ;clear h.
8 subgoals, subgoal 1 (ID 35756)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   Γ ⊢e M' · N' : B [ ← N]

subgoal 2 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)


apply Cnv with (B[← N']) b.
9 subgoals, subgoal 1 (ID 35757)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   Γ ⊢e B [ ← N'] = B [ ← N] : !b

subgoal 2 (ID 35758) is:
 Γ ⊢e M' · N' : B [ ← N']
subgoal 3 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

change !b with (!b[← N]).
9 subgoals, subgoal 1 (ID 35760)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   Γ ⊢e B [ ← N'] = B [ ← N] : !b [ ← N]

subgoal 2 (ID 35758) is:
 Γ ⊢e M' · N' : B [ ← N']
subgoal 3 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

apply cSym.
9 subgoals, subgoal 1 (ID 35761)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   Γ ⊢e B [ ← N] = B [ ← N'] : !b [ ← N]

subgoal 2 (ID 35758) is:
 Γ ⊢e M' · N' : B [ ← N']
subgoal 3 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using ,)

eapply substitution2.
12 subgoals, subgoal 1 (ID 35765)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   ?35762 ⊢e B : !b

subgoal 2 (ID 35766) is:
 ?35763 ⊢e N = N' : ?35764
subgoal 3 (ID 35767) is:
 ?35763 ⊢e N : ?35764
subgoal 4 (ID 35768) is:
 sub_in_env ?35763 N ?35764 0 ?35762 Γ
subgoal 5 (ID 35758) is:
 Γ ⊢e M' · N' : B [ ← N']
subgoal 6 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 7 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 9 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 10 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 11 (ID 34746) is:
 True
subgoal 12 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 open, ?35763 open, ?35764 open,)


apply H7.
11 subgoals, subgoal 1 (ID 35766)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   ?35763 ⊢e N = N' : ?35764

subgoal 2 (ID 35767) is:
 ?35763 ⊢e N : ?35764
subgoal 3 (ID 35768) is:
 sub_in_env ?35763 N ?35764 0 (A :: Γ) Γ
subgoal 4 (ID 35758) is:
 Γ ⊢e M' · N' : B [ ← N']
subgoal 5 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 6 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 8 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 9 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 10 (ID 34746) is:
 True
subgoal 11 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 open, ?35764 open,)

apply t0.
10 subgoals, subgoal 1 (ID 35767)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   Γ ⊢e N : A

subgoal 2 (ID 35768) is:
 sub_in_env Γ N A 0 (A :: Γ) Γ
subgoal 3 (ID 35758) is:
 Γ ⊢e M' · N' : B [ ← N']
subgoal 4 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 5 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 7 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 8 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 9 (ID 34746) is:
 True
subgoal 10 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)

trivial.
9 subgoals, subgoal 1 (ID 35768)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   sub_in_env Γ N A 0 (A :: Γ) Γ

subgoal 2 (ID 35758) is:
 Γ ⊢e M' · N' : B [ ← N']
subgoal 3 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)

constructor.
8 subgoals, subgoal 1 (ID 35758)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  s : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   Γ ⊢e M' · N' : B [ ← N']

subgoal 2 (ID 35709) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)

apply cApp with A; trivial.
7 subgoals, subgoal 1 (ID 35709)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  H2 : exists s : Sorts, Π (A), B = !s \/ Γ ⊢e Π (A), B : !s
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)


destruct H2.
7 subgoals, subgoal 1 (ID 35777)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  H2 : Π (A), B = !x \/ Γ ⊢e Π (A), B : !x
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)

destruct H2.
8 subgoals, subgoal 1 (ID 35783)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  H2 : Π (A), B = !x
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s

subgoal 2 (ID 35785) is:
 exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)

discriminate.
7 subgoals, subgoal 1 (ID 35785)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  H2 : Γ ⊢e Π (A), B : !x
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)

apply wgen_pi in H2 as (a & b & c & h); decompose [and] h; clear h.
7 subgoals, subgoal 1 (ID 35818)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   exists s : Sorts, B [ ← N] = !s \/ Γ ⊢e B [ ← N] : !s

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)


exists b; right.
7 subgoals, subgoal 1 (ID 35822)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   Γ ⊢e B [ ← N] : !b

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)

change !b with (!b[←N]).
7 subgoals, subgoal 1 (ID 35824)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   Γ ⊢e B [ ← N] : !b [ ← N]

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using ,)

eapply substitution.
9 subgoals, subgoal 1 (ID 35840)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   ?35839 ⊢e B : !b

subgoal 2 (ID 35843) is:
 ?35841 ⊢e N : ?35842
subgoal 3 (ID 35844) is:
 sub_in_env ?35841 N ?35842 0 ?35839 Γ
subgoal 4 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 6 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 7 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 8 (ID 34746) is:
 True
subgoal 9 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 open, ?35841 open, ?35842 open,)

apply H7.
8 subgoals, subgoal 1 (ID 35843)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   ?35841 ⊢e N : ?35842

subgoal 2 (ID 35844) is:
 sub_in_env ?35841 N ?35842 0 (A :: Γ) Γ
subgoal 3 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 5 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 6 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 7 (ID 34746) is:
 True
subgoal 8 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 open, ?35842 open,)

apply H0.
7 subgoals, subgoal 1 (ID 35844)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢e M : Π (A), B
  H1 : Γ ⊢e M' : Π (A), B
  x : Sorts
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e N' : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  a : Sorts
  b : Sorts
  c : Sorts
  H2 : Rel a b c
  H6 : Γ ⊢e A : !a
  H7 : A :: Γ ⊢e B : !b
  ============================
   sub_in_env Γ N A 0 (A :: Γ) Γ

subgoal 2 (ID 34706) is:
 (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 4 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 5 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 6 (ID 34746) is:
 True
subgoal 7 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)

constructor.
6 subgoals, subgoal 1 (ID 34706)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : (Γ ⊢e M : A) /\
      (Γ ⊢e N : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
  ============================
   (Γ ⊢e N : A) /\ (Γ ⊢e M : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)

subgoal 2 (ID 34716) is:
 (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
subgoal 3 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 4 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 5 (ID 34746) is:
 True
subgoal 6 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)


intuition.
5 subgoals, subgoal 1 (ID 34716)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : (Γ ⊢e M : A) /\
      (Γ ⊢e N : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
  t0 : Γ ⊢e N = P : A
  H0 : (Γ ⊢e N : A) /\
       (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
  ============================
   (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)

subgoal 2 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 3 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 4 (ID 34746) is:
 True
subgoal 5 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)


destruct H as (? & ?& ?), H0 as (? & ? & ?).
5 subgoals, subgoal 1 (ID 35878)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : Γ ⊢e M : A
  H1 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  t0 : Γ ⊢e N = P : A
  H0 : Γ ⊢e N : A
  H3 : Γ ⊢e P : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   (Γ ⊢e M : A) /\ (Γ ⊢e P : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)

subgoal 2 (ID 34727) is:
 (Γ ⊢e M : B) /\ (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 3 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 4 (ID 34746) is:
 True
subgoal 5 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)


intuition.
4 subgoals, subgoal 1 (ID 34727)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : (Γ ⊢e A : !s) /\
      (Γ ⊢e B : !s) /\ (exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0)
  t0 : Γ ⊢e M = N : A
  H0 : (Γ ⊢e M : A) /\
       (Γ ⊢e N : A) /\ (exists s : Sorts, A = !s \/ Γ ⊢e A : !s)
  ============================
   (Γ ⊢e M : B) /\
   (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)

subgoal 2 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)


destruct H as (? & ?& ?), H0 as (? & ?& ?).
4 subgoals, subgoal 1 (ID 35903)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e B : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢e M : A
  H3 : Γ ⊢e N : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   (Γ ⊢e M : B) /\
   (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)

subgoal 2 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)


split.
5 subgoals, subgoal 1 (ID 35905)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e B : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢e M : A
  H3 : Γ ⊢e N : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e M : B

subgoal 2 (ID 35906) is:
 (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)
subgoal 3 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 4 (ID 34746) is:
 True
subgoal 5 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)

apply Cnv with A s; trivial.
4 subgoals, subgoal 1 (ID 35906)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e B : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢e M : A
  H3 : Γ ⊢e N : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   (Γ ⊢e N : B) /\ (exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0)

subgoal 2 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)

split.
5 subgoals, subgoal 1 (ID 35910)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e B : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢e M : A
  H3 : Γ ⊢e N : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e N : B

subgoal 2 (ID 35911) is:
 exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0
subgoal 3 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 4 (ID 34746) is:
 True
subgoal 5 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)

apply Cnv with A s; trivial.
4 subgoals, subgoal 1 (ID 35911)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢e A : !s
  H1 : Γ ⊢e B : !s
  H2 : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢e M : A
  H3 : Γ ⊢e N : A
  H4 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s0 : Sorts, B = !s0 \/ Γ ⊢e B : !s0

subgoal 2 (ID 34745) is:
 (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)


exists s; right; trivial.
3 subgoals, subgoal 1 (ID 34745)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   (Γ ⊢e (λ [A], M) · N : B [ ← N]) /\
   (Γ ⊢e M [ ← N] : B [ ← N]) /\
   (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)

subgoal 2 (ID 34746) is:
 True
subgoal 3 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)


split.
4 subgoals, subgoal 1 (ID 35919)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e (λ [A], M) · N : B [ ← N]

subgoal 2 (ID 35920) is:
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)

apply cApp with A; trivial.
4 subgoals, subgoal 1 (ID 35921)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e λ [A], M : Π (A), B

subgoal 2 (ID 35920) is:
 (Γ ⊢e M [ ← N] : B [ ← N]) /\
 (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)

apply cLa with s t u; trivial.
3 subgoals, subgoal 1 (ID 35920)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   (Γ ⊢e M [ ← N] : B [ ← N]) /\
   (exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0)

subgoal 2 (ID 34746) is:
 True
subgoal 3 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)

split.
4 subgoals, subgoal 1 (ID 35928)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e M [ ← N] : B [ ← N]

subgoal 2 (ID 35929) is:
 exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using ,)


eapply substitution.
6 subgoals, subgoal 1 (ID 35945)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   ?35944 ⊢e M : B

subgoal 2 (ID 35948) is:
 ?35946 ⊢e N : ?35947
subgoal 3 (ID 35949) is:
 sub_in_env ?35946 N ?35947 0 ?35944 Γ
subgoal 4 (ID 35929) is:
 exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0
subgoal 5 (ID 34746) is:
 True
subgoal 6 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 open, ?35946 open, ?35947 open,)

apply t2.
5 subgoals, subgoal 1 (ID 35948)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   ?35946 ⊢e N : ?35947

subgoal 2 (ID 35949) is:
 sub_in_env ?35946 N ?35947 0 (A :: Γ) Γ
subgoal 3 (ID 35929) is:
 exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0
subgoal 4 (ID 34746) is:
 True
subgoal 5 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 open, ?35947 open,)

apply t3.
4 subgoals, subgoal 1 (ID 35949)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   sub_in_env Γ N A 0 (A :: Γ) Γ

subgoal 2 (ID 35929) is:
 exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using ,)

constructor.
3 subgoals, subgoal 1 (ID 35929)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   exists s0 : Sorts, B [ ← N] = !s0 \/ Γ ⊢e B [ ← N] : !s0

subgoal 2 (ID 34746) is:
 True
subgoal 3 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using ,)

exists t; right.
3 subgoals, subgoal 1 (ID 35954)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e B [ ← N] : !t

subgoal 2 (ID 34746) is:
 True
subgoal 3 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using ,)


change !t with (!t[← N]).
3 subgoals, subgoal 1 (ID 35956)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   Γ ⊢e B [ ← N] : !t [ ← N]

subgoal 2 (ID 34746) is:
 True
subgoal 3 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using ,)

eapply substitution.
5 subgoals, subgoal 1 (ID 35972)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   ?35971 ⊢e B : !t

subgoal 2 (ID 35975) is:
 ?35973 ⊢e N : ?35974
subgoal 3 (ID 35976) is:
 sub_in_env ?35973 N ?35974 0 ?35971 Γ
subgoal 4 (ID 34746) is:
 True
subgoal 5 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using , ?35965 using ?35971 , ?35966 using ?35973 , ?35967 using ?35974 , ?35971 open, ?35973 open, ?35974 open,)

apply t1.
4 subgoals, subgoal 1 (ID 35975)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   ?35973 ⊢e N : ?35974

subgoal 2 (ID 35976) is:
 sub_in_env ?35973 N ?35974 0 (A :: Γ) Γ
subgoal 3 (ID 34746) is:
 True
subgoal 4 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using , ?35965 using ?35971 , ?35966 using ?35973 , ?35967 using ?35974 , ?35971 using , ?35973 open, ?35974 open,)

apply t3.
3 subgoals, subgoal 1 (ID 35976)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  t1 : A :: Γ ⊢e B : !t
  H0 : exists s : Sorts, !t = !s \/ A :: Γ ⊢e !t : !s
  t2 : A :: Γ ⊢e M : B
  H1 : exists s : Sorts, B = !s \/ A :: Γ ⊢e B : !s
  t3 : Γ ⊢e N : A
  H2 : exists s : Sorts, A = !s \/ Γ ⊢e A : !s
  ============================
   sub_in_env Γ N A 0 (A :: Γ) Γ

subgoal 2 (ID 34746) is:
 True
subgoal 3 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using , ?35965 using ?35971 , ?35966 using ?35973 , ?35967 using ?35974 , ?35971 using , ?35973 using , ?35974 using ,)

constructor.
2 subgoals, subgoal 1 (ID 34746)
  
  ============================
   True

subgoal 2 (ID 34752) is:
 True
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using , ?35965 using ?35971 , ?35966 using ?35973 , ?35967 using ?35974 , ?35971 using , ?35973 using , ?35974 using ,)


trivial.
1 subgoals, subgoal 1 (ID 34752)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : exists s0 : Sorts, !s = !s0 \/ Γ ⊢e !s : !s0
  ============================
   True

(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using , ?35965 using ?35971 , ?35966 using ?35973 , ?35967 using ?35974 , ?35971 using , ?35973 using , ?35974 using ,)

trivial.
No more subgoals.
(dependent evars: ?34840 using ?34846 , ?34841 using ?34848 , ?34842 using ?34849 , ?34846 using , ?34848 using , ?34849 using , ?35466 using ?35473 , ?35467 using ?35475 , ?35468 using ?35477 , ?35473 using , ?35475 using , ?35477 using , ?35588 using ?35595 , ?35589 using ?35597 , ?35590 using ?35599 , ?35595 using ?35602 , ?35597 using ?35604 , ?35599 using ?35606 , ?35602 using , ?35604 using , ?35606 using , ?35630 using ?35637 , ?35631 using ?35639 , ?35632 using ?35641 , ?35637 using , ?35639 using , ?35641 using , ?35660 using ?35667 , ?35661 using ?35669 , ?35662 using ?35671 , ?35667 using , ?35669 using , ?35671 using , ?35762 using , ?35763 using , ?35764 using , ?35833 using ?35839 , ?35834 using ?35841 , ?35835 using ?35842 , ?35839 using , ?35841 using , ?35842 using , ?35938 using ?35944 , ?35939 using ?35946 , ?35940 using ?35947 , ?35944 using , ?35946 using , ?35947 using , ?35965 using ?35971 , ?35966 using ?35973 , ?35967 using ?35974 , ?35971 using , ?35973 using , ?35974 using ,)


Qed.
TypeCorrect_Refl is defined



Lemma TypeCorrect : forall Γ M T, Γ e M : T -> exists s, T = !s \/ Γ e T : !s.
1 subgoals, subgoal 1 (ID 35983)
  
  ============================
   forall (Γ : Env) (M T : Term),
   Γ ⊢e M : T -> exists s : Sorts, T = !s \/ Γ ⊢e T : !s

(dependent evars:)


apply TypeCorrect_Refl.
No more subgoals.
(dependent evars:)


Qed.
TypeCorrect is defined



Lemma TypeCorrect_eq : forall Γ M N T, Γ e M = N : T -> exists s, T = !s \/ Γ e T : !s.
1 subgoals, subgoal 1 (ID 36008)
  
  ============================
   forall (Γ : Env) (M N T : Term),
   Γ ⊢e M = N : T -> exists s : Sorts, T = !s \/ Γ ⊢e T : !s

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 36013)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  ============================
   exists s : Sorts, T = !s \/ Γ ⊢e T : !s

(dependent evars:)

apply TypeCorrect_Refl in H.
1 subgoals, subgoal 1 (ID 36023)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : (Γ ⊢e M : T) /\
      (Γ ⊢e N : T) /\ (exists s : Sorts, T = !s \/ Γ ⊢e T : !s)
  ============================
   exists s : Sorts, T = !s \/ Γ ⊢e T : !s

(dependent evars:)

intuition.
No more subgoals.
(dependent evars:)


Qed.
TypeCorrect_eq is defined



Lemma left_reflexivity : forall Γ M N T, Γ e M = N : T -> Γ e M : T.
1 subgoals, subgoal 1 (ID 36036)
  
  ============================
   forall (Γ : Env) (M N T : Term), Γ ⊢e M = N : T -> Γ ⊢e M : T

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 36041)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  ============================
   Γ ⊢e M : T

(dependent evars:)

apply TypeCorrect_Refl in H.
1 subgoals, subgoal 1 (ID 36051)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : (Γ ⊢e M : T) /\
      (Γ ⊢e N : T) /\ (exists s : Sorts, T = !s \/ Γ ⊢e T : !s)
  ============================
   Γ ⊢e M : T

(dependent evars:)

intuition.
No more subgoals.
(dependent evars:)


Qed.
left_reflexivity is defined



Lemma right_reflexivity : forall Γ M N T, Γ e M = N : T -> Γ e N : T.
1 subgoals, subgoal 1 (ID 36064)
  
  ============================
   forall (Γ : Env) (M N T : Term), Γ ⊢e M = N : T -> Γ ⊢e N : T

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 36069)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  ============================
   Γ ⊢e N : T

(dependent evars:)

apply TypeCorrect_Refl in H.
1 subgoals, subgoal 1 (ID 36079)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : (Γ ⊢e M : T) /\
      (Γ ⊢e N : T) /\ (exists s : Sorts, T = !s \/ Γ ⊢e T : !s)
  ============================
   Γ ⊢e N : T

(dependent evars:)

intuition.
No more subgoals.
(dependent evars:)


Qed.
right_reflexivity is defined



Lemma parallel_subst : forall Γ M N T , Γ e M = N : T ->
  forall Δ P P' A Γ' n , Δ e P = P': A -> sub_in_env Δ P A n Γ Γ' ->
    Γ' e M [ n P ] = N [ n P'] : T [ n P ].
1 subgoals, subgoal 1 (ID 36098)
  
  ============================
   forall (Γ : Env) (M N T : Term),
   Γ ⊢e M = N : T ->
   forall (Δ : Env) (P P' A : Term) (Γ' : Env) (n : nat),
   Δ ⊢e P = P' : A ->
   sub_in_env Δ P A n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P'] : T [n ← P]

(dependent evars:)


Proof.
1 subgoals, subgoal 1 (ID 36098)
  
  ============================
   forall (Γ : Env) (M N T : Term),
   Γ ⊢e M = N : T ->
   forall (Δ : Env) (P P' A : Term) (Γ' : Env) (n : nat),
   Δ ⊢e P = P' : A ->
   sub_in_env Δ P A n Γ Γ' -> Γ' ⊢e M [n ← P] = N [n ← P'] : T [n ← P]

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 36111)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] = N [n ← P'] : T [n ← P]

(dependent evars:)


apply cTrans with (N [n P]).
2 subgoals, subgoal 1 (ID 36112)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊢e M [n ← P] = N [n ← P] : T [n ← P]

subgoal 2 (ID 36113) is:
 Γ' ⊢e N [n ← P] = N [n ← P'] : T [n ← P]
(dependent evars:)


  eapply substitution.
4 subgoals, subgoal 1 (ID 36133)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   ?36132 ⊢e M = N : T

subgoal 2 (ID 36136) is:
 ?36134 ⊢e P : ?36135
subgoal 3 (ID 36137) is:
 sub_in_env ?36134 P ?36135 n ?36132 Γ'
subgoal 4 (ID 36113) is:
 Γ' ⊢e N [n ← P] = N [n ← P'] : T [n ← P]
(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 open, ?36134 open, ?36135 open,)


  apply H.
3 subgoals, subgoal 1 (ID 36136)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   ?36134 ⊢e P : ?36135

subgoal 2 (ID 36137) is:
 sub_in_env ?36134 P ?36135 n Γ Γ'
subgoal 3 (ID 36113) is:
 Γ' ⊢e N [n ← P] = N [n ← P'] : T [n ← P]
(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 using , ?36134 open, ?36135 open,)


  apply left_reflexivity in H0; apply H0.
2 subgoals, subgoal 1 (ID 36137)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   sub_in_env Δ P A n Γ Γ'

subgoal 2 (ID 36113) is:
 Γ' ⊢e N [n ← P] = N [n ← P'] : T [n ← P]
(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 using , ?36134 using ?36139 , ?36135 using ?36140 , ?36139 using , ?36140 using ,)


  apply H1.
1 subgoals, subgoal 1 (ID 36113)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Γ' ⊢e N [n ← P] = N [n ← P'] : T [n ← P]

(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 using , ?36134 using ?36139 , ?36135 using ?36140 , ?36139 using , ?36140 using ,)


eapply substitution2.
4 subgoals, subgoal 1 (ID 36145)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   ?36142 ⊢e N : T

subgoal 2 (ID 36146) is:
 ?36143 ⊢e P = P' : ?36144
subgoal 3 (ID 36147) is:
 ?36143 ⊢e P : ?36144
subgoal 4 (ID 36148) is:
 sub_in_env ?36143 P ?36144 n ?36142 Γ'
(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 using , ?36134 using ?36139 , ?36135 using ?36140 , ?36139 using , ?36140 using , ?36142 open, ?36143 open, ?36144 open,)


apply right_reflexivity in H; apply H.
3 subgoals, subgoal 1 (ID 36146)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   ?36143 ⊢e P = P' : ?36144

subgoal 2 (ID 36147) is:
 ?36143 ⊢e P : ?36144
subgoal 3 (ID 36148) is:
 sub_in_env ?36143 P ?36144 n Γ Γ'
(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 using , ?36134 using ?36139 , ?36135 using ?36140 , ?36139 using , ?36140 using , ?36142 using ?36150 , ?36143 open, ?36144 open, ?36150 using ,)


apply H0.
2 subgoals, subgoal 1 (ID 36147)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   Δ ⊢e P : A

subgoal 2 (ID 36148) is:
 sub_in_env Δ P A n Γ Γ'
(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 using , ?36134 using ?36139 , ?36135 using ?36140 , ?36139 using , ?36140 using , ?36142 using ?36150 , ?36143 using , ?36144 using , ?36150 using ,)


apply left_reflexivity in H0; apply H0.
1 subgoals, subgoal 1 (ID 36148)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  H : Γ ⊢e M = N : T
  Δ : Env
  P : Term
  P' : Term
  A : Term
  Γ' : Env
  n : nat
  H0 : Δ ⊢e P = P' : A
  H1 : sub_in_env Δ P A n Γ Γ'
  ============================
   sub_in_env Δ P A n Γ Γ'

(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 using , ?36134 using ?36139 , ?36135 using ?36140 , ?36139 using , ?36140 using , ?36142 using ?36150 , ?36143 using , ?36144 using , ?36150 using ,)


assumption.
No more subgoals.
(dependent evars: ?36120 using ?36126 , ?36121 using ?36128 , ?36122 using ?36129 , ?36126 using ?36132 , ?36128 using ?36134 , ?36129 using ?36135 , ?36132 using , ?36134 using ?36139 , ?36135 using ?36140 , ?36139 using , ?36140 using , ?36142 using ?36150 , ?36143 using , ?36144 using , ?36150 using ,)


Qed.
parallel_subst is defined



We can easily prove that every judgement in PTSe is a valid one in PTS. It's just a matter of "forgetting" typing information during the conversion.
Lemma FromPTSe_to_PTS : (forall Γ M T, Γ e M : T -> Γ M : T) /\
  (forall Γ M N T, Γ e M = N : T -> Γ M : T /\ Γ N : T /\ M N) /\
  (forall Γ, Γ e -> Γ ).
1 subgoals, subgoal 1 (ID 36162)
  
  ============================
   (forall (Γ : Env) (M T : Term), Γ ⊢e M : T -> Γ ⊢ M : T) /\
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢e M = N : T -> (Γ ⊢ M : T) /\ (Γ ⊢ N : T) /\ M ≡ N) /\
   (forall Γ : Env, Γ ⊣e -> Γ ⊣)

(dependent evars:)


apply typ_induc; intros; simpl in *.
17 subgoals, subgoal 1 (ID 36340)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : Γ ⊣
  ============================
   Γ ⊢ !s : !t

subgoal 2 (ID 36347) is:
 Γ ⊢ #v : A
subgoal 3 (ID 36359) is:
 Γ ⊢ Π (A), B : !u
subgoal 4 (ID 36374) is:
 Γ ⊢ λ [A], b : Π (A), B
subgoal 5 (ID 36384) is:
 Γ ⊢ a · b : B [ ← b]
subgoal 6 (ID 36394) is:
 Γ ⊢ a : B
subgoal 7 (ID 36401) is:
 (Γ ⊢ !s : !t) /\ (Γ ⊢ !s : !t) /\ !s ≡ !s
subgoal 8 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 9 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 10 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 11 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 12 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 13 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 14 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 15 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 16 (ID 36498) is:
 nil ⊣
subgoal 17 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


intuition.
16 subgoals, subgoal 1 (ID 36347)
  
  Γ : Env
  A : Term
  v : nat
  w : Γ ⊣e
  H : Γ ⊣
  i : A ↓ v ⊂ Γ
  ============================
   Γ ⊢ #v : A

subgoal 2 (ID 36359) is:
 Γ ⊢ Π (A), B : !u
subgoal 3 (ID 36374) is:
 Γ ⊢ λ [A], b : Π (A), B
subgoal 4 (ID 36384) is:
 Γ ⊢ a · b : B [ ← b]
subgoal 5 (ID 36394) is:
 Γ ⊢ a : B
subgoal 6 (ID 36401) is:
 (Γ ⊢ !s : !t) /\ (Γ ⊢ !s : !t) /\ !s ≡ !s
subgoal 7 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 8 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 9 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 10 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 11 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 12 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 13 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 14 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 15 (ID 36498) is:
 nil ⊣
subgoal 16 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


intuition.
15 subgoals, subgoal 1 (ID 36359)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  ============================
   Γ ⊢ Π (A), B : !u

subgoal 2 (ID 36374) is:
 Γ ⊢ λ [A], b : Π (A), B
subgoal 3 (ID 36384) is:
 Γ ⊢ a · b : B [ ← b]
subgoal 4 (ID 36394) is:
 Γ ⊢ a : B
subgoal 5 (ID 36401) is:
 (Γ ⊢ !s : !t) /\ (Γ ⊢ !s : !t) /\ !s ≡ !s
subgoal 6 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 7 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 8 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 9 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 10 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 11 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 12 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 13 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 14 (ID 36498) is:
 nil ⊣
subgoal 15 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


apply SRM.cPi with s t; trivial.
14 subgoals, subgoal 1 (ID 36374)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : Γ ⊢ A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : A :: Γ ⊢ B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : A :: Γ ⊢ b : B
  ============================
   Γ ⊢ λ [A], b : Π (A), B

subgoal 2 (ID 36384) is:
 Γ ⊢ a · b : B [ ← b]
subgoal 3 (ID 36394) is:
 Γ ⊢ a : B
subgoal 4 (ID 36401) is:
 (Γ ⊢ !s : !t) /\ (Γ ⊢ !s : !t) /\ !s ≡ !s
subgoal 5 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 6 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 7 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 8 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 9 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 10 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 11 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 12 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 13 (ID 36498) is:
 nil ⊣
subgoal 14 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


apply SRM.cLa with s1 s2 s3; trivial.
13 subgoals, subgoal 1 (ID 36384)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : Γ ⊢ a : Π (A), B
  t0 : Γ ⊢e b : A
  H0 : Γ ⊢ b : A
  ============================
   Γ ⊢ a · b : B [ ← b]

subgoal 2 (ID 36394) is:
 Γ ⊢ a : B
subgoal 3 (ID 36401) is:
 (Γ ⊢ !s : !t) /\ (Γ ⊢ !s : !t) /\ !s ≡ !s
subgoal 4 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 5 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 6 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 7 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 8 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 9 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 10 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 11 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 12 (ID 36498) is:
 nil ⊣
subgoal 13 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


apply SRM.cApp with A; trivial.
12 subgoals, subgoal 1 (ID 36394)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : (Γ ⊢ A : !s) /\ (Γ ⊢ B : !s) /\ A ≡ B
  t0 : Γ ⊢e a : A
  H0 : Γ ⊢ a : A
  ============================
   Γ ⊢ a : B

subgoal 2 (ID 36401) is:
 (Γ ⊢ !s : !t) /\ (Γ ⊢ !s : !t) /\ !s ≡ !s
subgoal 3 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 4 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 5 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


destruct H as (? & ? & ?).
12 subgoals, subgoal 1 (ID 36542)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ B : !s
  H2 : A ≡ B
  t0 : Γ ⊢e a : A
  H0 : Γ ⊢ a : A
  ============================
   Γ ⊢ a : B

subgoal 2 (ID 36401) is:
 (Γ ⊢ !s : !t) /\ (Γ ⊢ !s : !t) /\ !s ≡ !s
subgoal 3 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 4 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 5 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)

apply SRM.Cnv with A s; trivial.
11 subgoals, subgoal 1 (ID 36401)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : Γ ⊣
  ============================
   (Γ ⊢ !s : !t) /\ (Γ ⊢ !s : !t) /\ !s ≡ !s

subgoal 2 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 3 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 4 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


split.
12 subgoals, subgoal 1 (ID 36547)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : Γ ⊣
  ============================
   Γ ⊢ !s : !t

subgoal 2 (ID 36548) is:
 (Γ ⊢ !s : !t) /\ !s ≡ !s
subgoal 3 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 4 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 5 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


  now constructor.
11 subgoals, subgoal 1 (ID 36548)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : Γ ⊣
  ============================
   (Γ ⊢ !s : !t) /\ !s ≡ !s

subgoal 2 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 3 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 4 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


split.
12 subgoals, subgoal 1 (ID 36673)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : Γ ⊣
  ============================
   Γ ⊢ !s : !t

subgoal 2 (ID 36674) is:
 !s ≡ !s
subgoal 3 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 4 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 5 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


  now constructor.
11 subgoals, subgoal 1 (ID 36674)
  
  Γ : Env
  s : Sorts
  t : Sorts
  a : Ax s t
  w : Γ ⊣e
  H : Γ ⊣
  ============================
   !s ≡ !s

subgoal 2 (ID 36408) is:
 (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 3 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 4 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


now intuition.
10 subgoals, subgoal 1 (ID 36408)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : Γ ⊣
  i : A ↓ v ⊂ Γ
  ============================
   (Γ ⊢ #v : A) /\ (Γ ⊢ #v : A) /\ #v ≡ #v

subgoal 2 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 3 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


split.
11 subgoals, subgoal 1 (ID 36806)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : Γ ⊣
  i : A ↓ v ⊂ Γ
  ============================
   Γ ⊢ #v : A

subgoal 2 (ID 36807) is:
 (Γ ⊢ #v : A) /\ #v ≡ #v
subgoal 3 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 4 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


  now constructor.
10 subgoals, subgoal 1 (ID 36807)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : Γ ⊣
  i : A ↓ v ⊂ Γ
  ============================
   (Γ ⊢ #v : A) /\ #v ≡ #v

subgoal 2 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 3 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


split.
11 subgoals, subgoal 1 (ID 37043)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : Γ ⊣
  i : A ↓ v ⊂ Γ
  ============================
   Γ ⊢ #v : A

subgoal 2 (ID 37044) is:
 #v ≡ #v
subgoal 3 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 4 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


  now constructor.
10 subgoals, subgoal 1 (ID 37044)
  
  Γ : Env
  v : nat
  A : Term
  w : Γ ⊣e
  H : Γ ⊣
  i : A ↓ v ⊂ Γ
  ============================
   #v ≡ #v

subgoal 2 (ID 36422) is:
 (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 3 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


now intuition.
9 subgoals, subgoal 1 (ID 36422)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : (Γ ⊢ A : !s) /\ (Γ ⊢ A' : !s) /\ A ≡ A'
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : (A :: Γ ⊢ B : !t) /\ (A :: Γ ⊢ B' : !t) /\ B ≡ B'
  ============================
   (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'

subgoal 2 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 3 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


destruct H as (? & ?& ?).
9 subgoals, subgoal 1 (ID 37296)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  H2 : A ≡ A'
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : (A :: Γ ⊢ B : !t) /\ (A :: Γ ⊢ B' : !t) /\ B ≡ B'
  ============================
   (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'

subgoal 2 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 3 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)

destruct H0 as ( ? & ? & ?).
9 subgoals, subgoal 1 (ID 37304)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  H2 : A ≡ A'
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  ============================
   (Γ ⊢ Π (A), B : !u) /\ (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'

subgoal 2 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 3 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


split.
10 subgoals, subgoal 1 (ID 37306)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  H2 : A ≡ A'
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  ============================
   Γ ⊢ Π (A), B : !u

subgoal 2 (ID 37307) is:
 (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'
subgoal 3 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)

apply SRM.cPi with s t; trivial.
9 subgoals, subgoal 1 (ID 37307)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  H2 : A ≡ A'
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  ============================
   (Γ ⊢ Π (A'), B' : !u) /\ Π (A), B ≡ Π (A'), B'

subgoal 2 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 3 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)

split.
10 subgoals, subgoal 1 (ID 37312)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  H2 : A ≡ A'
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  ============================
   Γ ⊢ Π (A'), B' : !u

subgoal 2 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 3 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)

apply SRM.cPi with s t; trivial.
10 subgoals, subgoal 1 (ID 37316)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  H2 : A ≡ A'
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  ============================
   A' :: Γ ⊢ B' : !t

subgoal 2 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 3 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


apply Betac_confl in H2 as (Z & ?& ?).
10 subgoals, subgoal 1 (ID 37326)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  Z : Term
  H2 : A →→ Z
  H5 : A' →→ Z
  ============================
   A' :: Γ ⊢ B' : !t

subgoal 2 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 3 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)

apply Betas_env_sound_up with (Z::Γ).
12 subgoals, subgoal 1 (ID 37328)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  Z : Term
  H2 : A →→ Z
  H5 : A' →→ Z
  ============================
   Z :: Γ ⊢ B' : !t

subgoal 2 (ID 37329) is:
 A' :: Γ ⊣
subgoal 3 (ID 37330) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 4 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 5 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


apply Betas_env_sound with (A::Γ).
13 subgoals, subgoal 1 (ID 37332)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  Z : Term
  H2 : A →→ Z
  H5 : A' →→ Z
  ============================
   A :: Γ ⊢ B' : !t

subgoal 2 (ID 37333) is:
 (A :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37329) is:
 A' :: Γ ⊣
subgoal 4 (ID 37330) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 5 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 6 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 7 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 8 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 9 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 10 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 11 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 12 (ID 36498) is:
 nil ⊣
subgoal 13 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)

trivial.
12 subgoals, subgoal 1 (ID 37333)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  Z : Term
  H2 : A →→ Z
  H5 : A' →→ Z
  ============================
   (A :: Γ) →→e (Z :: Γ)

subgoal 2 (ID 37329) is:
 A' :: Γ ⊣
subgoal 3 (ID 37330) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 4 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 5 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)

apply Betas_env_hd; trivial.
11 subgoals, subgoal 1 (ID 37329)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  Z : Term
  H2 : A →→ Z
  H5 : A' →→ Z
  ============================
   A' :: Γ ⊣

subgoal 2 (ID 37330) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 4 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars:)


econstructor.
11 subgoals, subgoal 1 (ID 37338)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  Z : Term
  H2 : A →→ Z
  H5 : A' →→ Z
  ============================
   Γ ⊢ A' : !?37337

subgoal 2 (ID 37330) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 4 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 open,)

apply H1.
10 subgoals, subgoal 1 (ID 37330)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  Z : Term
  H2 : A →→ Z
  H5 : A' →→ Z
  ============================
   (A' :: Γ) →→e (Z :: Γ)

subgoal 2 (ID 37313) is:
 Π (A), B ≡ Π (A'), B'
subgoal 3 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

apply Betas_env_hd; trivial.
9 subgoals, subgoal 1 (ID 37313)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ A' : !s
  H2 : A ≡ A'
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢ B : !t
  H3 : A :: Γ ⊢ B' : !t
  H4 : B ≡ B'
  ============================
   Π (A), B ≡ Π (A'), B'

subgoal 2 (ID 36439) is:
 (Γ ⊢ λ [A], M : Π (A), B) /\
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 3 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

intuition.
8 subgoals, subgoal 1 (ID 36439)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : (Γ ⊢ A : !s) /\ (Γ ⊢ A' : !s) /\ A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : (A :: Γ ⊢ M : B) /\ (A :: Γ ⊢ M' : B) /\ M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   (Γ ⊢ λ [A], M : Π (A), B) /\
   (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'

subgoal 2 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)


destruct H as (? & ?& ?).
8 subgoals, subgoal 1 (ID 37395)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : (A :: Γ ⊢ M : B) /\ (A :: Γ ⊢ M' : B) /\ M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   (Γ ⊢ λ [A], M : Π (A), B) /\
   (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'

subgoal 2 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

destruct H0 as (? & ?& ?).
8 subgoals, subgoal 1 (ID 37406)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   (Γ ⊢ λ [A], M : Π (A), B) /\
   (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'

subgoal 2 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)


split.
9 subgoals, subgoal 1 (ID 37408)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   Γ ⊢ λ [A], M : Π (A), B

subgoal 2 (ID 37409) is:
 (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'
subgoal 3 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

apply SRM.cLa with s t u; trivial.
8 subgoals, subgoal 1 (ID 37409)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   (Γ ⊢ λ [A'], M' : Π (A), B) /\ λ [A], M ≡ λ [A'], M'

subgoal 2 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

split.
9 subgoals, subgoal 1 (ID 37415)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   Γ ⊢ λ [A'], M' : Π (A), B

subgoal 2 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 3 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

apply SRM.Cnv with (Π(A'),B) u.
11 subgoals, subgoal 1 (ID 37417)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   Π (A'), B ≡ Π (A), B

subgoal 2 (ID 37418) is:
 Γ ⊢ λ [A'], M' : Π (A'), B
subgoal 3 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 4 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)


intuition.
10 subgoals, subgoal 1 (ID 37418)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   Γ ⊢ λ [A'], M' : Π (A'), B

subgoal 2 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 3 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

apply SRM.cLa with s t u; trivial.
11 subgoals, subgoal 1 (ID 37457)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   A' :: Γ ⊢ B : !t

subgoal 2 (ID 37458) is:
 A' :: Γ ⊢ M' : B
subgoal 3 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 4 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)


apply Betac_confl in H3 as (Z & ?& ?).
11 subgoals, subgoal 1 (ID 37468)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   A' :: Γ ⊢ B : !t

subgoal 2 (ID 37458) is:
 A' :: Γ ⊢ M' : B
subgoal 3 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 4 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

apply Betas_env_sound_up with (Z::Γ).
13 subgoals, subgoal 1 (ID 37470)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   Z :: Γ ⊢ B : !t

subgoal 2 (ID 37471) is:
 A' :: Γ ⊣
subgoal 3 (ID 37472) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 4 (ID 37458) is:
 A' :: Γ ⊢ M' : B
subgoal 5 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 6 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 7 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 8 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 9 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 10 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 11 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 12 (ID 36498) is:
 nil ⊣
subgoal 13 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)


apply Betas_env_sound with (A::Γ).
14 subgoals, subgoal 1 (ID 37474)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   A :: Γ ⊢ B : !t

subgoal 2 (ID 37475) is:
 (A :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37471) is:
 A' :: Γ ⊣
subgoal 4 (ID 37472) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 5 (ID 37458) is:
 A' :: Γ ⊢ M' : B
subgoal 6 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 7 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 8 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 9 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 10 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 11 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 12 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 13 (ID 36498) is:
 nil ⊣
subgoal 14 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

trivial.
13 subgoals, subgoal 1 (ID 37475)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   (A :: Γ) →→e (Z :: Γ)

subgoal 2 (ID 37471) is:
 A' :: Γ ⊣
subgoal 3 (ID 37472) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 4 (ID 37458) is:
 A' :: Γ ⊢ M' : B
subgoal 5 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 6 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 7 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 8 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 9 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 10 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 11 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 12 (ID 36498) is:
 nil ⊣
subgoal 13 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)

apply Betas_env_hd; trivial.
12 subgoals, subgoal 1 (ID 37471)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   A' :: Γ ⊣

subgoal 2 (ID 37472) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37458) is:
 A' :: Γ ⊢ M' : B
subgoal 4 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 5 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using ,)


econstructor.
12 subgoals, subgoal 1 (ID 37480)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   Γ ⊢ A' : !?37479

subgoal 2 (ID 37472) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37458) is:
 A' :: Γ ⊢ M' : B
subgoal 4 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 5 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 open,)

apply H2.
11 subgoals, subgoal 1 (ID 37472)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   (A' :: Γ) →→e (Z :: Γ)

subgoal 2 (ID 37458) is:
 A' :: Γ ⊢ M' : B
subgoal 3 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 4 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using ,)

apply Betas_env_hd; trivial.
10 subgoals, subgoal 1 (ID 37458)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   A' :: Γ ⊢ M' : B

subgoal 2 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 3 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using ,)


apply Betac_confl in H3 as (Z & ?& ?).
10 subgoals, subgoal 1 (ID 37491)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   A' :: Γ ⊢ M' : B

subgoal 2 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 3 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using ,)

apply Betas_env_sound_up with (Z::Γ).
12 subgoals, subgoal 1 (ID 37493)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   Z :: Γ ⊢ M' : B

subgoal 2 (ID 37494) is:
 A' :: Γ ⊣
subgoal 3 (ID 37495) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 4 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 5 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using ,)


apply Betas_env_sound with (A::Γ).
13 subgoals, subgoal 1 (ID 37497)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   A :: Γ ⊢ M' : B

subgoal 2 (ID 37498) is:
 (A :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37494) is:
 A' :: Γ ⊣
subgoal 4 (ID 37495) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 5 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 6 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 7 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 8 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 9 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 10 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 11 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 12 (ID 36498) is:
 nil ⊣
subgoal 13 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using ,)

trivial.
12 subgoals, subgoal 1 (ID 37498)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   (A :: Γ) →→e (Z :: Γ)

subgoal 2 (ID 37494) is:
 A' :: Γ ⊣
subgoal 3 (ID 37495) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 4 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 5 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 6 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 7 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 8 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 9 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 10 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 11 (ID 36498) is:
 nil ⊣
subgoal 12 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using ,)

apply Betas_env_hd; trivial.
11 subgoals, subgoal 1 (ID 37494)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   A' :: Γ ⊣

subgoal 2 (ID 37495) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 4 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using ,)


econstructor.
11 subgoals, subgoal 1 (ID 37503)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   Γ ⊢ A' : !?37502

subgoal 2 (ID 37495) is:
 (A' :: Γ) →→e (Z :: Γ)
subgoal 3 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 4 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 5 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 open,)

apply H2.
10 subgoals, subgoal 1 (ID 37495)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  Z : Term
  H3 : A →→ Z
  H6 : A' →→ Z
  ============================
   (A' :: Γ) →→e (Z :: Γ)

subgoal 2 (ID 37419) is:
 Γ ⊢ Π (A), B : !u
subgoal 3 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 4 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

apply Betas_env_hd; trivial.
9 subgoals, subgoal 1 (ID 37419)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   Γ ⊢ Π (A), B : !u

subgoal 2 (ID 37416) is:
 λ [A], M ≡ λ [A'], M'
subgoal 3 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)


apply SRM.cPi with s t; trivial.
8 subgoals, subgoal 1 (ID 37416)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢ A : !s
  H2 : Γ ⊢ A' : !s
  H3 : A ≡ A'
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢ M : B
  H4 : A :: Γ ⊢ M' : B
  H5 : M ≡ M'
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢ B : !t
  ============================
   λ [A], M ≡ λ [A'], M'

subgoal 2 (ID 36451) is:
 (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

intuition.
7 subgoals, subgoal 1 (ID 36451)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : (Γ ⊢ M : Π (A), B) /\ (Γ ⊢ M' : Π (A), B) /\ M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : (Γ ⊢ N : A) /\ (Γ ⊢ N' : A) /\ N ≡ N'
  ============================
   (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'

subgoal 2 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 3 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 4 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 5 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 6 (ID 36498) is:
 nil ⊣
subgoal 7 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)


destruct H as (? & ?& ?).
7 subgoals, subgoal 1 (ID 37566)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : (Γ ⊢ N : A) /\ (Γ ⊢ N' : A) /\ N ≡ N'
  ============================
   (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'

subgoal 2 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 3 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 4 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 5 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 6 (ID 36498) is:
 nil ⊣
subgoal 7 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

destruct H0 as (? & ?& ?).
7 subgoals, subgoal 1 (ID 37574)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   (Γ ⊢ M · N : B [ ← N]) /\ (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'

subgoal 2 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 3 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 4 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 5 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 6 (ID 36498) is:
 nil ⊣
subgoal 7 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)


split.
8 subgoals, subgoal 1 (ID 37576)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   Γ ⊢ M · N : B [ ← N]

subgoal 2 (ID 37577) is:
 (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

apply SRM.cApp with A; trivial.
7 subgoals, subgoal 1 (ID 37577)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   (Γ ⊢ M' · N' : B [ ← N]) /\ M · N ≡ M' · N'

subgoal 2 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 3 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 4 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 5 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 6 (ID 36498) is:
 nil ⊣
subgoal 7 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

split.
8 subgoals, subgoal 1 (ID 37581)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   Γ ⊢ M' · N' : B [ ← N]

subgoal 2 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)


assert (exists s, A::Γ B : !s).
9 subgoals, subgoal 1 (ID 37585)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   exists s : Sorts, A :: Γ ⊢ B : !s

subgoal 2 (ID 37586) is:
 Γ ⊢ M' · N' : B [ ← N]
subgoal 3 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

apply SRM.TypeCorrect in H.
9 subgoals, subgoal 1 (ID 37588)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : (exists s : Sorts, Π (A), B = !s) \/
      (exists s : Sorts, Γ ⊢ Π (A), B : !s)
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   exists s : Sorts, A :: Γ ⊢ B : !s

subgoal 2 (ID 37586) is:
 Γ ⊢ M' · N' : B [ ← N]
subgoal 3 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

destruct H as [ [s ?]| [ s ?] ].
10 subgoals, subgoal 1 (ID 37599)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  s : Sorts
  H : Π (A), B = !s
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   exists s0 : Sorts, A :: Γ ⊢ B : !s0

subgoal 2 (ID 37606) is:
 exists s0 : Sorts, A :: Γ ⊢ B : !s0
subgoal 3 (ID 37586) is:
 Γ ⊢ M' · N' : B [ ← N]
subgoal 4 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)


discriminate.
9 subgoals, subgoal 1 (ID 37606)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  s : Sorts
  H : Γ ⊢ Π (A), B : !s
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   exists s0 : Sorts, A :: Γ ⊢ B : !s0

subgoal 2 (ID 37586) is:
 Γ ⊢ M' · N' : B [ ← N]
subgoal 3 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

apply gen_pi in H as (a & b & c & h);decompose [and] h; clear h.
9 subgoals, subgoal 1 (ID 37643)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  s : Sorts
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  a : Sorts
  b : Sorts
  c : Sorts
  H : !s ≡ !c
  H6 : Rel a b c
  H5 : Γ ⊢ A : !a
  H8 : A :: Γ ⊢ B : !b
  ============================
   exists s0 : Sorts, A :: Γ ⊢ B : !s0

subgoal 2 (ID 37586) is:
 Γ ⊢ M' · N' : B [ ← N]
subgoal 3 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

exists b; trivial.
8 subgoals, subgoal 1 (ID 37586)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  H5 : exists s : Sorts, A :: Γ ⊢ B : !s
  ============================
   Γ ⊢ M' · N' : B [ ← N]

subgoal 2 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)


destruct H5 as (b & ?).
8 subgoals, subgoal 1 (ID 37649)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   Γ ⊢ M' · N' : B [ ← N]

subgoal 2 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

apply SRM.Cnv with (B[← N']) b.
10 subgoals, subgoal 1 (ID 37650)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   B [ ← N'] ≡ B [ ← N]

subgoal 2 (ID 37651) is:
 Γ ⊢ M' · N' : B [ ← N']
subgoal 3 (ID 37652) is:
 Γ ⊢ B [ ← N] : !b
subgoal 4 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

intuition.
9 subgoals, subgoal 1 (ID 37651)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   Γ ⊢ M' · N' : B [ ← N']

subgoal 2 (ID 37652) is:
 Γ ⊢ B [ ← N] : !b
subgoal 3 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)


apply SRM.cApp with A; trivial.
8 subgoals, subgoal 1 (ID 37652)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   Γ ⊢ B [ ← N] : !b

subgoal 2 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

change !b with (!b[← N]).
8 subgoals, subgoal 1 (ID 37676)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   Γ ⊢ B [ ← N] : !b [ ← N]

subgoal 2 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using ,)

eapply SRM.substitution.
11 subgoals, subgoal 1 (ID 37689)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   ?37688 ⊢ B : !b

subgoal 2 (ID 37692) is:
 ?37690 ⊢ N : ?37691
subgoal 3 (ID 37693) is:
 sub_in_env ?37690 N ?37691 0 ?37688 Γ
subgoal 4 (ID 37694) is:
 ?37688 ⊣
subgoal 5 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 6 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 7 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 8 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 9 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 10 (ID 36498) is:
 nil ⊣
subgoal 11 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 open, ?37690 open, ?37691 open,)


apply H5.
10 subgoals, subgoal 1 (ID 37692)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   ?37690 ⊢ N : ?37691

subgoal 2 (ID 37693) is:
 sub_in_env ?37690 N ?37691 0 (A :: Γ) Γ
subgoal 3 (ID 37694) is:
 A :: Γ ⊣
subgoal 4 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 5 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 6 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 7 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 8 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 9 (ID 36498) is:
 nil ⊣
subgoal 10 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 open, ?37691 open,)

apply H0.
9 subgoals, subgoal 1 (ID 37693)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   sub_in_env Γ N A 0 (A :: Γ) Γ

subgoal 2 (ID 37694) is:
 A :: Γ ⊣
subgoal 3 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 4 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 5 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 6 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 7 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 8 (ID 36498) is:
 nil ⊣
subgoal 9 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using ,)

constructor.
8 subgoals, subgoal 1 (ID 37694)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  b : Sorts
  H5 : A :: Γ ⊢ B : !b
  ============================
   A :: Γ ⊣

subgoal 2 (ID 37582) is:
 M · N ≡ M' · N'
subgoal 3 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 4 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 5 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 6 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 7 (ID 36498) is:
 nil ⊣
subgoal 8 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using ,)

apply SRM.wf_typ in H5; trivial.
7 subgoals, subgoal 1 (ID 37582)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢ M : Π (A), B
  H1 : Γ ⊢ M' : Π (A), B
  H2 : M ≡ M'
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ N' : A
  H4 : N ≡ N'
  ============================
   M · N ≡ M' · N'

subgoal 2 (ID 36458) is:
 (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M
subgoal 3 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 4 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 5 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 6 (ID 36498) is:
 nil ⊣
subgoal 7 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using ,)

intuition.
6 subgoals, subgoal 1 (ID 36458)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : (Γ ⊢ M : A) /\ (Γ ⊢ N : A) /\ M ≡ N
  ============================
   (Γ ⊢ N : A) /\ (Γ ⊢ M : A) /\ N ≡ M

subgoal 2 (ID 36468) is:
 (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P
subgoal 3 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 4 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 5 (ID 36498) is:
 nil ⊣
subgoal 6 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using ,)


intuition.
5 subgoals, subgoal 1 (ID 36468)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : (Γ ⊢ M : A) /\ (Γ ⊢ N : A) /\ M ≡ N
  t0 : Γ ⊢e N = P : A
  H0 : (Γ ⊢ N : A) /\ (Γ ⊢ P : A) /\ N ≡ P
  ============================
   (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P

subgoal 2 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 3 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 4 (ID 36498) is:
 nil ⊣
subgoal 5 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using ,)


destruct H as (? & ?& ?), H0 as (? & ?& ?).
5 subgoals, subgoal 1 (ID 37783)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : Γ ⊢ M : A
  H1 : Γ ⊢ N : A
  H2 : M ≡ N
  t0 : Γ ⊢e N = P : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ P : A
  H4 : N ≡ P
  ============================
   (Γ ⊢ M : A) /\ (Γ ⊢ P : A) /\ M ≡ P

subgoal 2 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 3 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 4 (ID 36498) is:
 nil ⊣
subgoal 5 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using ,)

intuition.
5 subgoals, subgoal 1 (ID 37789)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : Γ ⊢ M : A
  H1 : Γ ⊢ N : A
  H2 : M ≡ N
  t0 : Γ ⊢e N = P : A
  H0 : Γ ⊢ N : A
  H3 : Γ ⊢ P : A
  H4 : N ≡ P
  ============================
   M ≡ P

subgoal 2 (ID 36479) is:
 (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N
subgoal 3 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 4 (ID 36498) is:
 nil ⊣
subgoal 5 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using ,)

eauto.
4 subgoals, subgoal 1 (ID 36479)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : (Γ ⊢ A : !s) /\ (Γ ⊢ B : !s) /\ A ≡ B
  t0 : Γ ⊢e M = N : A
  H0 : (Γ ⊢ M : A) /\ (Γ ⊢ N : A) /\ M ≡ N
  ============================
   (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N

subgoal 2 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)


destruct H as (? & ?& ?).
4 subgoals, subgoal 1 (ID 37903)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ B : !s
  H2 : A ≡ B
  t0 : Γ ⊢e M = N : A
  H0 : (Γ ⊢ M : A) /\ (Γ ⊢ N : A) /\ M ≡ N
  ============================
   (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N

subgoal 2 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

destruct H0 as ( ?& ?& ?).
4 subgoals, subgoal 1 (ID 37911)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ B : !s
  H2 : A ≡ B
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢ M : A
  H3 : Γ ⊢ N : A
  H4 : M ≡ N
  ============================
   (Γ ⊢ M : B) /\ (Γ ⊢ N : B) /\ M ≡ N

subgoal 2 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)


split.
5 subgoals, subgoal 1 (ID 37913)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ B : !s
  H2 : A ≡ B
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢ M : A
  H3 : Γ ⊢ N : A
  H4 : M ≡ N
  ============================
   Γ ⊢ M : B

subgoal 2 (ID 37914) is:
 (Γ ⊢ N : B) /\ M ≡ N
subgoal 3 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 4 (ID 36498) is:
 nil ⊣
subgoal 5 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

apply SRM.Cnv with A s; trivial.
4 subgoals, subgoal 1 (ID 37914)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ B : !s
  H2 : A ≡ B
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢ M : A
  H3 : Γ ⊢ N : A
  H4 : M ≡ N
  ============================
   (Γ ⊢ N : B) /\ M ≡ N

subgoal 2 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

split.
5 subgoals, subgoal 1 (ID 37919)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ B : !s
  H2 : A ≡ B
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢ M : A
  H3 : Γ ⊢ N : A
  H4 : M ≡ N
  ============================
   Γ ⊢ N : B

subgoal 2 (ID 37920) is:
 M ≡ N
subgoal 3 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 4 (ID 36498) is:
 nil ⊣
subgoal 5 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

apply SRM.Cnv with A s; trivial.
4 subgoals, subgoal 1 (ID 37920)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢ A : !s
  H1 : Γ ⊢ B : !s
  H2 : A ≡ B
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢ M : A
  H3 : Γ ⊢ N : A
  H4 : M ≡ N
  ============================
   M ≡ N

subgoal 2 (ID 36497) is:
 (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

trivial.
3 subgoals, subgoal 1 (ID 36497)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   (Γ ⊢ (λ [A], M) · N : B [ ← N]) /\
   (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]

subgoal 2 (ID 36498) is:
 nil ⊣
subgoal 3 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)


split.
4 subgoals, subgoal 1 (ID 37925)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   Γ ⊢ (λ [A], M) · N : B [ ← N]

subgoal 2 (ID 37926) is:
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

apply SRM.cApp with A.
5 subgoals, subgoal 1 (ID 37927)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   Γ ⊢ λ [A], M : Π (A), B

subgoal 2 (ID 37928) is:
 Γ ⊢ N : A
subgoal 3 (ID 37926) is:
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 4 (ID 36498) is:
 nil ⊣
subgoal 5 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

apply SRM.cLa with s t u; trivial.
4 subgoals, subgoal 1 (ID 37928)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   Γ ⊢ N : A

subgoal 2 (ID 37926) is:
 (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

trivial.
3 subgoals, subgoal 1 (ID 37926)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   (Γ ⊢ M [ ← N] : B [ ← N]) /\ (λ [A], M) · N ≡ M [ ← N]

subgoal 2 (ID 36498) is:
 nil ⊣
subgoal 3 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)


split.
4 subgoals, subgoal 1 (ID 37934)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   Γ ⊢ M [ ← N] : B [ ← N]

subgoal 2 (ID 37935) is:
 (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using ,)

eapply SRM.substitution.
7 subgoals, subgoal 1 (ID 37948)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   ?37947 ⊢ M : B

subgoal 2 (ID 37951) is:
 ?37949 ⊢ N : ?37950
subgoal 3 (ID 37952) is:
 sub_in_env ?37949 N ?37950 0 ?37947 Γ
subgoal 4 (ID 37953) is:
 ?37947 ⊣
subgoal 5 (ID 37935) is:
 (λ [A], M) · N ≡ M [ ← N]
subgoal 6 (ID 36498) is:
 nil ⊣
subgoal 7 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using , ?37940 using ?37947 , ?37941 using ?37949 , ?37942 using ?37950 , ?37947 open, ?37949 open, ?37950 open,)

apply H1.
6 subgoals, subgoal 1 (ID 37951)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   ?37949 ⊢ N : ?37950

subgoal 2 (ID 37952) is:
 sub_in_env ?37949 N ?37950 0 (A :: Γ) Γ
subgoal 3 (ID 37953) is:
 A :: Γ ⊣
subgoal 4 (ID 37935) is:
 (λ [A], M) · N ≡ M [ ← N]
subgoal 5 (ID 36498) is:
 nil ⊣
subgoal 6 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using , ?37940 using ?37947 , ?37941 using ?37949 , ?37942 using ?37950 , ?37947 using , ?37949 open, ?37950 open,)

apply H2.
5 subgoals, subgoal 1 (ID 37952)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   sub_in_env Γ N A 0 (A :: Γ) Γ

subgoal 2 (ID 37953) is:
 A :: Γ ⊣
subgoal 3 (ID 37935) is:
 (λ [A], M) · N ≡ M [ ← N]
subgoal 4 (ID 36498) is:
 nil ⊣
subgoal 5 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using , ?37940 using ?37947 , ?37941 using ?37949 , ?37942 using ?37950 , ?37947 using , ?37949 using , ?37950 using ,)

constructor.
4 subgoals, subgoal 1 (ID 37953)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   A :: Γ ⊣

subgoal 2 (ID 37935) is:
 (λ [A], M) · N ≡ M [ ← N]
subgoal 3 (ID 36498) is:
 nil ⊣
subgoal 4 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using , ?37940 using ?37947 , ?37941 using ?37949 , ?37942 using ?37950 , ?37947 using , ?37949 using , ?37950 using ,)

eauto.
3 subgoals, subgoal 1 (ID 37935)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢ B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢ M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢ N : A
  ============================
   (λ [A], M) · N ≡ M [ ← N]

subgoal 2 (ID 36498) is:
 nil ⊣
subgoal 3 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using , ?37940 using ?37947 , ?37941 using ?37949 , ?37942 using ?37950 , ?37947 using , ?37949 using , ?37950 using , ?37955 using ,)

intuition.
2 subgoals, subgoal 1 (ID 36498)
  
  ============================
   nil ⊣

subgoal 2 (ID 36504) is:
 A :: Γ ⊣
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using , ?37940 using ?37947 , ?37941 using ?37949 , ?37942 using ?37950 , ?37947 using , ?37949 using , ?37950 using , ?37955 using ,)


intuition.
1 subgoals, subgoal 1 (ID 36504)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : Γ ⊢ A : !s
  ============================
   A :: Γ ⊣

(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using , ?37940 using ?37947 , ?37941 using ?37949 , ?37942 using ?37950 , ?37947 using , ?37949 using , ?37950 using , ?37955 using ,)


eauto.
No more subgoals.
(dependent evars: ?37337 using , ?37479 using , ?37502 using , ?37681 using ?37688 , ?37682 using ?37690 , ?37683 using ?37691 , ?37688 using , ?37690 using , ?37691 using , ?37844 using , ?37940 using ?37947 , ?37941 using ?37949 , ?37942 using ?37950 , ?37947 using , ?37949 using , ?37950 using , ?37955 using , ?37994 using ,)


Qed.
FromPTSe_to_PTS is defined



Equivalence with simpler presentation of the typed equality, suggested by Randy Pollack
Reserved Notation "Γ ⊢m M = N : T" (at level 80, M, N , T at level 30, no associativity).

Reserved Notation "Γ ⊣m " (at level 80, no associativity).


Inductive wfm : Env -> Prop :=
 | wfm_nil : nil m
 | wfm_cons : forall Γ A s, Γ m A = A : !s -> A::Γ m
where "Γ ⊣m" := (wfm Γ) : UT_scope
with typ_eqm : Env -> Term -> Term -> Term -> Prop :=
 | cSortm : forall Γ s t, Ax s t -> Γ m -> Γ m !s = !s : !t
 | cVarm : forall Γ A v, Γ m -> A v Γ -> Γ m #v = #v : A
 | cPi_eqm : forall Γ A A' B B' s t u,
          Rel s t u -> Γ m A = A' : !s -> (A::Γ)⊢m B = B' : !t ->
             Γ m Π(A),B = Π(A'),B' : !u
 | cLa_eqm : forall Γ A A' B B' M M' s t u,
          Rel s t u -> Γ m A = A' : !s -> (A::Γ) m M = M' : B ->
             (A::Γ) m B = B' : !t -> Γ m λ[A],M = λ[A'],M' : Π(A),B
 | cApp_eqm : forall Γ M M' N N' A B,
          Γ m M = M' : Π(A),B -> Γm N = N' : A ->
              Γ m M·N = M'·N' : B [← N]
 | Cnvm : forall Γ a b A B s,
          Γ m A = B : !s -> Γ m a = b : A -> Γ m a = b : B
 | cSymm : forall Γ M N A , Γ m M = N : A -> Γ m N = M : A
 | cTransm : forall Γ M N P A,
          Γ m M = N : A -> Γ m N = P : A -> Γ m M = P : A
 | cBetam : forall Γ A A' B B' M M' N N' s t u,
        Rel s t u -> Γ m A = A' : !s -> (A::Γ) m B = B' : !t ->
           (A::Γ) m M = M' : B -> Γ m N = N' : A ->
               Γ m (λ[A],MN = M[← N] : B[← N]
where "Γ ⊢m M = N : T":= (typ_eqm Γ M N T) : UT_scope.
wfm, typ_eqm are defined
wfm_ind is defined
typ_eqm_ind is defined



Hint Constructors wfm typ_eqm.
Warning: the hint: eapply wfm_cons will only be used by eauto
Warning: the hint: eapply cPi_eqm will only be used by eauto
Warning: the hint: eapply cLa_eqm will only be used by eauto
Warning: the hint: eapply cApp_eqm will only be used by eauto
Warning: the hint: eapply Cnvm will only be used by eauto
Warning: the hint: eapply cTransm will only be used by eauto
Warning: the hint: eapply cBetam will only be used by eauto



Open Scope UT_scope.


Scheme typ_eqm_ind' := Induction for typ_eqm Sort Prop
      with wfm_ind' := Induction for wfm Sort Prop.
wfm_ind' is defined
typ_eqm_ind' is defined
typ_eqm_ind', wfm_ind' are recursively defined



Combined Scheme typm_induc from typ_eqm_ind', wfm_ind'.
typm_induc is defined
typm_induc is recursively defined



Lemma etyp_mtyp:
  (forall Δ M T, Δ e M : T -> Δ m M = M : T) /\
  (forall Δ M M' T, Δ e M = M' : T -> Δ m M = M' : T) /\
  (forall Γ, Γ e -> Γ m).
1 subgoals, subgoal 1 (ID 38080)
  
  ============================
   (forall (Δ : Env) (M T : Term), Δ ⊢e M : T -> Δ ⊢m M = M : T) /\
   (forall (Δ : Env) (M M' T : Term), Δ ⊢e M = M' : T -> Δ ⊢m M = M' : T) /\
   (forall Γ : Env, Γ ⊣e -> Γ ⊣m)

(dependent evars:)


apply typ_induc.
17 subgoals, subgoal 1 (ID 38081)
  
  ============================
   forall (Γ : Env) (s t : Sorts),
   Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t

subgoal 2 (ID 38082) is:
 forall (Γ : Env) (A : Term) (v : nat),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 3 (ID 38083) is:
 forall (Γ : Env) (A B : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t -> A :: Γ ⊢m B = B : !t -> Γ ⊢m Π (A), B = Π (A), B : !u
subgoal 4 (ID 38084) is:
 forall (Γ : Env) (A b B : Term) (s1 s2 s3 : Sorts),
 Rel s1 s2 s3 ->
 Γ ⊢e A : !s1 ->
 Γ ⊢m A = A : !s1 ->
 A :: Γ ⊢e B : !s2 ->
 A :: Γ ⊢m B = B : !s2 ->
 A :: Γ ⊢e b : B ->
 A :: Γ ⊢m b = b : B -> Γ ⊢m λ [A], b = λ [A], b : Π (A), B
subgoal 5 (ID 38085) is:
 forall (Γ : Env) (a b A B : Term),
 Γ ⊢e a : Π (A), B ->
 Γ ⊢m a = a : Π (A), B ->
 Γ ⊢e b : A -> Γ ⊢m b = b : A -> Γ ⊢m a · b = a · b : B [ ← b]
subgoal 6 (ID 38086) is:
 forall (Γ : Env) (a A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B
subgoal 7 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 8 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 9 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 10 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 11 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 12 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 13 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 14 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 15 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 16 (ID 38096) is:
 nil ⊣m
subgoal 17 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eauto.
16 subgoals, subgoal 1 (ID 38082)
  
  ============================
   forall (Γ : Env) (A : Term) (v : nat),
   Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A

subgoal 2 (ID 38083) is:
 forall (Γ : Env) (A B : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t -> A :: Γ ⊢m B = B : !t -> Γ ⊢m Π (A), B = Π (A), B : !u
subgoal 3 (ID 38084) is:
 forall (Γ : Env) (A b B : Term) (s1 s2 s3 : Sorts),
 Rel s1 s2 s3 ->
 Γ ⊢e A : !s1 ->
 Γ ⊢m A = A : !s1 ->
 A :: Γ ⊢e B : !s2 ->
 A :: Γ ⊢m B = B : !s2 ->
 A :: Γ ⊢e b : B ->
 A :: Γ ⊢m b = b : B -> Γ ⊢m λ [A], b = λ [A], b : Π (A), B
subgoal 4 (ID 38085) is:
 forall (Γ : Env) (a b A B : Term),
 Γ ⊢e a : Π (A), B ->
 Γ ⊢m a = a : Π (A), B ->
 Γ ⊢e b : A -> Γ ⊢m b = b : A -> Γ ⊢m a · b = a · b : B [ ← b]
subgoal 5 (ID 38086) is:
 forall (Γ : Env) (a A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B
subgoal 6 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 7 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 8 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 9 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 10 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 11 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 12 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 13 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 14 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 15 (ID 38096) is:
 nil ⊣m
subgoal 16 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eauto.
15 subgoals, subgoal 1 (ID 38083)
  
  ============================
   forall (Γ : Env) (A B : Term) (s t u : Sorts),
   Rel s t u ->
   Γ ⊢e A : !s ->
   Γ ⊢m A = A : !s ->
   A :: Γ ⊢e B : !t -> A :: Γ ⊢m B = B : !t -> Γ ⊢m Π (A), B = Π (A), B : !u

subgoal 2 (ID 38084) is:
 forall (Γ : Env) (A b B : Term) (s1 s2 s3 : Sorts),
 Rel s1 s2 s3 ->
 Γ ⊢e A : !s1 ->
 Γ ⊢m A = A : !s1 ->
 A :: Γ ⊢e B : !s2 ->
 A :: Γ ⊢m B = B : !s2 ->
 A :: Γ ⊢e b : B ->
 A :: Γ ⊢m b = b : B -> Γ ⊢m λ [A], b = λ [A], b : Π (A), B
subgoal 3 (ID 38085) is:
 forall (Γ : Env) (a b A B : Term),
 Γ ⊢e a : Π (A), B ->
 Γ ⊢m a = a : Π (A), B ->
 Γ ⊢e b : A -> Γ ⊢m b = b : A -> Γ ⊢m a · b = a · b : B [ ← b]
subgoal 4 (ID 38086) is:
 forall (Γ : Env) (a A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B
subgoal 5 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 6 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 7 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 10 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 11 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 12 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 13 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 38096) is:
 nil ⊣m
subgoal 15 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
15 subgoals, subgoal 1 (ID 38221)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢m A = A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢m B = B : !t
  ============================
   Γ ⊢m Π (A), B = Π (A), B : !u

subgoal 2 (ID 38084) is:
 forall (Γ : Env) (A b B : Term) (s1 s2 s3 : Sorts),
 Rel s1 s2 s3 ->
 Γ ⊢e A : !s1 ->
 Γ ⊢m A = A : !s1 ->
 A :: Γ ⊢e B : !s2 ->
 A :: Γ ⊢m B = B : !s2 ->
 A :: Γ ⊢e b : B ->
 A :: Γ ⊢m b = b : B -> Γ ⊢m λ [A], b = λ [A], b : Π (A), B
subgoal 3 (ID 38085) is:
 forall (Γ : Env) (a b A B : Term),
 Γ ⊢e a : Π (A), B ->
 Γ ⊢m a = a : Π (A), B ->
 Γ ⊢e b : A -> Γ ⊢m b = b : A -> Γ ⊢m a · b = a · b : B [ ← b]
subgoal 4 (ID 38086) is:
 forall (Γ : Env) (a A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B
subgoal 5 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 6 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 7 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 8 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 9 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 10 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 11 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 12 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 13 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 14 (ID 38096) is:
 nil ⊣m
subgoal 15 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

apply (cPi_eqm _ _ _ _ _ _ _ _ r H H0).
14 subgoals, subgoal 1 (ID 38084)
  
  ============================
   forall (Γ : Env) (A b B : Term) (s1 s2 s3 : Sorts),
   Rel s1 s2 s3 ->
   Γ ⊢e A : !s1 ->
   Γ ⊢m A = A : !s1 ->
   A :: Γ ⊢e B : !s2 ->
   A :: Γ ⊢m B = B : !s2 ->
   A :: Γ ⊢e b : B ->
   A :: Γ ⊢m b = b : B -> Γ ⊢m λ [A], b = λ [A], b : Π (A), B

subgoal 2 (ID 38085) is:
 forall (Γ : Env) (a b A B : Term),
 Γ ⊢e a : Π (A), B ->
 Γ ⊢m a = a : Π (A), B ->
 Γ ⊢e b : A -> Γ ⊢m b = b : A -> Γ ⊢m a · b = a · b : B [ ← b]
subgoal 3 (ID 38086) is:
 forall (Γ : Env) (a A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B
subgoal 4 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 5 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 6 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 9 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 10 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 11 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 12 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 38096) is:
 nil ⊣m
subgoal 14 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
14 subgoals, subgoal 1 (ID 38243)
  
  Γ : Env
  A : Term
  b : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢e A : !s1
  H : Γ ⊢m A = A : !s1
  t0 : A :: Γ ⊢e B : !s2
  H0 : A :: Γ ⊢m B = B : !s2
  t1 : A :: Γ ⊢e b : B
  H1 : A :: Γ ⊢m b = b : B
  ============================
   Γ ⊢m λ [A], b = λ [A], b : Π (A), B

subgoal 2 (ID 38085) is:
 forall (Γ : Env) (a b A B : Term),
 Γ ⊢e a : Π (A), B ->
 Γ ⊢m a = a : Π (A), B ->
 Γ ⊢e b : A -> Γ ⊢m b = b : A -> Γ ⊢m a · b = a · b : B [ ← b]
subgoal 3 (ID 38086) is:
 forall (Γ : Env) (a A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B
subgoal 4 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 5 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 6 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 7 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 8 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 9 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 10 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 11 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 12 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 13 (ID 38096) is:
 nil ⊣m
subgoal 14 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (cLa_eqm _ _ _ _ _ _ _ _ _ _ r H H1 H0).
13 subgoals, subgoal 1 (ID 38085)
  
  ============================
   forall (Γ : Env) (a b A B : Term),
   Γ ⊢e a : Π (A), B ->
   Γ ⊢m a = a : Π (A), B ->
   Γ ⊢e b : A -> Γ ⊢m b = b : A -> Γ ⊢m a · b = a · b : B [ ← b]

subgoal 2 (ID 38086) is:
 forall (Γ : Env) (a A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B
subgoal 3 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 4 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 5 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 8 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 9 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 10 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 11 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 38096) is:
 nil ⊣m
subgoal 13 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
13 subgoals, subgoal 1 (ID 38262)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  t : Γ ⊢e a : Π (A), B
  H : Γ ⊢m a = a : Π (A), B
  t0 : Γ ⊢e b : A
  H0 : Γ ⊢m b = b : A
  ============================
   Γ ⊢m a · b = a · b : B [ ← b]

subgoal 2 (ID 38086) is:
 forall (Γ : Env) (a A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B
subgoal 3 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 4 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 5 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 6 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 7 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 8 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 9 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 10 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 11 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 12 (ID 38096) is:
 nil ⊣m
subgoal 13 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (cApp_eqm _ _ _ _ _ _ _ H H0).
12 subgoals, subgoal 1 (ID 38086)
  
  ============================
   forall (Γ : Env) (a A B : Term) (s : Sorts),
   Γ ⊢e A = B : !s ->
   Γ ⊢m A = B : !s -> Γ ⊢e a : A -> Γ ⊢m a = a : A -> Γ ⊢m a = a : B

subgoal 2 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 3 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 4 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 7 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 8 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 9 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 10 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 38096) is:
 nil ⊣m
subgoal 12 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
12 subgoals, subgoal 1 (ID 38278)
  
  Γ : Env
  a : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢m A = B : !s
  t0 : Γ ⊢e a : A
  H0 : Γ ⊢m a = a : A
  ============================
   Γ ⊢m a = a : B

subgoal 2 (ID 38087) is:
 forall (Γ : Env) (s t : Sorts), Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t
subgoal 3 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 4 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 5 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 6 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 7 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 8 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 9 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 10 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 11 (ID 38096) is:
 nil ⊣m
subgoal 12 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (Cnvm _ _ _ _ _ _ H H0).
11 subgoals, subgoal 1 (ID 38087)
  
  ============================
   forall (Γ : Env) (s t : Sorts),
   Ax s t -> Γ ⊣e -> Γ ⊣m -> Γ ⊢m !s = !s : !t

subgoal 2 (ID 38088) is:
 forall (Γ : Env) (v : nat) (A : Term),
 Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A
subgoal 3 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 6 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 7 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 8 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 9 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 38096) is:
 nil ⊣m
subgoal 11 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



eauto.
10 subgoals, subgoal 1 (ID 38088)
  
  ============================
   forall (Γ : Env) (v : nat) (A : Term),
   Γ ⊣e -> Γ ⊣m -> A ↓ v ⊂ Γ -> Γ ⊢m #v = #v : A

subgoal 2 (ID 38089) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u
subgoal 3 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 4 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 5 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 6 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 7 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 8 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 38096) is:
 nil ⊣m
subgoal 10 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eauto.
9 subgoals, subgoal 1 (ID 38089)
  
  ============================
   forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
   Rel s t u ->
   Γ ⊢e A = A' : !s ->
   Γ ⊢m A = A' : !s ->
   A :: Γ ⊢e B = B' : !t ->
   A :: Γ ⊢m B = B' : !t -> Γ ⊢m Π (A), B = Π (A'), B' : !u

subgoal 2 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 3 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 4 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 5 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 6 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 7 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 38096) is:
 nil ⊣m
subgoal 9 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
9 subgoals, subgoal 1 (ID 38410)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢m A = A' : !s
  t1 : A :: Γ ⊢e B = B' : !t
  H0 : A :: Γ ⊢m B = B' : !t
  ============================
   Γ ⊢m Π (A), B = Π (A'), B' : !u

subgoal 2 (ID 38090) is:
 forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A = A' : !s ->
 Γ ⊢m A = A' : !s ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B
subgoal 3 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 4 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 5 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 6 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 7 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 38096) is:
 nil ⊣m
subgoal 9 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (cPi_eqm _ _ _ _ _ _ _ _ r H H0).
8 subgoals, subgoal 1 (ID 38090)
  
  ============================
   forall (Γ : Env) (A A' B M M' : Term) (s t u : Sorts),
   Rel s t u ->
   Γ ⊢e A = A' : !s ->
   Γ ⊢m A = A' : !s ->
   A :: Γ ⊢e M = M' : B ->
   A :: Γ ⊢m M = M' : B ->
   A :: Γ ⊢e B : !t ->
   A :: Γ ⊢m B = B : !t -> Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B

subgoal 2 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 3 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 4 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 5 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 6 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 38096) is:
 nil ⊣m
subgoal 8 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
8 subgoals, subgoal 1 (ID 38434)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A = A' : !s
  H : Γ ⊢m A = A' : !s
  t1 : A :: Γ ⊢e M = M' : B
  H0 : A :: Γ ⊢m M = M' : B
  t2 : A :: Γ ⊢e B : !t
  H1 : A :: Γ ⊢m B = B : !t
  ============================
   Γ ⊢m λ [A], M = λ [A'], M' : Π (A), B

subgoal 2 (ID 38091) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]
subgoal 3 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 4 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 5 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 6 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 38096) is:
 nil ⊣m
subgoal 8 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (cLa_eqm _ _ _ _ _ _ _ _ _ _ r H H0 H1).
7 subgoals, subgoal 1 (ID 38091)
  
  ============================
   forall (Γ : Env) (M M' N N' A B : Term),
   Γ ⊢e M = M' : Π (A), B ->
   Γ ⊢m M = M' : Π (A), B ->
   Γ ⊢e N = N' : A -> Γ ⊢m N = N' : A -> Γ ⊢m M · N = M' · N' : B [ ← N]

subgoal 2 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 3 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 4 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 5 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 6 (ID 38096) is:
 nil ⊣m
subgoal 7 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
7 subgoals, subgoal 1 (ID 38455)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢e M = M' : Π (A), B
  H : Γ ⊢m M = M' : Π (A), B
  t0 : Γ ⊢e N = N' : A
  H0 : Γ ⊢m N = N' : A
  ============================
   Γ ⊢m M · N = M' · N' : B [ ← N]

subgoal 2 (ID 38092) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A
subgoal 3 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 4 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 5 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 6 (ID 38096) is:
 nil ⊣m
subgoal 7 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (cApp_eqm _ _ _ _ _ _ _ H H0).
6 subgoals, subgoal 1 (ID 38092)
  
  ============================
   forall (Γ : Env) (M N A : Term),
   Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m N = M : A

subgoal 2 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 3 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 4 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 5 (ID 38096) is:
 nil ⊣m
subgoal 6 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
6 subgoals, subgoal 1 (ID 38468)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : Γ ⊢m M = N : A
  ============================
   Γ ⊢m N = M : A

subgoal 2 (ID 38093) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢e M = N : A ->
 Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A
subgoal 3 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 4 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 5 (ID 38096) is:
 nil ⊣m
subgoal 6 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (cSymm _ _ _ _ H).
5 subgoals, subgoal 1 (ID 38093)
  
  ============================
   forall (Γ : Env) (M N P A : Term),
   Γ ⊢e M = N : A ->
   Γ ⊢m M = N : A -> Γ ⊢e N = P : A -> Γ ⊢m N = P : A -> Γ ⊢m M = P : A

subgoal 2 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 3 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 4 (ID 38096) is:
 nil ⊣m
subgoal 5 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
5 subgoals, subgoal 1 (ID 38481)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢e M = N : A
  H : Γ ⊢m M = N : A
  t0 : Γ ⊢e N = P : A
  H0 : Γ ⊢m N = P : A
  ============================
   Γ ⊢m M = P : A

subgoal 2 (ID 38094) is:
 forall (Γ : Env) (M N A B : Term) (s : Sorts),
 Γ ⊢e A = B : !s ->
 Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B
subgoal 3 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 4 (ID 38096) is:
 nil ⊣m
subgoal 5 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (cTransm _ _ _ _ _ H H0).
4 subgoals, subgoal 1 (ID 38094)
  
  ============================
   forall (Γ : Env) (M N A B : Term) (s : Sorts),
   Γ ⊢e A = B : !s ->
   Γ ⊢m A = B : !s -> Γ ⊢e M = N : A -> Γ ⊢m M = N : A -> Γ ⊢m M = N : B

subgoal 2 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 3 (ID 38096) is:
 nil ⊣m
subgoal 4 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
4 subgoals, subgoal 1 (ID 38496)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢e A = B : !s
  H : Γ ⊢m A = B : !s
  t0 : Γ ⊢e M = N : A
  H0 : Γ ⊢m M = N : A
  ============================
   Γ ⊢m M = N : B

subgoal 2 (ID 38095) is:
 forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢e A : !s ->
 Γ ⊢m A = A : !s ->
 A :: Γ ⊢e B : !t ->
 A :: Γ ⊢m B = B : !t ->
 A :: Γ ⊢e M : B ->
 A :: Γ ⊢m M = M : B ->
 Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 3 (ID 38096) is:
 nil ⊣m
subgoal 4 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (Cnvm _ _ _ _ _ _ H H0).
3 subgoals, subgoal 1 (ID 38095)
  
  ============================
   forall (Γ : Env) (A B M N : Term) (s t u : Sorts),
   Rel s t u ->
   Γ ⊢e A : !s ->
   Γ ⊢m A = A : !s ->
   A :: Γ ⊢e B : !t ->
   A :: Γ ⊢m B = B : !t ->
   A :: Γ ⊢e M : B ->
   A :: Γ ⊢m M = M : B ->
   Γ ⊢e N : A -> Γ ⊢m N = N : A -> Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]

subgoal 2 (ID 38096) is:
 nil ⊣m
subgoal 3 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



intros.
3 subgoals, subgoal 1 (ID 38519)
  
  Γ : Env
  A : Term
  B : Term
  M : Term
  N : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢e A : !s
  H : Γ ⊢m A = A : !s
  t1 : A :: Γ ⊢e B : !t
  H0 : A :: Γ ⊢m B = B : !t
  t2 : A :: Γ ⊢e M : B
  H1 : A :: Γ ⊢m M = M : B
  t3 : Γ ⊢e N : A
  H2 : Γ ⊢m N = N : A
  ============================
   Γ ⊢m (λ [A], M) · N = M [ ← N] : B [ ← N]

subgoal 2 (ID 38096) is:
 nil ⊣m
subgoal 3 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)

eapply (cBetam _ _ _ _ _ _ _ _ _ _ _ _ r H H0 H1 H2).
2 subgoals, subgoal 1 (ID 38096)
  
  ============================
   nil ⊣m

subgoal 2 (ID 38097) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m
(dependent evars:)



apply wfm_nil.
1 subgoals, subgoal 1 (ID 38097)
  
  ============================
   forall (Γ : Env) (A : Term) (s : Sorts),
   Γ ⊢e A : !s -> Γ ⊢m A = A : !s -> A :: Γ ⊣m

(dependent evars:)



intros.
1 subgoals, subgoal 1 (ID 38536)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢e A : !s
  H : Γ ⊢m A = A : !s
  ============================
   A :: Γ ⊣m

(dependent evars:)

eapply (wfm_cons _ _ _ H).
No more subgoals.
(dependent evars:)


Qed.
etyp_mtyp is defined



Lemma mtyp_etyp:
  (forall Δ M N T, Δ m M = N : T -> Δ e M = N : T) /\
  (forall Γ, Γ m -> Γ e).
1 subgoals, subgoal 1 (ID 38545)
  
  ============================
   (forall (Δ : Env) (M N T : Term), Δ ⊢m M = N : T -> Δ ⊢e M = N : T) /\
   (forall Γ : Env, Γ ⊣m -> Γ ⊣e)

(dependent evars:)


apply typm_induc.
11 subgoals, subgoal 1 (ID 38546)
  
  ============================
   forall (Γ : Env) (s t : Sorts),
   Ax s t -> Γ ⊣m -> Γ ⊣e -> Γ ⊢e !s = !s : !t

subgoal 2 (ID 38547) is:
 forall (Γ : Env) (A : Term) (v : nat),
 Γ ⊣m -> Γ ⊣e -> A ↓ v ⊂ Γ -> Γ ⊢e #v = #v : A
subgoal 3 (ID 38548) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t -> Γ ⊢e Π (A), B = Π (A'), B' : !u
subgoal 4 (ID 38549) is:
 forall (Γ : Env) (A A' B B' M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t -> Γ ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 5 (ID 38550) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m N = N' : A -> Γ ⊢e N = N' : A -> Γ ⊢e M · N = M' · N' : B [ ← N]
subgoal 6 (ID 38551) is:
 forall (Γ : Env) (a b A B : Term) (s : Sorts),
 Γ ⊢m A = B : !s ->
 Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B
subgoal 7 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 8 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 9 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 10 (ID 38555) is:
 nil ⊣e
subgoal 11 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eauto.
10 subgoals, subgoal 1 (ID 38547)
  
  ============================
   forall (Γ : Env) (A : Term) (v : nat),
   Γ ⊣m -> Γ ⊣e -> A ↓ v ⊂ Γ -> Γ ⊢e #v = #v : A

subgoal 2 (ID 38548) is:
 forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t -> Γ ⊢e Π (A), B = Π (A'), B' : !u
subgoal 3 (ID 38549) is:
 forall (Γ : Env) (A A' B B' M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t -> Γ ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 4 (ID 38550) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m N = N' : A -> Γ ⊢e N = N' : A -> Γ ⊢e M · N = M' · N' : B [ ← N]
subgoal 5 (ID 38551) is:
 forall (Γ : Env) (a b A B : Term) (s : Sorts),
 Γ ⊢m A = B : !s ->
 Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B
subgoal 6 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 7 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 8 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 9 (ID 38555) is:
 nil ⊣e
subgoal 10 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eauto.
9 subgoals, subgoal 1 (ID 38548)
  
  ============================
   forall (Γ : Env) (A A' B B' : Term) (s t u : Sorts),
   Rel s t u ->
   Γ ⊢m A = A' : !s ->
   Γ ⊢e A = A' : !s ->
   A :: Γ ⊢m B = B' : !t ->
   A :: Γ ⊢e B = B' : !t -> Γ ⊢e Π (A), B = Π (A'), B' : !u

subgoal 2 (ID 38549) is:
 forall (Γ : Env) (A A' B B' M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t -> Γ ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 3 (ID 38550) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m N = N' : A -> Γ ⊢e N = N' : A -> Γ ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 38551) is:
 forall (Γ : Env) (a b A B : Term) (s : Sorts),
 Γ ⊢m A = B : !s ->
 Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B
subgoal 5 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 6 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 7 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 38555) is:
 nil ⊣e
subgoal 9 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)



intros.
9 subgoals, subgoal 1 (ID 38696)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢m A = A' : !s
  H : Γ ⊢e A = A' : !s
  t1 : A :: Γ ⊢m B = B' : !t
  H0 : A :: Γ ⊢e B = B' : !t
  ============================
   Γ ⊢e Π (A), B = Π (A'), B' : !u

subgoal 2 (ID 38549) is:
 forall (Γ : Env) (A A' B B' M M' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t -> Γ ⊢e λ [A], M = λ [A'], M' : Π (A), B
subgoal 3 (ID 38550) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m N = N' : A -> Γ ⊢e N = N' : A -> Γ ⊢e M · N = M' · N' : B [ ← N]
subgoal 4 (ID 38551) is:
 forall (Γ : Env) (a b A B : Term) (s : Sorts),
 Γ ⊢m A = B : !s ->
 Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B
subgoal 5 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 6 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 7 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 8 (ID 38555) is:
 nil ⊣e
subgoal 9 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eapply (cPi_eq _ _ _ _ _ _ _ _ r H H0).
8 subgoals, subgoal 1 (ID 38549)
  
  ============================
   forall (Γ : Env) (A A' B B' M M' : Term) (s t u : Sorts),
   Rel s t u ->
   Γ ⊢m A = A' : !s ->
   Γ ⊢e A = A' : !s ->
   A :: Γ ⊢m M = M' : B ->
   A :: Γ ⊢e M = M' : B ->
   A :: Γ ⊢m B = B' : !t ->
   A :: Γ ⊢e B = B' : !t -> Γ ⊢e λ [A], M = λ [A'], M' : Π (A), B

subgoal 2 (ID 38550) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m N = N' : A -> Γ ⊢e N = N' : A -> Γ ⊢e M · N = M' · N' : B [ ← N]
subgoal 3 (ID 38551) is:
 forall (Γ : Env) (a b A B : Term) (s : Sorts),
 Γ ⊢m A = B : !s ->
 Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B
subgoal 4 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 5 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 6 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 38555) is:
 nil ⊣e
subgoal 8 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)



intros.
8 subgoals, subgoal 1 (ID 38721)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  M : Term
  M' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢m A = A' : !s
  H : Γ ⊢e A = A' : !s
  t1 : A :: Γ ⊢m M = M' : B
  H0 : A :: Γ ⊢e M = M' : B
  t2 : A :: Γ ⊢m B = B' : !t
  H1 : A :: Γ ⊢e B = B' : !t
  ============================
   Γ ⊢e λ [A], M = λ [A'], M' : Π (A), B

subgoal 2 (ID 38550) is:
 forall (Γ : Env) (M M' N N' A B : Term),
 Γ ⊢m M = M' : Π (A), B ->
 Γ ⊢e M = M' : Π (A), B ->
 Γ ⊢m N = N' : A -> Γ ⊢e N = N' : A -> Γ ⊢e M · N = M' · N' : B [ ← N]
subgoal 3 (ID 38551) is:
 forall (Γ : Env) (a b A B : Term) (s : Sorts),
 Γ ⊢m A = B : !s ->
 Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B
subgoal 4 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 5 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 6 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 7 (ID 38555) is:
 nil ⊣e
subgoal 8 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eapply (cLa_eq _ _ _ _ _ _ _ _ _ r H H0 (left_reflexivity _ _ _ _ H1)).
7 subgoals, subgoal 1 (ID 38550)
  
  ============================
   forall (Γ : Env) (M M' N N' A B : Term),
   Γ ⊢m M = M' : Π (A), B ->
   Γ ⊢e M = M' : Π (A), B ->
   Γ ⊢m N = N' : A -> Γ ⊢e N = N' : A -> Γ ⊢e M · N = M' · N' : B [ ← N]

subgoal 2 (ID 38551) is:
 forall (Γ : Env) (a b A B : Term) (s : Sorts),
 Γ ⊢m A = B : !s ->
 Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B
subgoal 3 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 4 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 5 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 6 (ID 38555) is:
 nil ⊣e
subgoal 7 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)



intros.
7 subgoals, subgoal 1 (ID 38745)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  B : Term
  t : Γ ⊢m M = M' : Π (A), B
  H : Γ ⊢e M = M' : Π (A), B
  t0 : Γ ⊢m N = N' : A
  H0 : Γ ⊢e N = N' : A
  ============================
   Γ ⊢e M · N = M' · N' : B [ ← N]

subgoal 2 (ID 38551) is:
 forall (Γ : Env) (a b A B : Term) (s : Sorts),
 Γ ⊢m A = B : !s ->
 Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B
subgoal 3 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 4 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 5 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 6 (ID 38555) is:
 nil ⊣e
subgoal 7 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eapply (cApp_eq _ _ _ _ _ _ _ H H0).
6 subgoals, subgoal 1 (ID 38551)
  
  ============================
   forall (Γ : Env) (a b A B : Term) (s : Sorts),
   Γ ⊢m A = B : !s ->
   Γ ⊢e A = B : !s -> Γ ⊢m a = b : A -> Γ ⊢e a = b : A -> Γ ⊢e a = b : B

subgoal 2 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 3 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 4 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 5 (ID 38555) is:
 nil ⊣e
subgoal 6 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)



intros.
6 subgoals, subgoal 1 (ID 38762)
  
  Γ : Env
  a : Term
  b : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢m A = B : !s
  H : Γ ⊢e A = B : !s
  t0 : Γ ⊢m a = b : A
  H0 : Γ ⊢e a = b : A
  ============================
   Γ ⊢e a = b : B

subgoal 2 (ID 38552) is:
 forall (Γ : Env) (M N A : Term),
 Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A
subgoal 3 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 4 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 5 (ID 38555) is:
 nil ⊣e
subgoal 6 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eapply (Cnv_eq _ _ _ _ _ _ H H0).
5 subgoals, subgoal 1 (ID 38552)
  
  ============================
   forall (Γ : Env) (M N A : Term),
   Γ ⊢m M = N : A -> Γ ⊢e M = N : A -> Γ ⊢e N = M : A

subgoal 2 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 3 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 4 (ID 38555) is:
 nil ⊣e
subgoal 5 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)



intros.
5 subgoals, subgoal 1 (ID 38774)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  t : Γ ⊢m M = N : A
  H : Γ ⊢e M = N : A
  ============================
   Γ ⊢e N = M : A

subgoal 2 (ID 38553) is:
 forall (Γ : Env) (M N P A : Term),
 Γ ⊢m M = N : A ->
 Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A
subgoal 3 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 4 (ID 38555) is:
 nil ⊣e
subgoal 5 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eapply (cSym _ _ _ _ H).
4 subgoals, subgoal 1 (ID 38553)
  
  ============================
   forall (Γ : Env) (M N P A : Term),
   Γ ⊢m M = N : A ->
   Γ ⊢e M = N : A -> Γ ⊢m N = P : A -> Γ ⊢e N = P : A -> Γ ⊢e M = P : A

subgoal 2 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 3 (ID 38555) is:
 nil ⊣e
subgoal 4 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)



intros.
4 subgoals, subgoal 1 (ID 38787)
  
  Γ : Env
  M : Term
  N : Term
  P : Term
  A : Term
  t : Γ ⊢m M = N : A
  H : Γ ⊢e M = N : A
  t0 : Γ ⊢m N = P : A
  H0 : Γ ⊢e N = P : A
  ============================
   Γ ⊢e M = P : A

subgoal 2 (ID 38554) is:
 forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
 Rel s t u ->
 Γ ⊢m A = A' : !s ->
 Γ ⊢e A = A' : !s ->
 A :: Γ ⊢m B = B' : !t ->
 A :: Γ ⊢e B = B' : !t ->
 A :: Γ ⊢m M = M' : B ->
 A :: Γ ⊢e M = M' : B ->
 Γ ⊢m N = N' : A ->
 Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]
subgoal 3 (ID 38555) is:
 nil ⊣e
subgoal 4 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eapply (cTrans _ _ _ _ _ H H0).
3 subgoals, subgoal 1 (ID 38554)
  
  ============================
   forall (Γ : Env) (A A' B B' M M' N N' : Term) (s t u : Sorts),
   Rel s t u ->
   Γ ⊢m A = A' : !s ->
   Γ ⊢e A = A' : !s ->
   A :: Γ ⊢m B = B' : !t ->
   A :: Γ ⊢e B = B' : !t ->
   A :: Γ ⊢m M = M' : B ->
   A :: Γ ⊢e M = M' : B ->
   Γ ⊢m N = N' : A ->
   Γ ⊢e N = N' : A -> Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]

subgoal 2 (ID 38555) is:
 nil ⊣e
subgoal 3 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)



intros.
3 subgoals, subgoal 1 (ID 38813)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  B' : Term
  M : Term
  M' : Term
  N : Term
  N' : Term
  s : Sorts
  t : Sorts
  u : Sorts
  r : Rel s t u
  t0 : Γ ⊢m A = A' : !s
  H : Γ ⊢e A = A' : !s
  t1 : A :: Γ ⊢m B = B' : !t
  H0 : A :: Γ ⊢e B = B' : !t
  t2 : A :: Γ ⊢m M = M' : B
  H1 : A :: Γ ⊢e M = M' : B
  t3 : Γ ⊢m N = N' : A
  H2 : Γ ⊢e N = N' : A
  ============================
   Γ ⊢e (λ [A], M) · N = M [ ← N] : B [ ← N]

subgoal 2 (ID 38555) is:
 nil ⊣e
subgoal 3 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)

eapply (cBeta _ _ _ _ _ _ _ _ r (left_reflexivity _ _ _ _ H)
                                        (left_reflexivity _ _ _ _ H0)
                                        (left_reflexivity _ _ _ _ H1)
                                        (left_reflexivity _ _ _ _ H2)).
2 subgoals, subgoal 1 (ID 38555)
  
  ============================
   nil ⊣e

subgoal 2 (ID 38556) is:
 forall (Γ : Env) (A : Term) (s : Sorts),
 Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e
(dependent evars:)



apply wfe_nil.
1 subgoals, subgoal 1 (ID 38556)
  
  ============================
   forall (Γ : Env) (A : Term) (s : Sorts),
   Γ ⊢m A = A : !s -> Γ ⊢e A = A : !s -> A :: Γ ⊣e

(dependent evars:)



intros.
1 subgoals, subgoal 1 (ID 38842)
  
  Γ : Env
  A : Term
  s : Sorts
  t : Γ ⊢m A = A : !s
  H : Γ ⊢e A = A : !s
  ============================
   A :: Γ ⊣e

(dependent evars:)

eapply (wfe_cons _ _ _ (left_reflexivity _ _ _ _ H)).
No more subgoals.
(dependent evars:)


Qed.
mtyp_etyp is defined



End ut_typ_eq_mod.
Module Type ut_typ_eq_mod is defined




Index
This page has been generated by coqdoc