Library typ_annot

Definition of PTS{atr} and proof of Confluence

In order to prove the equivalence between PTS and PTSe, Adams built a system called Typed Parallel One Step Reduction that mimics the usual parallel reduction to prove that a typed equality judgement is confluent. He emphasises the use of an additionnal annotation (the co-domain (x)B) in order to be able to track typing information, and prove that PTS{atr} enjoys the diamon property. His result is restricted to "functional" PTS. To extend it to all PTS, we added a second annotation (the domain A) and prove that every PTS is equivalent to its PTSe counterpart.
Require Import base term.

Require Import red.

Require Import env.

Require Import base.

Require Import List.

Require Import Peano_dec.

Require Import Compare_dec.

Require Import Lt Le Gt Plus Minus.


Module PTS_ATR_mod (X:term_sig) (Y:pts_sig X) (TM:term_mod X) (EM: env_mod X TM) (RM: red_mod X TM).
Interactive Module PTS_ATR_mod started


 Import X Y TM EM RM.


PTS{atr} typind definition: we define at the same time the one step and the multistep in order to keep track of some well-typed path between two possible domains in the typ_beta case.
Reserved Notation "Γ ⊢ s ▹ t : A" (at level 80, s, t, T at level 30, no associativity) .

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

Reserved Notation "Γ ⊢ s ▹▹ t : T " (at level 80, s, t, T at level 30, no associativity) .


Inductive wf : Env -> Prop :=
  | wf_nil : nil
  | wf_cons : forall Γ A A' s, Γ A A' : !s -> A::Γ
where "Γ ⊣" := (wf Γ) : Typ_scope
with typ : Env -> Term -> Term -> Term -> Prop :=
 | typ_var : forall Γ x A, Γ -> A x Γ -> Γ #x #x : A
 | typ_sort : forall Γ s1 s2, Ax s1 s2 -> Γ -> Γ !s1 !s1 : !s2
 | typ_pi : forall Γ s1 s2 s3 A A' B B', Rel s1 s2 s3 ->
    Γ A A' : !s1 -> A::Γ B B' : !s2 -> Γ Π(A),B Π(A'),B' : !s3
 | typ_la : forall Γ A A' B M M' s1 s2 s3, Rel s1 s2 s3 ->
    Γ A A' : !s1 -> A::Γ B B : !s2 -> A::Γ M M' : B ->
    Γ λ[A],M λ[A'],M' : Π(A),B
 | typ_app : forall Γ M M' N N' A A' B B' s1 s2 s3, Rel s1 s2 s3 ->
   Γ A A' : !s1 -> A::Γ B B' : !s2 -> Γ M M' : Π(A),B -> Γ N N' : A ->
    Γ (M ·(A,B) N) (M'·(A',B') N') : B[ N]
 | typ_beta : forall Γ M M' N N' A A' A0 B s1 s2 s3, Rel s1 s2 s3 ->
   Γ A A : !s1 -> Γ A' A' : !s1 -> Γ A0 ▹▹ A : !s1 -> Γ A0 ▹▹ A' : !s1 ->
   A::Γ B B : !s2 -> A::Γ M M' : B -> Γ N N' : A ->
    Γ ((λ[A],M) ·(A',B) N) M'[ N'] : B[ N]
 | typ_red : forall Γ M N A B s, Γ M N : A -> Γ A B : !s -> Γ M N : B
 | typ_exp : forall Γ M N A B s, Γ M N : B -> Γ A B : !s -> Γ M N : A
where "Γ ⊢ M ▹ N : T" := (typ Γ M N T) : Typ_scope
with typ_reds : Env -> Term -> Term -> Term -> Prop :=
 | typ_reds_intro : forall Γ s t T, Γ s t : T -> Γ s ▹▹ t : T
 | typ_reds_trans : forall Γ s t u T , Γ s ▹▹ t : T -> Γ t ▹▹ u : T -> Γ s ▹▹ u : T
where "Γ ⊢ s ▹▹ t : T " := (typ_reds Γ s t T) : Typ_scope.
wf, typ, typ_reds are defined
wf_ind is defined
typ_ind is defined
typ_reds_ind is defined



Open Scope Typ_scope.


Hint Constructors wf typ typ_reds.
Warning: the hint: eapply wf_cons will only be used by eauto
Warning: the hint: eapply typ_pi will only be used by eauto
Warning: the hint: eapply typ_la will only be used by eauto
Warning: the hint: eapply typ_app will only be used by eauto
Warning: the hint: eapply typ_beta will only be used by eauto
Warning: the hint: eapply typ_red will only be used by eauto
Warning: the hint: eapply typ_exp will only be used by eauto
Warning: the hint: eapply typ_reds_trans will only be used by eauto



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



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



Weakening property for PTS{atr} .
Theorem weakening: (forall Δ t t' T, Δ t t' : T -> forall Γ d d' s n Δ',
    ins_in_env Γ d n Δ Δ' -> Γ d d' :!s -> Δ' t 1 # n t' 1 # n : T 1 # n ) /\
(forall Δ t t' T, Δ t ▹▹ t' : T -> forall Γ d d' s n Δ',
    ins_in_env Γ d n Δ Δ' -> Γ d d' :!s -> Δ' t 1 # n ▹▹ t' 1 # n : T 1 # n ) /\
(forall Γ, Γ -> forall Δ Γ' n A A' s, ins_in_env Δ A n Γ Γ' -> Δ A A' : !s -> Γ' ).
1 subgoals, subgoal 1 (ID 120)
  
  ============================
   (forall (Δ : Env) (t t' T : Term),
    Δ ⊢ t ▹ t' : T ->
    forall (Γ : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
    ins_in_env Γ d n Δ Δ' ->
    Γ ⊢ d ▹ d' : !s -> Δ' ⊢ t ↑ 1 # n ▹ t' ↑ 1 # n : T ↑ 1 # n) /\
   (forall (Δ : Env) (t t' T : Term),
    Δ ⊢ t ▹▹ t' : T ->
    forall (Γ : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
    ins_in_env Γ d n Δ Δ' ->
    Γ ⊢ d ▹ d' : !s -> Δ' ⊢ t ↑ 1 # n ▹▹ t' ↑ 1 # n : T ↑ 1 # n) /\
   (forall Γ : Env,
    Γ ⊣ ->
    forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
    ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣)

(dependent evars:)


apply typ_induc; intros; simpl.
12 subgoals, subgoal 1 (ID 359)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ (if le_gt_dec n x then #(S x) else #x)
   ▹ (if le_gt_dec n x then #(S x) else #x) : A ↑ 1 # n

subgoal 2 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 4 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 6 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 369) is:
 Γ' ⊣
subgoal 12 (ID 370) is:
 Γ' ⊣
(dependent evars:)


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

subgoal 2 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 3 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 5 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 7 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars:)

constructor.
14 subgoals, subgoal 1 (ID 382)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   Δ' ⊣

subgoal 2 (ID 383) is:
 A ↑ 1 # n ↓ S x ⊂ Δ'
subgoal 3 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 4 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 5 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 6 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 8 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 369) is:
 Γ' ⊣
subgoal 14 (ID 370) is:
 Γ' ⊣
(dependent evars:)

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

subgoal 2 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 3 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 5 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 7 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using ,)


destruct i as (u & ?& ?).
13 subgoals, subgoal 1 (ID 409)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   A ↑ 1 # n ↓ S x ⊂ Δ'

subgoal 2 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 3 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 5 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 7 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using ,)


rewrite H2.
13 subgoals, subgoal 1 (ID 410)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   u ↑ (S x) ↑ 1 # n ↓ S x ⊂ Δ'

subgoal 2 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 3 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 5 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 7 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using ,)

exists u; split.
14 subgoals, subgoal 1 (ID 414)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   u ↑ (S x) ↑ 1 # n = u ↑ (S (S x))

subgoal 2 (ID 415) is:
 u ↓ S x ∈ Δ'
subgoal 3 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 4 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 5 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 6 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 8 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 369) is:
 Γ' ⊣
subgoal 14 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using ,)


change (S (S x)) with (1+ S x).
14 subgoals, subgoal 1 (ID 417)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   u ↑ (S x) ↑ 1 # n = u ↑ (1 + S x)

subgoal 2 (ID 415) is:
 u ↓ S x ∈ Δ'
subgoal 3 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 4 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 5 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 6 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 8 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 369) is:
 Γ' ⊣
subgoal 14 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using ,)

rewrite liftP3; trivial.
15 subgoals, subgoal 1 (ID 419)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   0 <= n

subgoal 2 (ID 420) is:
 n <= 0 + S x
subgoal 3 (ID 415) is:
 u ↓ S x ∈ Δ'
subgoal 4 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 5 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 6 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 7 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 8 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 9 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 14 (ID 369) is:
 Γ' ⊣
subgoal 15 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using ,)

intuition.
14 subgoals, subgoal 1 (ID 420)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   n <= 0 + S x

subgoal 2 (ID 415) is:
 u ↓ S x ∈ Δ'
subgoal 3 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 4 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 5 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 6 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 8 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 369) is:
 Γ' ⊣
subgoal 14 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using ,)

simpl; intuition.
13 subgoals, subgoal 1 (ID 415)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   u ↓ S x ∈ Δ'

subgoal 2 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 3 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 5 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 7 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using ,)

eapply ins_item_ge.
15 subgoals, subgoal 1 (ID 468)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   ins_in_env ?466 ?464 ?465 ?467 Δ'

subgoal 2 (ID 469) is:
 ?465 <= x
subgoal 3 (ID 470) is:
 u ↓ x ∈ ?467
subgoal 4 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 5 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 6 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 7 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 8 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 9 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 10 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 11 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 12 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 14 (ID 369) is:
 Γ' ⊣
subgoal 15 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 open, ?465 open, ?466 open, ?467 open,)

apply H0.
14 subgoals, subgoal 1 (ID 469)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   n <= x

subgoal 2 (ID 470) is:
 u ↓ x ∈ Γ
subgoal 3 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 4 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 5 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 6 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 8 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 369) is:
 Γ' ⊣
subgoal 14 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using ,)


trivial.
13 subgoals, subgoal 1 (ID 470)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  u : Term
  H2 : A = u ↑ (S x)
  H3 : u ↓ x ∈ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  l : n <= x
  ============================
   u ↓ x ∈ Γ

subgoal 2 (ID 380) is:
 Δ' ⊢ #x ▹ #x : A ↑ 1 # n
subgoal 3 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 5 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 7 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using ,)

trivial.
12 subgoals, subgoal 1 (ID 380)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  g : n > x
  ============================
   Δ' ⊢ #x ▹ #x : A ↑ 1 # n

subgoal 2 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 4 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 6 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 369) is:
 Γ' ⊣
subgoal 12 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using ,)


constructor.
13 subgoals, subgoal 1 (ID 472)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  g : n > x
  ============================
   Δ' ⊣

subgoal 2 (ID 473) is:
 A ↑ 1 # n ↓ x ⊂ Δ'
subgoal 3 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 5 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 7 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using ,)

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

subgoal 2 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 4 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 6 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 369) is:
 Γ' ⊣
subgoal 12 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using ,)

eapply ins_item_lift_lt.
14 subgoals, subgoal 1 (ID 492)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  g : n > x
  ============================
   ins_in_env ?490 ?489 n ?491 Δ'

subgoal 2 (ID 493) is:
 n > x
subgoal 3 (ID 494) is:
 A ↓ x ⊂ ?491
subgoal 4 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 5 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 6 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 8 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 9 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 369) is:
 Γ' ⊣
subgoal 14 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 open, ?490 open, ?491 open,)

apply H0.
13 subgoals, subgoal 1 (ID 493)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  g : n > x
  ============================
   n > x

subgoal 2 (ID 494) is:
 A ↓ x ⊂ Γ
subgoal 3 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 5 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 7 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using ,)

trivial.
12 subgoals, subgoal 1 (ID 494)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  g : n > x
  ============================
   A ↓ x ⊂ Γ

subgoal 2 (ID 360) is:
 Δ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 4 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 6 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 369) is:
 Γ' ⊣
subgoal 12 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using ,)

trivial.
11 subgoals, subgoal 1 (ID 360)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  a : Ax s1 s2
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ !s1 ▹ !s1 : !s2

subgoal 2 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 3 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 5 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 369) is:
 Γ' ⊣
subgoal 11 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using ,)


econstructor; trivial.
11 subgoals, subgoal 1 (ID 498)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  a : Ax s1 s2
  w : Γ ⊣
  H : forall (Δ Γ' : Env) (n : nat) (A A' : Term) (s : Sorts),
      ins_in_env Δ A n Γ Γ' -> Δ ⊢ A ▹ A' : !s -> Γ' ⊣
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊣

subgoal 2 (ID 361) is:
 Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3
subgoal 3 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 5 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 369) is:
 Γ' ⊣
subgoal 11 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using ,)

eapply H; eauto.
10 subgoals, subgoal 1 (ID 361)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 d n Γ Δ'
  H2 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) ▹ Π (A' ↑ 1 # n), B' ↑ 1 # (S n) : !s3

subgoal 2 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 4 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 369) is:
 Γ' ⊣
subgoal 10 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using ,)


apply typ_pi with s1 s2; trivial.
11 subgoals, subgoal 1 (ID 515)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 d n Γ Δ'
  H2 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1

subgoal 2 (ID 516) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B' ↑ 1 # (S n) : !s2
subgoal 3 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 5 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 369) is:
 Γ' ⊣
subgoal 11 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using ,)


change !s1 with (!s1 1 # n); eapply H; eauto.
10 subgoals, subgoal 1 (ID 516)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 d n Γ Δ'
  H2 : Γ0 ⊢ d ▹ d' : !s
  ============================
   A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B' ↑ 1 # (S n) : !s2

subgoal 2 (ID 362) is:
 Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
 : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 4 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 369) is:
 Γ' ⊣
subgoal 10 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using ,)


change !s2 with (!s2 1 # (S n)); eapply H0; eauto.
9 subgoals, subgoal 1 (ID 362)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 d n Γ Δ'
  H3 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) ▹ λ [A' ↑ 1 # n], M' ↑ 1 # (S n)
   : Π (A ↑ 1 # n), B ↑ 1 # (S n)

subgoal 2 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 3 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 369) is:
 Γ' ⊣
subgoal 9 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using ,)


apply typ_la with s1 s2 s3; trivial.
11 subgoals, subgoal 1 (ID 551)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 d n Γ Δ'
  H3 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1

subgoal 2 (ID 552) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B ↑ 1 # (S n) : !s2
subgoal 3 (ID 553) is:
 A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 4 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 5 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 369) is:
 Γ' ⊣
subgoal 11 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using ,)


change !s1 with (!s1 1 # n); eapply H; eauto.
10 subgoals, subgoal 1 (ID 552)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 d n Γ Δ'
  H3 : Γ0 ⊢ d ▹ d' : !s
  ============================
   A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B ↑ 1 # (S n) : !s2

subgoal 2 (ID 553) is:
 A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 3 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 4 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 369) is:
 Γ' ⊣
subgoal 10 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using ,)


change !s2 with (!s2 1 # (S n)); eapply H0; eauto.
9 subgoals, subgoal 1 (ID 553)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H2 : ins_in_env Γ0 d n Γ Δ'
  H3 : Γ0 ⊢ d ▹ d' : !s
  ============================
   A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)

subgoal 2 (ID 363) is:
 Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
 B [ ← N] ↑ 1 # n
subgoal 3 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 369) is:
 Γ' ⊣
subgoal 9 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using ,)


eapply H1; eauto.
8 subgoals, subgoal 1 (ID 363)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : (Π (A), B) ↑ 1 # n
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 d n Γ Δ'
  H4 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
   ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n : 
   B [ ← N] ↑ 1 # n

subgoal 2 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 369) is:
 Γ' ⊣
subgoal 8 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using ,)


app with annot
change n with (0+n); rewrite substP1.
8 subgoals, subgoal 1 (ID 604)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : (Π (A), B) ↑ 1 # n
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 d n Γ Δ'
  H4 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ'
   ⊢ M ↑ 1 # (0 + n) ·( A ↑ 1 # (0 + n), B ↑ 1 # (S (0 + n)))N ↑ 1 # (0 + n)
   ▹ M' ↑ 1 # (0 + n) ·( A' ↑ 1 # (0 + n), B' ↑ 1 # (S (0 + n)))
     N' ↑ 1 # (0 + n) : (B ↑ 1 # (S (0 + n))) [ ← N ↑ 1 # n]

subgoal 2 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 369) is:
 Γ' ⊣
subgoal 8 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using ,)

simpl.
8 subgoals, subgoal 1 (ID 605)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : (Π (A), B) ↑ 1 # n
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 d n Γ Δ'
  H4 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ M ↑ 1 # n ·( A ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
   ▹ M' ↑ 1 # n ·( A' ↑ 1 # n, B' ↑ 1 # (S n))N' ↑ 1 # n
   : (B ↑ 1 # (S n)) [ ← N ↑ 1 # n]

subgoal 2 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 369) is:
 Γ' ⊣
subgoal 8 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using ,)


eapply typ_app.
12 subgoals, subgoal 1 (ID 609)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : (Π (A), B) ↑ 1 # n
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 d n Γ Δ'
  H4 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Rel ?606 ?607 ?608

subgoal 2 (ID 610) is:
 Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !?606
subgoal 3 (ID 611) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B' ↑ 1 # (S n) : !?607
subgoal 4 (ID 612) is:
 Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 613) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 369) is:
 Γ' ⊣
subgoal 12 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 open, ?607 open, ?608 open,)

apply r.
11 subgoals, subgoal 1 (ID 610)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : (Π (A), B) ↑ 1 # n
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 d n Γ Δ'
  H4 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1

subgoal 2 (ID 611) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B' ↑ 1 # (S n) : !s2
subgoal 3 (ID 612) is:
 Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 613) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 369) is:
 Γ' ⊣
subgoal 11 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using ,)

eapply H; eauto.
10 subgoals, subgoal 1 (ID 611)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : (Π (A), B) ↑ 1 # n
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 d n Γ Δ'
  H4 : Γ0 ⊢ d ▹ d' : !s
  ============================
   A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B' ↑ 1 # (S n) : !s2

subgoal 2 (ID 612) is:
 Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 613) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 369) is:
 Γ' ⊣
subgoal 10 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using ,)

eapply H0; eauto.
9 subgoals, subgoal 1 (ID 612)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : (Π (A), B) ↑ 1 # n
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 d n Γ Δ'
  H4 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)

subgoal 2 (ID 613) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 369) is:
 Γ' ⊣
subgoal 9 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using ,)


eapply H1; eauto.
8 subgoals, subgoal 1 (ID 613)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B' ↑ 1 # n : !s2 ↑ 1 # n
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : (Π (A), B) ↑ 1 # n
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H3 : ins_in_env Γ0 d n Γ Δ'
  H4 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 364) is:
 Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
 ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 369) is:
 Γ' ⊣
subgoal 8 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using ,)

eapply H2; eauto.
7 subgoals, subgoal 1 (ID 364)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
   ▹ M' [ ← N'] ↑ 1 # n : B [ ← N] ↑ 1 # n

subgoal 2 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 5 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 369) is:
 Γ' ⊣
subgoal 7 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using ,)


beta with annot
change n with (0+n); rewrite 2! substP1.
7 subgoals, subgoal 1 (ID 674)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ'
   ⊢ (λ [A ↑ 1 # (0 + n)], M ↑ 1 # (S (0 + n))) ·( 
     A' ↑ 1 # (0 + n), B ↑ 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 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 5 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 369) is:
 Γ' ⊣
subgoal 7 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using ,)

simpl.
7 subgoals, subgoal 1 (ID 675)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ (λ [A ↑ 1 # n], M ↑ 1 # (S n)) ·( A' ↑ 1 # n, B ↑ 1 # (S n))N ↑ 1 # n
   ▹ (M' ↑ 1 # (S n)) [ ← N' ↑ 1 # n] : (B ↑ 1 # (S n)) [ ← N ↑ 1 # n]

subgoal 2 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 5 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 369) is:
 Γ' ⊣
subgoal 7 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using ,)


eapply typ_beta.
14 subgoals, subgoal 1 (ID 680)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Rel ?677 ?678 ?679

subgoal 2 (ID 681) is:
 Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !?677
subgoal 3 (ID 682) is:
 Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !?677
subgoal 4 (ID 683) is:
 Δ' ⊢ ?676 ▹▹ A ↑ 1 # n : !?677
subgoal 5 (ID 684) is:
 Δ' ⊢ ?676 ▹▹ A' ↑ 1 # n : !?677
subgoal 6 (ID 685) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B ↑ 1 # (S n) : !?678
subgoal 7 (ID 686) is:
 A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 8 (ID 687) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 10 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 11 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 13 (ID 369) is:
 Γ' ⊣
subgoal 14 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 open, ?677 open, ?678 open, ?679 open,)

apply r.
13 subgoals, subgoal 1 (ID 681)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1

subgoal 2 (ID 682) is:
 Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1
subgoal 3 (ID 683) is:
 Δ' ⊢ ?676 ▹▹ A ↑ 1 # n : !s1
subgoal 4 (ID 684) is:
 Δ' ⊢ ?676 ▹▹ A' ↑ 1 # n : !s1
subgoal 5 (ID 685) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B ↑ 1 # (S n) : !s2
subgoal 6 (ID 686) is:
 A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 7 (ID 687) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 10 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 12 (ID 369) is:
 Γ' ⊣
subgoal 13 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 open, ?677 using , ?678 using , ?679 using ,)

eapply H; eauto.
12 subgoals, subgoal 1 (ID 682)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1

subgoal 2 (ID 683) is:
 Δ' ⊢ ?676 ▹▹ A ↑ 1 # n : !s1
subgoal 3 (ID 684) is:
 Δ' ⊢ ?676 ▹▹ A' ↑ 1 # n : !s1
subgoal 4 (ID 685) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B ↑ 1 # (S n) : !s2
subgoal 5 (ID 686) is:
 A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 6 (ID 687) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 9 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 11 (ID 369) is:
 Γ' ⊣
subgoal 12 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 open, ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using ,)

eapply H0; eauto.
11 subgoals, subgoal 1 (ID 683)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ ?676 ▹▹ A ↑ 1 # n : !s1

subgoal 2 (ID 684) is:
 Δ' ⊢ ?676 ▹▹ A' ↑ 1 # n : !s1
subgoal 3 (ID 685) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B ↑ 1 # (S n) : !s2
subgoal 4 (ID 686) is:
 A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 5 (ID 687) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 8 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 10 (ID 369) is:
 Γ' ⊣
subgoal 11 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 open, ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using ,)


eapply H1; eauto.
10 subgoals, subgoal 1 (ID 684)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1

subgoal 2 (ID 685) is:
 A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B ↑ 1 # (S n) : !s2
subgoal 3 (ID 686) is:
 A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 4 (ID 687) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 7 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 9 (ID 369) is:
 Γ' ⊣
subgoal 10 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using ,)

eapply H2; eauto.
9 subgoals, subgoal 1 (ID 685)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) ▹ B ↑ 1 # (S n) : !s2

subgoal 2 (ID 686) is:
 A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 3 (ID 687) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 6 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 8 (ID 369) is:
 Γ' ⊣
subgoal 9 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using ,)

eapply H3; eauto.
8 subgoals, subgoal 1 (ID 686)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) ▹ M' ↑ 1 # (S n) : B ↑ 1 # (S n)

subgoal 2 (ID 687) is:
 Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 5 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 7 (ID 369) is:
 Γ' ⊣
subgoal 8 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using ,)

eapply H4; eauto.
7 subgoals, subgoal 1 (ID 687)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A ↑ 1 # n ▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A' ↑ 1 # n ▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A ↑ 1 # n : !s1 ↑ 1 # n
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ A0 ↑ 1 # n ▹▹ A' ↑ 1 # n : !s1 ↑ 1 # n
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ B ↑ 1 # n ▹ B ↑ 1 # n : !s2 ↑ 1 # n
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n (A :: Γ) Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ M' ↑ 1 # n : B ↑ 1 # n
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s : Sorts
  n : nat
  Δ' : Env
  H6 : ins_in_env Γ0 d n Γ Δ'
  H7 : Γ0 ⊢ d ▹ d' : !s
  ============================
   Δ' ⊢ N ↑ 1 # n ▹ N' ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 365) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 5 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 369) is:
 Γ' ⊣
subgoal 7 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using ,)


eapply H5; eauto.
6 subgoals, subgoal 1 (ID 365)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Γ0 : Env) (d d' : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s0 -> Δ' ⊢ A ↑ 1 # n ▹ B ↑ 1 # n : !s ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 d n Γ Δ'
  H2 : Γ0 ⊢ d ▹ d' : !s0
  ============================
   Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n

subgoal 2 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 4 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 5 (ID 369) is:
 Γ' ⊣
subgoal 6 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using ,)


apply typ_red with (A 1 # n) s.
7 subgoals, subgoal 1 (ID 788)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Γ0 : Env) (d d' : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s0 -> Δ' ⊢ A ↑ 1 # n ▹ B ↑ 1 # n : !s ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 d n Γ Δ'
  H2 : Γ0 ⊢ d ▹ d' : !s0
  ============================
   Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 789) is:
 Δ' ⊢ A ↑ 1 # n ▹ B ↑ 1 # n : !s
subgoal 3 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 4 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 5 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 6 (ID 369) is:
 Γ' ⊣
subgoal 7 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using ,)

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

subgoal 2 (ID 366) is:
 Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n
subgoal 3 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 4 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 5 (ID 369) is:
 Γ' ⊣
subgoal 6 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using ,)


change !s with (!s 1 # n); eapply H0; eauto.
5 subgoals, subgoal 1 (ID 366)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Γ0 : Env) (d d' : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s0 -> Δ' ⊢ A ↑ 1 # n ▹ B ↑ 1 # n : !s ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 d n Γ Δ'
  H2 : Γ0 ⊢ d ▹ d' : !s0
  ============================
   Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : A ↑ 1 # n

subgoal 2 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 3 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 4 (ID 369) is:
 Γ' ⊣
subgoal 5 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using ,)


apply typ_exp with (B 1 # n) s.
6 subgoals, subgoal 1 (ID 820)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Γ0 : Env) (d d' : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s0 -> Δ' ⊢ A ↑ 1 # n ▹ B ↑ 1 # n : !s ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 d n Γ Δ'
  H2 : Γ0 ⊢ d ▹ d' : !s0
  ============================
   Δ' ⊢ M ↑ 1 # n ▹ N ↑ 1 # n : B ↑ 1 # n

subgoal 2 (ID 821) is:
 Δ' ⊢ A ↑ 1 # n ▹ B ↑ 1 # n : !s
subgoal 3 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 4 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 5 (ID 369) is:
 Γ' ⊣
subgoal 6 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using ,)

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

subgoal 2 (ID 367) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
subgoal 3 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 4 (ID 369) is:
 Γ' ⊣
subgoal 5 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using ,)


change !s with (!s 1 # n); eapply H0; eauto.
4 subgoals, subgoal 1 (ID 367)
  
  Γ : Env
  s : Term
  t : Term
  T : Term
  t0 : Γ ⊢ s ▹ t : T
  H : forall (Γ0 : Env) (d d' : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s0 -> Δ' ⊢ s ↑ 1 # n ▹ t ↑ 1 # n : T ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H0 : ins_in_env Γ0 d n Γ Δ'
  H1 : Γ0 ⊢ d ▹ d' : !s0
  ============================
   Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n

subgoal 2 (ID 368) is:
 Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
subgoal 3 (ID 369) is:
 Γ' ⊣
subgoal 4 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using ,)


constructor; eapply H; eauto.
3 subgoals, subgoal 1 (ID 368)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  T : Term
  t0 : Γ ⊢ s ▹▹ t : T
  H : forall (Γ0 : Env) (d d' : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
      ins_in_env Γ0 d n Γ Δ' ->
      Γ0 ⊢ d ▹ d' : !s0 -> Δ' ⊢ s ↑ 1 # n ▹▹ t ↑ 1 # n : T ↑ 1 # n
  t1 : Γ ⊢ t ▹▹ u : T
  H0 : forall (Γ0 : Env) (d d' : Term) (s : Sorts) (n : nat) (Δ' : Env),
       ins_in_env Γ0 d n Γ Δ' ->
       Γ0 ⊢ d ▹ d' : !s -> Δ' ⊢ t ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n
  Γ0 : Env
  d : Term
  d' : Term
  s0 : Sorts
  n : nat
  Δ' : Env
  H1 : ins_in_env Γ0 d n Γ Δ'
  H2 : Γ0 ⊢ d ▹ d' : !s0
  ============================
   Δ' ⊢ s ↑ 1 # n ▹▹ u ↑ 1 # n : T ↑ 1 # n

subgoal 2 (ID 369) is:
 Γ' ⊣
subgoal 3 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using , ?854 using , ?855 using , ?856 using , ?857 using ,)

eauto.
2 subgoals, subgoal 1 (ID 369)
  
  Δ : Env
  Γ' : Env
  n : nat
  A : Term
  A' : Term
  s : Sorts
  H : ins_in_env Δ A n nil Γ'
  H0 : Δ ⊢ A ▹ A' : !s
  ============================
   Γ' ⊣

subgoal 2 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using , ?854 using , ?855 using , ?856 using , ?857 using , ?869 using , ?992 using , ?993 using , ?994 using , ?995 using , ?1066 using , ?1067 using , ?1068 using , ?1069 using ,)


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

subgoal 2 (ID 370) is:
 Γ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using , ?854 using , ?855 using , ?856 using , ?857 using , ?869 using , ?992 using , ?993 using , ?994 using , ?995 using , ?1066 using , ?1067 using , ?1068 using , ?1069 using ,)

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

(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using , ?854 using , ?855 using , ?856 using , ?857 using , ?869 using , ?992 using , ?993 using , ?994 using , ?995 using , ?1066 using , ?1067 using , ?1068 using , ?1069 using , ?1169 using , ?1170 using ,)


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

subgoal 2 (ID 1273) is:
 A ↑ 1 # n0 :: Δ' ⊣
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using , ?854 using , ?855 using , ?856 using , ?857 using , ?869 using , ?992 using , ?993 using , ?994 using , ?995 using , ?1066 using , ?1067 using , ?1068 using , ?1069 using , ?1169 using , ?1170 using ,)


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

(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using , ?854 using , ?855 using , ?856 using , ?857 using , ?869 using , ?992 using , ?993 using , ?994 using , ?995 using , ?1066 using , ?1067 using , ?1068 using , ?1069 using , ?1169 using , ?1170 using , ?1274 using , ?1275 using ,)


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

(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using , ?854 using , ?855 using , ?856 using , ?857 using , ?869 using , ?992 using , ?993 using , ?994 using , ?995 using , ?1066 using , ?1067 using , ?1068 using , ?1069 using , ?1169 using , ?1170 using , ?1274 using , ?1275 using ,)


change !s with (!s 1 # n0); eauto.
No more subgoals.
(dependent evars: ?384 using , ?385 using , ?386 using , ?387 using , ?388 using , ?464 using , ?465 using , ?466 using , ?467 using , ?474 using , ?475 using , ?476 using , ?477 using , ?478 using , ?489 using , ?490 using , ?491 using , ?499 using , ?500 using , ?501 using , ?502 using , ?503 using , ?519 using , ?520 using , ?521 using , ?522 using , ?535 using , ?536 using , ?537 using , ?538 using , ?556 using , ?557 using , ?558 using , ?559 using , ?572 using , ?573 using , ?574 using , ?575 using , ?587 using , ?588 using , ?589 using , ?590 using , ?606 using , ?607 using , ?608 using , ?614 using , ?615 using , ?616 using , ?617 using , ?628 using , ?629 using , ?630 using , ?631 using , ?643 using , ?644 using , ?645 using , ?646 using , ?657 using , ?658 using , ?659 using , ?660 using , ?676 using , ?677 using , ?678 using , ?679 using , ?688 using , ?689 using , ?690 using , ?691 using , ?702 using , ?703 using , ?704 using , ?705 using , ?716 using , ?717 using , ?718 using , ?719 using , ?730 using , ?731 using , ?732 using , ?733 using , ?744 using , ?745 using , ?746 using , ?747 using , ?759 using , ?760 using , ?761 using , ?762 using , ?774 using , ?775 using , ?776 using , ?777 using , ?790 using , ?791 using , ?792 using , ?793 using , ?806 using , ?807 using , ?808 using , ?809 using , ?822 using , ?823 using , ?824 using , ?825 using , ?838 using , ?839 using , ?840 using , ?841 using , ?854 using , ?855 using , ?856 using , ?857 using , ?869 using , ?992 using , ?993 using , ?994 using , ?995 using , ?1066 using , ?1067 using , ?1068 using , ?1069 using , ?1169 using , ?1170 using , ?1274 using , ?1275 using , ?1288 using , ?1289 using , ?1290 using , ?1291 using ,)


Qed.
weakening is defined



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

(dependent evars:)


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

(dependent evars:)


eapply weakening.
3 subgoals, subgoal 1 (ID 1346)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  A' : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : T
  H0 : Γ ⊢ A ▹ A' : !s
  ============================
   ?1345 ⊢ M ▹ N : T

subgoal 2 (ID 1349) is:
 ins_in_env ?1347 ?1348 0 ?1345 (A :: Γ)
subgoal 3 (ID 1352) is:
 ?1347 ⊢ ?1348 ▹ ?1350 : !?1351
(dependent evars: ?1337 using ?1345 , ?1338 using ?1347 , ?1339 using ?1348 , ?1340 using ?1350 , ?1341 using ?1351 , ?1345 open, ?1347 open, ?1348 open, ?1350 open, ?1351 open,)

apply H.
2 subgoals, subgoal 1 (ID 1349)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  A' : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : T
  H0 : Γ ⊢ A ▹ A' : !s
  ============================
   ins_in_env ?1347 ?1348 0 Γ (A :: Γ)

subgoal 2 (ID 1352) is:
 ?1347 ⊢ ?1348 ▹ ?1350 : !?1351
(dependent evars: ?1337 using ?1345 , ?1338 using ?1347 , ?1339 using ?1348 , ?1340 using ?1350 , ?1341 using ?1351 , ?1345 using , ?1347 open, ?1348 open, ?1350 open, ?1351 open,)

constructor.
1 subgoals, subgoal 1 (ID 1352)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  A' : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : T
  H0 : Γ ⊢ A ▹ A' : !s
  ============================
   Γ ⊢ A ▹ ?1350 : !?1351

(dependent evars: ?1337 using ?1345 , ?1338 using ?1347 , ?1339 using ?1348 , ?1340 using ?1350 , ?1341 using ?1351 , ?1345 using , ?1347 using , ?1348 using , ?1350 open, ?1351 open,)

apply H0.
No more subgoals.
(dependent evars: ?1337 using ?1345 , ?1338 using ?1347 , ?1339 using ?1348 , ?1340 using ?1350 , ?1341 using ?1351 , ?1345 using , ?1347 using , ?1348 using , ?1350 using , ?1351 using ,)


Qed.
thinning is defined



Theorem thinning_reds :
   forall Γ M N T A A' s,
      Γ M ▹▹ N : T ->
   Γ A A' : !s ->
   A::Γ M 1 ▹▹ N 1 : T 1.
1 subgoals, subgoal 1 (ID 1372)
  
  ============================
   forall (Γ : Env) (M N T A A' : Term) (s : Sorts),
   Γ ⊢ M ▹▹ N : T -> Γ ⊢ A ▹ A' : !s -> A :: Γ ⊢ M ↑ 1 ▹▹ N ↑ 1 : T ↑ 1

(dependent evars:)


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

(dependent evars:)


eapply weakening.
3 subgoals, subgoal 1 (ID 1405)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  A' : Term
  s : Sorts
  H : Γ ⊢ M ▹▹ N : T
  H0 : Γ ⊢ A ▹ A' : !s
  ============================
   ?1404 ⊢ M ▹▹ N : T

subgoal 2 (ID 1408) is:
 ins_in_env ?1406 ?1407 0 ?1404 (A :: Γ)
subgoal 3 (ID 1411) is:
 ?1406 ⊢ ?1407 ▹ ?1409 : !?1410
(dependent evars: ?1388 using ?1396 , ?1389 using ?1398 , ?1390 using ?1399 , ?1391 using ?1401 , ?1392 using ?1402 , ?1396 using ?1404 , ?1398 using ?1406 , ?1399 using ?1407 , ?1401 using ?1409 , ?1402 using ?1410 , ?1404 open, ?1406 open, ?1407 open, ?1409 open, ?1410 open,)

apply H.
2 subgoals, subgoal 1 (ID 1408)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  A' : Term
  s : Sorts
  H : Γ ⊢ M ▹▹ N : T
  H0 : Γ ⊢ A ▹ A' : !s
  ============================
   ins_in_env ?1406 ?1407 0 Γ (A :: Γ)

subgoal 2 (ID 1411) is:
 ?1406 ⊢ ?1407 ▹ ?1409 : !?1410
(dependent evars: ?1388 using ?1396 , ?1389 using ?1398 , ?1390 using ?1399 , ?1391 using ?1401 , ?1392 using ?1402 , ?1396 using ?1404 , ?1398 using ?1406 , ?1399 using ?1407 , ?1401 using ?1409 , ?1402 using ?1410 , ?1404 using , ?1406 open, ?1407 open, ?1409 open, ?1410 open,)

constructor.
1 subgoals, subgoal 1 (ID 1411)
  
  Γ : Env
  M : Term
  N : Term
  T : Term
  A : Term
  A' : Term
  s : Sorts
  H : Γ ⊢ M ▹▹ N : T
  H0 : Γ ⊢ A ▹ A' : !s
  ============================
   Γ ⊢ A ▹ ?1409 : !?1410

(dependent evars: ?1388 using ?1396 , ?1389 using ?1398 , ?1390 using ?1399 , ?1391 using ?1401 , ?1392 using ?1402 , ?1396 using ?1404 , ?1398 using ?1406 , ?1399 using ?1407 , ?1401 using ?1409 , ?1402 using ?1410 , ?1404 using , ?1406 using , ?1407 using , ?1409 open, ?1410 open,)

apply H0.
No more subgoals.
(dependent evars: ?1388 using ?1396 , ?1389 using ?1398 , ?1390 using ?1399 , ?1391 using ?1401 , ?1392 using ?1402 , ?1396 using ?1404 , ?1398 using ?1406 , ?1399 using ?1407 , ?1401 using ?1409 , ?1402 using ?1410 , ?1404 using , ?1406 using , ?1407 using , ?1409 using , ?1410 using ,)


Qed.
thinning_reds is defined



Lemma wf_from_typ : forall Γ M N T, Γ M N : T -> Γ .
1 subgoals, subgoal 1 (ID 1427)
  
  ============================
   forall (Γ : Env) (M N T : Term), Γ ⊢ M ▹ N : T -> Γ ⊣

(dependent evars:)


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


Qed.
wf_from_typ is defined



Lemma wf_from_typ_reds : forall Γ M N T, Γ M ▹▹ N : T -> Γ .
1 subgoals, subgoal 1 (ID 1610)
  
  ============================
   forall (Γ : Env) (M N T : Term), Γ ⊢ M ▹▹ N : T -> Γ ⊣

(dependent evars:)


induction 1.
2 subgoals, subgoal 1 (ID 1632)
  
  Γ : Env
  s : Term
  t : Term
  T : Term
  H : Γ ⊢ s ▹ t : T
  ============================
   Γ ⊣

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

apply wf_from_typ in H; trivial.
1 subgoals, subgoal 1 (ID 1642)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  T : Term
  H : Γ ⊢ s ▹▹ t : T
  H0 : Γ ⊢ t ▹▹ u : T
  IHtyp_reds1 : Γ ⊣
  IHtyp_reds2 : Γ ⊣
  ============================
   Γ ⊣

(dependent evars:)


trivial.
No more subgoals.
(dependent evars:)


Qed.
wf_from_typ_reds is defined



Hint Resolve wf_from_typ wf_from_typ_reds.
Warning: the hint: eapply wf_from_typ will only be used by eauto
Warning: the hint: eapply wf_from_typ_reds will only be used by eauto



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

(dependent evars:)


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

subgoal 2 (ID 1682) is:
 Δ ⊢ M ↑ (S n) ▹ N ↑ (S n) : T ↑ (S n)
(dependent evars:)


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

subgoal 2 (ID 1682) is:
 Δ ⊢ M ↑ (S n) ▹ N ↑ (S n) : T ↑ (S n)
(dependent evars:)

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

(dependent evars:)



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

(dependent evars:)


change (S n) with (1+n).
1 subgoals, subgoal 1 (ID 1812)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣
  ============================
   x :: Γ ⊢ 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 1816)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣
  ============================
   x :: Γ ⊢ 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 1821)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣
  ============================
   x :: Γ ⊢ 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 1826)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣
  ============================
   x :: Γ ⊢ M ↑ n ↑ 1 ▹ N ↑ n ↑ 1 : T ↑ n ↑ 1

(dependent evars:)


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

(dependent evars:)


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

subgoal 2 (ID 1881) is:
 Γ ⊢ x ▹ ?1878 : !?1879
(dependent evars: ?1878 open, ?1879 open,)

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

subgoal 2 (ID 1884) is:
 ?1882 ⊢ M ▹ N : T
subgoal 3 (ID 1885) is:
 Γ ⊣
subgoal 4 (ID 1881) is:
 Γ ⊢ x ▹ ?1878 : !?1879
(dependent evars: ?1878 open, ?1879 open, ?1882 open,)

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

subgoal 2 (ID 1885) is:
 Γ ⊣
subgoal 3 (ID 1881) is:
 Γ ⊢ x ▹ ?1878 : !?1879
(dependent evars: ?1878 open, ?1879 open, ?1882 using ,)

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

subgoal 2 (ID 1881) is:
 Γ ⊢ x ▹ ?1878 : !?1879
(dependent evars: ?1878 open, ?1879 open, ?1882 using ,)


apply wf_from_typ in H2; trivial.
1 subgoals, subgoal 1 (ID 1881)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  A' : Term
  s : Sorts
  H2 : Γ ⊢ x ▹ A' : !s
  ============================
   Γ ⊢ x ▹ ?1878 : !?1879

(dependent evars: ?1878 open, ?1879 open, ?1882 using ,)


apply H2.
No more subgoals.
(dependent evars: ?1878 using , ?1879 using , ?1882 using ,)


Qed.
thinning_n is defined



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

(dependent evars:)


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

subgoal 2 (ID 1929) is:
 Δ ⊢ M ↑ (S n) ▹▹ N ↑ (S n) : T ↑ (S n)
(dependent evars:)


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

subgoal 2 (ID 1929) is:
 Δ ⊢ M ↑ (S n) ▹▹ N ↑ (S n) : T ↑ (S n)
(dependent evars:)

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

(dependent evars:)



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

(dependent evars:)


change (S n) with (1+n).
1 subgoals, subgoal 1 (ID 2059)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣
  ============================
   x :: Γ ⊢ 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 2063)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣
  ============================
   x :: Γ ⊢ 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 2068)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣
  ============================
   x :: Γ ⊢ 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 2073)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  H1 : x :: Γ ⊣
  ============================
   x :: Γ ⊢ M ↑ n ↑ 1 ▹▹ N ↑ n ↑ 1 : T ↑ n ↑ 1

(dependent evars:)


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

(dependent evars:)


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

subgoal 2 (ID 2128) is:
 Γ ⊢ x ▹ ?2125 : !?2126
(dependent evars: ?2125 open, ?2126 open,)

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

subgoal 2 (ID 2131) is:
 ?2129 ⊢ M ▹▹ N : T
subgoal 3 (ID 2132) is:
 Γ ⊣
subgoal 4 (ID 2128) is:
 Γ ⊢ x ▹ ?2125 : !?2126
(dependent evars: ?2125 open, ?2126 open, ?2129 open,)

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

subgoal 2 (ID 2132) is:
 Γ ⊣
subgoal 3 (ID 2128) is:
 Γ ⊢ x ▹ ?2125 : !?2126
(dependent evars: ?2125 open, ?2126 open, ?2129 using ,)

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

subgoal 2 (ID 2128) is:
 Γ ⊢ x ▹ ?2125 : !?2126
(dependent evars: ?2125 open, ?2126 open, ?2129 using ,)


apply wf_from_typ in H2; trivial.
1 subgoals, subgoal 1 (ID 2128)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall M N T : Term,
        Δ' ⊢ M ▹▹ N : T -> Δ ⊣ -> Δ ⊢ M ↑ n ▹▹ N ↑ n : T ↑ n
  Δ' : list Term
  M : Term
  N : Term
  T : Term
  H0 : Δ' ⊢ M ▹▹ N : T
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  A' : Term
  s : Sorts
  H2 : Γ ⊢ x ▹ A' : !s
  ============================
   Γ ⊢ x ▹ ?2125 : !?2126

(dependent evars: ?2125 open, ?2126 open, ?2129 using ,)


apply H2.
No more subgoals.
(dependent evars: ?2125 using , ?2126 using , ?2129 using ,)


Qed.
thinning_reds_n is defined



In order to prove substitution for PTS{atr}, we first need to prove some context conversion lemmas, because of the new annotation we added. We will first prove some weak form of conversion, where the ending context is supposed to be welltyped. As soon as we will have the substitution property, we will be able to prove that it's in fact always the case. Reduction in context definition .
Inductive env_red1 : Env -> Env -> Prop :=
 | red1_intro : forall Γ A B s , Γ A B : !s -> env_red1 (A::Γ) (B::Γ)
 | red1_next : forall A Γ Γ', env_red1 Γ Γ' -> env_red1 (A::Γ) (A::Γ')
.
env_red1 is defined
env_red1_ind is defined



Hint Constructors env_red1.
Warning: the hint: eapply red1_intro will only be used by eauto



Inductive env_red : Env -> Env -> Prop :=
 | r_step : forall Γ Γ', env_red1 Γ Γ' -> env_red Γ Γ'
 | r_refl : forall Γ , env_red Γ Γ
 | r_trans : forall Γ Γ' Γ'', env_red Γ Γ' -> env_red Γ' Γ'' -> env_red Γ Γ''.
env_red is defined
env_red_ind is defined



Hint Constructors env_red.
Warning: the hint: eapply r_trans will only be used by eauto



 Lemma red_item : forall n A Γ Γ' , A n Γ -> env_red1 Γ Γ' -> Γ' -> A n Γ' \/
   (forall Γ'', trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\ (exists B, exists s, Γ' A B : !s /\ B n Γ').
1 subgoals, subgoal 1 (ID 2177)
  
  ============================
   forall (n : nat) (A : Term) (Γ Γ' : Env),
   A ↓ n ⊂ Γ ->
   env_red1 Γ Γ' ->
   Γ' ⊣ ->
   A ↓ n ⊂ Γ' \/
   (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
   (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')

(dependent evars:)


induction n; intros.
2 subgoals, subgoal 1 (ID 2190)
  
  A : Term
  Γ : Env
  Γ' : Env
  H : A ↓ 0 ⊂ Γ
  H0 : env_red1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   A ↓ 0 ⊂ Γ' \/
   (forall Γ'' : list Term, trunc 1 Γ Γ'' -> trunc 1 Γ' Γ'') /\
   (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ 0 ⊂ Γ')

subgoal 2 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

destruct H as (a & ?& ?).
2 subgoals, subgoal 1 (ID 2207)
  
  A : Term
  Γ : Env
  Γ' : Env
  a : Term
  H : A = a ↑ 1
  H2 : a ↓ 0 ∈ Γ
  H0 : env_red1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   A ↓ 0 ⊂ Γ' \/
   (forall Γ'' : list Term, trunc 1 Γ Γ'' -> trunc 1 Γ' Γ'') /\
   (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ 0 ⊂ Γ')

subgoal 2 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

inversion H2; subst; clear H2.
2 subgoals, subgoal 1 (ID 2256)
  
  Γ' : Env
  a : Term
  H1 : Γ' ⊣
  l : list Term
  H0 : env_red1 (a :: l) Γ'
  ============================
   a ↑ 1 ↓ 0 ⊂ Γ' \/
   (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 Γ' Γ'') /\
   (exists (B : Term) (s : Sorts), (Γ' ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ Γ')

subgoal 2 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)


 inversion H0; subst; clear H0.
3 subgoals, subgoal 1 (ID 2354)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  H1 : B :: l ⊣
  ============================
   a ↑ 1 ↓ 0 ⊂ B :: l \/
   (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (B :: l) Γ'') /\
   (exists (B0 : Term) (s0 : Sorts),
      (B :: l ⊢ a ↑ 1 ▹ B0 : !s0) /\ B0 ↓ 0 ⊂ B :: l)

subgoal 2 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 3 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

inversion H1; subst; clear H1.
3 subgoals, subgoal 1 (ID 2405)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  ============================
   a ↑ 1 ↓ 0 ⊂ B :: l \/
   (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (B :: l) Γ'') /\
   (exists (B0 : Term) (s1 : Sorts),
      (B :: l ⊢ a ↑ 1 ▹ B0 : !s1) /\ B0 ↓ 0 ⊂ B :: l)

subgoal 2 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 3 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

right.
3 subgoals, subgoal 1 (ID 2407)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  ============================
   (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (B :: l) Γ'') /\
   (exists (B0 : Term) (s1 : Sorts),
      (B :: l ⊢ a ↑ 1 ▹ B0 : !s1) /\ B0 ↓ 0 ⊂ B :: l)

subgoal 2 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 3 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

split; intros.
4 subgoals, subgoal 1 (ID 2412)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  Γ'' : list Term
  H : trunc 1 (a :: l) Γ''
  ============================
   trunc 1 (B :: l) Γ''

subgoal 2 (ID 2410) is:
 exists (B0 : Term) (s1 : Sorts),
   (B :: l ⊢ a ↑ 1 ▹ B0 : !s1) /\ B0 ↓ 0 ⊂ B :: l
subgoal 3 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 4 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)


 inversion H; subst; clear H.
4 subgoals, subgoal 1 (ID 2485)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  Γ'' : list Term
  H6 : trunc 0 l Γ''
  ============================
   trunc 1 (B :: l) Γ''

subgoal 2 (ID 2410) is:
 exists (B0 : Term) (s1 : Sorts),
   (B :: l ⊢ a ↑ 1 ▹ B0 : !s1) /\ B0 ↓ 0 ⊂ B :: l
subgoal 3 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 4 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

constructor; intuition.
3 subgoals, subgoal 1 (ID 2410)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  ============================
   exists (B0 : Term) (s1 : Sorts),
     (B :: l ⊢ a ↑ 1 ▹ B0 : !s1) /\ B0 ↓ 0 ⊂ B :: l

subgoal 2 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 3 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

exists (B 1); exists s; split.
4 subgoals, subgoal 1 (ID 2494)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  ============================
   B :: l ⊢ a ↑ 1 ▹ B ↑ 1 : !s

subgoal 2 (ID 2495) is:
 B ↑ 1 ↓ 0 ⊂ B :: l
subgoal 3 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 4 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)


 change !s with (!s 1).
4 subgoals, subgoal 1 (ID 2497)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  ============================
   B :: l ⊢ a ↑ 1 ▹ B ↑ 1 : !s ↑ 1

subgoal 2 (ID 2495) is:
 B ↑ 1 ↓ 0 ⊂ B :: l
subgoal 3 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 4 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

eapply thinning.
5 subgoals, subgoal 1 (ID 2500)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  ============================
   l ⊢ a ▹ B : !s

subgoal 2 (ID 2501) is:
 l ⊢ B ▹ ?2498 : !?2499
subgoal 3 (ID 2495) is:
 B ↑ 1 ↓ 0 ⊂ B :: l
subgoal 4 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 5 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars: ?2498 open, ?2499 open,)

trivial.
4 subgoals, subgoal 1 (ID 2501)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  ============================
   l ⊢ B ▹ ?2498 : !?2499

subgoal 2 (ID 2495) is:
 B ↑ 1 ↓ 0 ⊂ B :: l
subgoal 3 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 4 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars: ?2498 open, ?2499 open,)

apply H0.
3 subgoals, subgoal 1 (ID 2495)
  
  a : Term
  l : list Term
  B : Term
  s : Sorts
  H4 : l ⊢ a ▹ B : !s
  A' : Term
  s0 : Sorts
  H0 : l ⊢ B ▹ A' : !s0
  ============================
   B ↑ 1 ↓ 0 ⊂ B :: l

subgoal 2 (ID 2355) is:
 a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)
subgoal 3 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars: ?2498 using , ?2499 using ,)

exists B; intuition.
2 subgoals, subgoal 1 (ID 2355)
  
  a : Term
  l : list Term
  Γ'0 : Env
  H4 : env_red1 l Γ'0
  H1 : a :: Γ'0 ⊣
  ============================
   a ↑ 1 ↓ 0 ⊂ a :: Γ'0 \/
   (forall Γ'' : list Term, trunc 1 (a :: l) Γ'' -> trunc 1 (a :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (a :: Γ'0 ⊢ a ↑ 1 ▹ B : !s) /\ B ↓ 0 ⊂ a :: Γ'0)

subgoal 2 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars: ?2498 using , ?2499 using ,)


 left.
2 subgoals, subgoal 1 (ID 2518)
  
  a : Term
  l : list Term
  Γ'0 : Env
  H4 : env_red1 l Γ'0
  H1 : a :: Γ'0 ⊣
  ============================
   a ↑ 1 ↓ 0 ⊂ a :: Γ'0

subgoal 2 (ID 2196) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')
(dependent evars: ?2498 using , ?2499 using ,)

exists a; intuition.
1 subgoals, subgoal 1 (ID 2196)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A : Term
  Γ : Env
  Γ' : Env
  H : A ↓ S n ⊂ Γ
  H0 : env_red1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   A ↓ S n ⊂ Γ' \/
   (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
   (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ Γ')

(dependent evars: ?2498 using , ?2499 using ,)



 inversion H0; subst; clear H0.
2 subgoals, subgoal 1 (ID 2604)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A : Term
  Γ0 : Env
  A0 : Term
  B : Term
  s : Sorts
  H2 : Γ0 ⊢ A0 ▹ B : !s
  H1 : B :: Γ0 ⊣
  H : A ↓ S n ⊂ A0 :: Γ0
  ============================
   A ↓ S n ⊂ B :: Γ0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (B :: Γ0) Γ'') /\
   (exists (B0 : Term) (s0 : Sorts),
      (B :: Γ0 ⊢ A ▹ B0 : !s0) /\ B0 ↓ S n ⊂ B :: Γ0)

subgoal 2 (ID 2605) is:
 A ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

destruct H as (a & ?& ?).
2 subgoals, subgoal 1 (ID 2613)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A : Term
  Γ0 : Env
  A0 : Term
  B : Term
  s : Sorts
  H2 : Γ0 ⊢ A0 ▹ B : !s
  H1 : B :: Γ0 ⊣
  a : Term
  H : A = a ↑ (S (S n))
  H0 : a ↓ S n ∈ A0 :: Γ0
  ============================
   A ↓ S n ⊂ B :: Γ0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (B :: Γ0) Γ'') /\
   (exists (B0 : Term) (s0 : Sorts),
      (B :: Γ0 ⊢ A ▹ B0 : !s0) /\ B0 ↓ S n ⊂ B :: Γ0)

subgoal 2 (ID 2605) is:
 A ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

inversion H0; subst; clear H0.
2 subgoals, subgoal 1 (ID 2690)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  Γ0 : Env
  A0 : Term
  B : Term
  s : Sorts
  H2 : Γ0 ⊢ A0 ▹ B : !s
  H1 : B :: Γ0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  ============================
   a ↑ (S (S n)) ↓ S n ⊂ B :: Γ0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (B :: Γ0) Γ'') /\
   (exists (B0 : Term) (s0 : Sorts),
      (B :: Γ0 ⊢ a ↑ (S (S n)) ▹ B0 : !s0) /\ B0 ↓ S n ⊂ B :: Γ0)

subgoal 2 (ID 2605) is:
 A ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)


 left.
2 subgoals, subgoal 1 (ID 2692)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  Γ0 : Env
  A0 : Term
  B : Term
  s : Sorts
  H2 : Γ0 ⊢ A0 ▹ B : !s
  H1 : B :: Γ0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  ============================
   a ↑ (S (S n)) ↓ S n ⊂ B :: Γ0

subgoal 2 (ID 2605) is:
 A ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

exists a; split.
3 subgoals, subgoal 1 (ID 2696)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  Γ0 : Env
  A0 : Term
  B : Term
  s : Sorts
  H2 : Γ0 ⊢ A0 ▹ B : !s
  H1 : B :: Γ0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  ============================
   a ↑ (S (S n)) = a ↑ (S (S n))

subgoal 2 (ID 2697) is:
 a ↓ S n ∈ B :: Γ0
subgoal 3 (ID 2605) is:
 A ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

trivial.
2 subgoals, subgoal 1 (ID 2697)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  Γ0 : Env
  A0 : Term
  B : Term
  s : Sorts
  H2 : Γ0 ⊢ A0 ▹ B : !s
  H1 : B :: Γ0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  ============================
   a ↓ S n ∈ B :: Γ0

subgoal 2 (ID 2605) is:
 A ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

constructor; trivial.
1 subgoals, subgoal 1 (ID 2605)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A : Term
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  H : A ↓ S n ⊂ A0 :: Γ0
  ============================
   A ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

(dependent evars: ?2498 using , ?2499 using ,)

destruct H as (a & ? & ?).
1 subgoals, subgoal 1 (ID 2708)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A : Term
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H : A = a ↑ (S (S n))
  H0 : a ↓ S n ∈ A0 :: Γ0
  ============================
   A ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ A ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

(dependent evars: ?2498 using , ?2499 using ,)


 inversion H0; subst; clear H0.
1 subgoals, subgoal 1 (ID 2785)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  ============================
   a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

(dependent evars: ?2498 using , ?2499 using ,)

destruct (IHn (a (S n)) Γ0 Γ'0); trivial.
4 subgoals, subgoal 1 (ID 2794)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  ============================
   a ↑ (S n) ↓ n ⊂ Γ0

subgoal 2 (ID 2798) is:
 Γ'0 ⊣
subgoal 3 (ID 2803) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
subgoal 4 (ID 2804) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)


 exists a; intuition.
3 subgoals, subgoal 1 (ID 2798)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  ============================
   Γ'0 ⊣

subgoal 2 (ID 2803) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
subgoal 3 (ID 2804) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

inversion H1; subst; clear H1.
3 subgoals, subgoal 1 (ID 2860)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  a : Term
  H4 : a ↓ n ∈ Γ0
  A' : Term
  s : Sorts
  H0 : Γ'0 ⊢ A0 ▹ A' : !s
  ============================
   Γ'0 ⊣

subgoal 2 (ID 2803) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
subgoal 3 (ID 2804) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

apply wf_from_typ in H0; trivial.
2 subgoals, subgoal 1 (ID 2803)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : a ↑ (S n) ↓ n ⊂ Γ'0
  ============================
   a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

subgoal 2 (ID 2804) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)


 destruct H as ( ? & ?& ?).
2 subgoals, subgoal 1 (ID 2870)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  x : Term
  H : a ↑ (S n) = x ↑ (S n)
  H0 : x ↓ n ∈ Γ'0
  ============================
   a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

subgoal 2 (ID 2804) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

apply inv_lift in H; subst.
2 subgoals, subgoal 1 (ID 2877)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  x : Term
  H0 : x ↓ n ∈ Γ'0
  H4 : x ↓ n ∈ Γ0
  ============================
   x ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ x ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

subgoal 2 (ID 2804) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

left.
2 subgoals, subgoal 1 (ID 2879)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  x : Term
  H0 : x ↓ n ∈ Γ'0
  H4 : x ↓ n ∈ Γ0
  ============================
   x ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0

subgoal 2 (ID 2804) is:
 a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
 (exists (B : Term) (s : Sorts),
    (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)
(dependent evars: ?2498 using , ?2499 using ,)

exists x; intuition.
1 subgoals, subgoal 1 (ID 2804)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : (forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ'') /\
      (exists (B : Term) (s : Sorts),
         (Γ'0 ⊢ a ↑ (S n) ▹ B : !s) /\ B ↓ n ⊂ Γ'0)
  ============================
   a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

(dependent evars: ?2498 using , ?2499 using ,)


 destruct H.
1 subgoals, subgoal 1 (ID 2901)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  H0 : exists (B : Term) (s : Sorts),
         (Γ'0 ⊢ a ↑ (S n) ▹ B : !s) /\ B ↓ n ⊂ Γ'0
  ============================
   a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

(dependent evars: ?2498 using , ?2499 using ,)

destruct H0 as ( a' & s' & ? & ?).
1 subgoals, subgoal 1 (ID 2913)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  ============================
   a ↑ (S (S n)) ↓ S n ⊂ A0 :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

(dependent evars: ?2498 using , ?2499 using ,)

right.
1 subgoals, subgoal 1 (ID 2915)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  ============================
   (forall Γ'' : list Term,
    trunc (S (S n)) (A0 :: Γ0) Γ'' -> trunc (S (S n)) (A0 :: Γ'0) Γ'') /\
   (exists (B : Term) (s : Sorts),
      (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0)

(dependent evars: ?2498 using , ?2499 using ,)

split; intros.
2 subgoals, subgoal 1 (ID 2920)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  Γ'' : list Term
  H5 : trunc (S (S n)) (A0 :: Γ0) Γ''
  ============================
   trunc (S (S n)) (A0 :: Γ'0) Γ''

subgoal 2 (ID 2918) is:
 exists (B : Term) (s : Sorts),
   (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using ,)


 inversion H5; subst; clear H5.
2 subgoals, subgoal 1 (ID 2993)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  Γ'' : list Term
  H10 : trunc (S n) Γ0 Γ''
  ============================
   trunc (S (S n)) (A0 :: Γ'0) Γ''

subgoal 2 (ID 2918) is:
 exists (B : Term) (s : Sorts),
   (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using ,)

constructor.
2 subgoals, subgoal 1 (ID 2996)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  Γ'' : list Term
  H10 : trunc (S n) Γ0 Γ''
  ============================
   trunc (S n) Γ'0 Γ''

subgoal 2 (ID 2918) is:
 exists (B : Term) (s : Sorts),
   (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using ,)

intuition.
1 subgoals, subgoal 1 (ID 2918)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  ============================
   exists (B : Term) (s : Sorts),
     (A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ B : !s) /\ B ↓ S n ⊂ A0 :: Γ'0

(dependent evars: ?2498 using , ?2499 using ,)


 exists ( a' 1); exists s'; split.
2 subgoals, subgoal 1 (ID 3020)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  ============================
   A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ a' ↑ 1 : !s'

subgoal 2 (ID 3021) is:
 a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using ,)

change !s' with (!s' 1).
2 subgoals, subgoal 1 (ID 3023)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  ============================
   A0 :: Γ'0 ⊢ a ↑ (S (S n)) ▹ a' ↑ 1 : !s' ↑ 1

subgoal 2 (ID 3021) is:
 a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using ,)

change (S (S n)) with (1+ S n).
2 subgoals, subgoal 1 (ID 3025)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  ============================
   A0 :: Γ'0 ⊢ a ↑ (1 + S n) ▹ a' ↑ 1 : !s' ↑ 1

subgoal 2 (ID 3021) is:
 a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using ,)


 rewrite <- lift_lift.
2 subgoals, subgoal 1 (ID 3026)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  ============================
   A0 :: Γ'0 ⊢ a ↑ (S n) ↑ 1 ▹ a' ↑ 1 : !s' ↑ 1

subgoal 2 (ID 3021) is:
 a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using ,)

inversion H1; subst; clear H1.
2 subgoals, subgoal 1 (ID 3076)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  A' : Term
  s : Sorts
  H6 : Γ'0 ⊢ A0 ▹ A' : !s
  ============================
   A0 :: Γ'0 ⊢ a ↑ (S n) ↑ 1 ▹ a' ↑ 1 : !s' ↑ 1

subgoal 2 (ID 3021) is:
 a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using ,)

eapply thinning.
3 subgoals, subgoal 1 (ID 3079)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  A' : Term
  s : Sorts
  H6 : Γ'0 ⊢ A0 ▹ A' : !s
  ============================
   Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'

subgoal 2 (ID 3080) is:
 Γ'0 ⊢ A0 ▹ ?3077 : !?3078
subgoal 3 (ID 3021) is:
 a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using , ?3077 open, ?3078 open,)

trivial.
2 subgoals, subgoal 1 (ID 3080)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  A' : Term
  s : Sorts
  H6 : Γ'0 ⊢ A0 ▹ A' : !s
  ============================
   Γ'0 ⊢ A0 ▹ ?3077 : !?3078

subgoal 2 (ID 3021) is:
 a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using , ?3077 open, ?3078 open,)

apply H6.
1 subgoals, subgoal 1 (ID 3021)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  H3 : a' ↓ n ⊂ Γ'0
  ============================
   a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0

(dependent evars: ?2498 using , ?2499 using , ?3077 using , ?3078 using ,)


 destruct H3 as (b & ?& ?).
1 subgoals, subgoal 1 (ID 3088)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  b : Term
  H3 : a' = b ↑ (S n)
  H5 : b ↓ n ∈ Γ'0
  ============================
   a' ↑ 1 ↓ S n ⊂ A0 :: Γ'0

(dependent evars: ?2498 using , ?2499 using , ?3077 using , ?3078 using ,)

exists b; split.
2 subgoals, subgoal 1 (ID 3092)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  b : Term
  H3 : a' = b ↑ (S n)
  H5 : b ↓ n ∈ Γ'0
  ============================
   a' ↑ 1 = b ↑ (S (S n))

subgoal 2 (ID 3093) is:
 b ↓ S n ∈ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using , ?3077 using , ?3078 using ,)

subst.
2 subgoals, subgoal 1 (ID 3098)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  s' : Sorts
  b : Term
  H5 : b ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ b ↑ (S n) : !s'
  ============================
   b ↑ (S n) ↑ 1 = b ↑ (S (S n))

subgoal 2 (ID 3093) is:
 b ↓ S n ∈ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using , ?3077 using , ?3078 using ,)

rewrite lift_lift.
2 subgoals, subgoal 1 (ID 3099)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  s' : Sorts
  b : Term
  H5 : b ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ b ↑ (S n) : !s'
  ============================
   b ↑ (1 + S n) = b ↑ (S (S n))

subgoal 2 (ID 3093) is:
 b ↓ S n ∈ A0 :: Γ'0
(dependent evars: ?2498 using , ?2499 using , ?3077 using , ?3078 using ,)

trivial.
1 subgoals, subgoal 1 (ID 3093)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_red1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ n ⊂ Γ')
  A0 : Term
  Γ0 : Env
  Γ'0 : Env
  H2 : env_red1 Γ0 Γ'0
  H1 : A0 :: Γ'0 ⊣
  a : Term
  H4 : a ↓ n ∈ Γ0
  H : forall Γ'' : list Term, trunc (S n) Γ0 Γ'' -> trunc (S n) Γ'0 Γ''
  a' : Term
  s' : Sorts
  H0 : Γ'0 ⊢ a ↑ (S n) ▹ a' : !s'
  b : Term
  H3 : a' = b ↑ (S n)
  H5 : b ↓ n ∈ Γ'0
  ============================
   b ↓ S n ∈ A0 :: Γ'0

(dependent evars: ?2498 using , ?2499 using , ?3077 using , ?3078 using ,)

constructor; trivial.
No more subgoals.
(dependent evars: ?2498 using , ?2499 using , ?3077 using , ?3078 using ,)


Qed.
red_item is defined



Lemma red1_in_env : (forall Γ M N T, Γ M N : T -> forall Γ', Γ' -> env_red1 Γ Γ'-> Γ' M N : T ) /\
 (forall Γ M N T, Γ M ▹▹ N : T -> forall Γ', Γ' -> env_red1 Γ Γ'-> Γ' M ▹▹ N : T ) /\
 (forall Γ, Γ -> True).
1 subgoals, subgoal 1 (ID 3122)
  
  ============================
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢ M ▹ N : T -> forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ N : T) /\
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢ M ▹▹ N : T ->
    forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹▹ N : T) /\
   (forall Γ : Env, Γ ⊣ -> True)

(dependent evars:)


apply typ_induc; intros; simpl; trivial.
10 subgoals, subgoal 1 (ID 3295)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : Γ' ⊣
  H1 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 3296) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 3297) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)


destruct (red_item x A Γ Γ' i H1 H0).
11 subgoals, subgoal 1 (ID 3315)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : Γ' ⊣
  H1 : env_red1 Γ Γ'
  H2 : A ↓ x ⊂ Γ'
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 3316) is:
 Γ' ⊢ #x ▹ #x : A
subgoal 3 (ID 3296) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 3297) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 5 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 6 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 7 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 8 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 9 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 10 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 11 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

intuition.
10 subgoals, subgoal 1 (ID 3316)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : Γ' ⊣
  H1 : env_red1 Γ Γ'
  H2 : (forall Γ'' : list Term, trunc (S x) Γ Γ'' -> trunc (S x) Γ' Γ'') /\
       (exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ x ⊂ Γ')
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 3296) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 3297) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

destruct H2.
10 subgoals, subgoal 1 (ID 3333)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : Γ' ⊣
  H1 : env_red1 Γ Γ'
  H2 : forall Γ'' : list Term, trunc (S x) Γ Γ'' -> trunc (S x) Γ' Γ''
  H3 : exists (B : Term) (s : Sorts), (Γ' ⊢ A ▹ B : !s) /\ B ↓ x ⊂ Γ'
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 3296) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 3297) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

destruct H3 as (A' & s & ? & ?).
10 subgoals, subgoal 1 (ID 3345)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : Γ' ⊣
  H1 : env_red1 Γ Γ'
  H2 : forall Γ'' : list Term, trunc (S x) Γ Γ'' -> trunc (S x) Γ' Γ''
  A' : Term
  s : Sorts
  H3 : Γ' ⊢ A ▹ A' : !s
  H4 : A' ↓ x ⊂ Γ'
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 3296) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 3297) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)


apply typ_exp with A' s; trivial.
10 subgoals, subgoal 1 (ID 3346)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : Γ' ⊣
  H1 : env_red1 Γ Γ'
  H2 : forall Γ'' : list Term, trunc (S x) Γ Γ'' -> trunc (S x) Γ' Γ''
  A' : Term
  s : Sorts
  H3 : Γ' ⊢ A ▹ A' : !s
  H4 : A' ↓ x ⊂ Γ'
  ============================
   Γ' ⊢ #x ▹ #x : A'

subgoal 2 (ID 3296) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 3297) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

intuition.
9 subgoals, subgoal 1 (ID 3296)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  a : Ax s1 s2
  w : Γ ⊣
  H : True
  Γ' : Env
  H0 : Γ' ⊣
  H1 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ !s1 ▹ !s1 : !s2

subgoal 2 (ID 3297) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 3 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 4 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 5 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)


intuition.
8 subgoals, subgoal 1 (ID 3297)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  Γ' : Env
  H1 : Γ' ⊣
  H2 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3

subgoal 2 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 3 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)


apply typ_pi with s1 s2; intuition.
8 subgoals, subgoal 1 (ID 3379)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  Γ' : Env
  H1 : Γ' ⊣
  H2 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊢ B ▹ B' : !s2

subgoal 2 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 3 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

eapply H0.
9 subgoals, subgoal 1 (ID 3420)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  Γ' : Env
  H1 : Γ' ⊣
  H2 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊣

subgoal 2 (ID 3421) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 4 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 5 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

econstructor.
9 subgoals, subgoal 1 (ID 3426)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  Γ' : Env
  H1 : Γ' ⊣
  H2 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A ▹ ?3424 : !?3425

subgoal 2 (ID 3421) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 4 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 5 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 open, ?3425 open,)

apply H; trivial.
8 subgoals, subgoal 1 (ID 3421)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  Γ' : Env
  H1 : Γ' ⊣
  H2 : env_red1 Γ Γ'
  ============================
   env_red1 (A :: Γ) (A :: Γ')

subgoal 2 (ID 3298) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 3 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using ,)

intuition.
7 subgoals, subgoal 1 (ID 3298)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B

subgoal 2 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 3 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 4 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using ,)


apply typ_la with s1 s2 s3; intuition.
8 subgoals, subgoal 1 (ID 3449)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊢ B ▹ B : !s2

subgoal 2 (ID 3450) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 3 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using ,)


eapply H0.
9 subgoals, subgoal 1 (ID 3521)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊣

subgoal 2 (ID 3522) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3450) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 4 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 5 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using ,)

econstructor.
9 subgoals, subgoal 1 (ID 3527)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A ▹ ?3525 : !?3526

subgoal 2 (ID 3522) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3450) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 4 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 5 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 open, ?3526 open,)

apply H; trivial.
8 subgoals, subgoal 1 (ID 3522)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   env_red1 (A :: Γ) (A :: Γ')

subgoal 2 (ID 3450) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 3 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using ,)

intuition.
7 subgoals, subgoal 1 (ID 3450)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊢ M ▹ M' : B

subgoal 2 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 3 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 4 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using ,)


eapply H1.
8 subgoals, subgoal 1 (ID 3551)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊣

subgoal 2 (ID 3552) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using ,)

econstructor.
8 subgoals, subgoal 1 (ID 3557)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A ▹ ?3555 : !?3556

subgoal 2 (ID 3552) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 open, ?3556 open,)

apply H; trivial.
7 subgoals, subgoal 1 (ID 3552)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : Γ' ⊣
  H3 : env_red1 Γ Γ'
  ============================
   env_red1 (A :: Γ) (A :: Γ')

subgoal 2 (ID 3299) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 3 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 4 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using ,)

intuition.
6 subgoals, subgoal 1 (ID 3299)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]

subgoal 2 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 3 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 4 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 5 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 6 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using ,)


eapply typ_app.
10 subgoals, subgoal 1 (ID 3584)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   Rel ?3581 ?3582 ?3583

subgoal 2 (ID 3585) is:
 Γ' ⊢ A ▹ A' : !?3581
subgoal 3 (ID 3586) is:
 A :: Γ' ⊢ B ▹ B' : !?3582
subgoal 4 (ID 3587) is:
 Γ' ⊢ M ▹ M' : Π (A), B
subgoal 5 (ID 3588) is:
 Γ' ⊢ N ▹ N' : A
subgoal 6 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 open, ?3582 open, ?3583 open,)

apply r.
9 subgoals, subgoal 1 (ID 3585)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A ▹ A' : !s1

subgoal 2 (ID 3586) is:
 A :: Γ' ⊢ B ▹ B' : !s2
subgoal 3 (ID 3587) is:
 Γ' ⊢ M ▹ M' : Π (A), B
subgoal 4 (ID 3588) is:
 Γ' ⊢ N ▹ N' : A
subgoal 5 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using ,)

intuition.
8 subgoals, subgoal 1 (ID 3586)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊢ B ▹ B' : !s2

subgoal 2 (ID 3587) is:
 Γ' ⊢ M ▹ M' : Π (A), B
subgoal 3 (ID 3588) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using ,)


eapply H0.
9 subgoals, subgoal 1 (ID 3616)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊣

subgoal 2 (ID 3617) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3587) is:
 Γ' ⊢ M ▹ M' : Π (A), B
subgoal 4 (ID 3588) is:
 Γ' ⊢ N ▹ N' : A
subgoal 5 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using ,)

econstructor.
9 subgoals, subgoal 1 (ID 3622)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A ▹ ?3620 : !?3621

subgoal 2 (ID 3617) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3587) is:
 Γ' ⊢ M ▹ M' : Π (A), B
subgoal 4 (ID 3588) is:
 Γ' ⊢ N ▹ N' : A
subgoal 5 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 open, ?3621 open,)

apply H; trivial.
8 subgoals, subgoal 1 (ID 3617)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   env_red1 (A :: Γ) (A :: Γ')

subgoal 2 (ID 3587) is:
 Γ' ⊢ M ▹ M' : Π (A), B
subgoal 3 (ID 3588) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using ,)

intuition.
7 subgoals, subgoal 1 (ID 3587)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ M ▹ M' : Π (A), B

subgoal 2 (ID 3588) is:
 Γ' ⊢ N ▹ N' : A
subgoal 3 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 4 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using ,)


intuition.
6 subgoals, subgoal 1 (ID 3588)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : Γ' ⊣
  H4 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ N ▹ N' : A

subgoal 2 (ID 3300) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 3 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 4 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 5 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 6 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using ,)

intuition.
5 subgoals, subgoal 1 (ID 3300)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]

subgoal 2 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 3 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 4 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 5 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using ,)


eapply typ_beta.
12 subgoals, subgoal 1 (ID 3709)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Rel ?3706 ?3707 ?3708

subgoal 2 (ID 3710) is:
 Γ' ⊢ A ▹ A : !?3706
subgoal 3 (ID 3711) is:
 Γ' ⊢ A' ▹ A' : !?3706
subgoal 4 (ID 3712) is:
 Γ' ⊢ ?3705 ▹▹ A : !?3706
subgoal 5 (ID 3713) is:
 Γ' ⊢ ?3705 ▹▹ A' : !?3706
subgoal 6 (ID 3714) is:
 A :: Γ' ⊢ B ▹ B : !?3707
subgoal 7 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 8 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 9 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 10 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 11 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 12 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 open, ?3706 open, ?3707 open, ?3708 open,)

apply r.
11 subgoals, subgoal 1 (ID 3710)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A ▹ A : !s1

subgoal 2 (ID 3711) is:
 Γ' ⊢ A' ▹ A' : !s1
subgoal 3 (ID 3712) is:
 Γ' ⊢ ?3705 ▹▹ A : !s1
subgoal 4 (ID 3713) is:
 Γ' ⊢ ?3705 ▹▹ A' : !s1
subgoal 5 (ID 3714) is:
 A :: Γ' ⊢ B ▹ B : !s2
subgoal 6 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 7 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 8 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 9 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 10 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 11 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 open, ?3706 using , ?3707 using , ?3708 using ,)

apply H; intuition.
10 subgoals, subgoal 1 (ID 3711)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A' ▹ A' : !s1

subgoal 2 (ID 3712) is:
 Γ' ⊢ ?3705 ▹▹ A : !s1
subgoal 3 (ID 3713) is:
 Γ' ⊢ ?3705 ▹▹ A' : !s1
subgoal 4 (ID 3714) is:
 A :: Γ' ⊢ B ▹ B : !s2
subgoal 5 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 6 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 7 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 open, ?3706 using , ?3707 using , ?3708 using ,)

apply H0; intuition.
9 subgoals, subgoal 1 (ID 3712)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ ?3705 ▹▹ A : !s1

subgoal 2 (ID 3713) is:
 Γ' ⊢ ?3705 ▹▹ A' : !s1
subgoal 3 (ID 3714) is:
 A :: Γ' ⊢ B ▹ B : !s2
subgoal 4 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 5 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 6 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 open, ?3706 using , ?3707 using , ?3708 using ,)

apply H1; intuition.
8 subgoals, subgoal 1 (ID 3713)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A0 ▹▹ A' : !s1

subgoal 2 (ID 3714) is:
 A :: Γ' ⊢ B ▹ B : !s2
subgoal 3 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 4 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using ,)

intuition.
7 subgoals, subgoal 1 (ID 3714)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊢ B ▹ B : !s2

subgoal 2 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 3 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using ,)


eapply H3.
8 subgoals, subgoal 1 (ID 3756)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊣

subgoal 2 (ID 3757) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 4 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using ,)

econstructor.
8 subgoals, subgoal 1 (ID 3762)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A ▹ ?3760 : !?3761

subgoal 2 (ID 3757) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 4 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 5 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 open, ?3761 open,)

apply H; trivial.
7 subgoals, subgoal 1 (ID 3757)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   env_red1 (A :: Γ) (A :: Γ')

subgoal 2 (ID 3715) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 3 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using ,)

intuition.
6 subgoals, subgoal 1 (ID 3715)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊢ M ▹ M' : B

subgoal 2 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 3 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 4 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 5 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 6 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using ,)


eapply H4.
7 subgoals, subgoal 1 (ID 3797)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   A :: Γ' ⊣

subgoal 2 (ID 3798) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using ,)

econstructor.
7 subgoals, subgoal 1 (ID 3803)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ A ▹ ?3801 : !?3802

subgoal 2 (ID 3798) is:
 env_red1 (A :: Γ) (A :: Γ')
subgoal 3 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using , ?3801 open, ?3802 open,)

apply H; trivial.
6 subgoals, subgoal 1 (ID 3798)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   env_red1 (A :: Γ) (A :: Γ')

subgoal 2 (ID 3716) is:
 Γ' ⊢ N ▹ N' : A
subgoal 3 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 4 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 5 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 6 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using , ?3801 using , ?3802 using ,)

intuition.
5 subgoals, subgoal 1 (ID 3716)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, Γ' ⊣ -> env_red1 (A :: Γ) Γ' -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : Γ' ⊣
  H7 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ N ▹ N' : A

subgoal 2 (ID 3301) is:
 Γ' ⊢ M ▹ N : B
subgoal 3 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 4 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 5 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using , ?3801 using , ?3802 using ,)


intuition.
4 subgoals, subgoal 1 (ID 3301)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ N : A
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ B : !s
  Γ' : Env
  H1 : Γ' ⊣
  H2 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ M ▹ N : B

subgoal 2 (ID 3302) is:
 Γ' ⊢ M ▹ N : A
subgoal 3 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 4 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using , ?3801 using , ?3802 using ,)


apply typ_red with A s;intuition.
3 subgoals, subgoal 1 (ID 3302)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ M ▹ N : B
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ A ▹ B : !s
  Γ' : Env
  H1 : Γ' ⊣
  H2 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ M ▹ N : A

subgoal 2 (ID 3303) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 3 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using , ?3801 using , ?3802 using ,)


apply typ_exp with B s;intuition.
2 subgoals, subgoal 1 (ID 3303)
  
  Γ : Env
  s : Term
  t : Term
  T : Term
  t0 : Γ ⊢ s ▹ t : T
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ s ▹ t : T
  Γ' : Env
  H0 : Γ' ⊣
  H1 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ s ▹▹ t : T

subgoal 2 (ID 3304) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using , ?3801 using , ?3802 using ,)


eauto.
1 subgoals, subgoal 1 (ID 3304)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  T : Term
  t0 : Γ ⊢ s ▹▹ t : T
  H : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ s ▹▹ t : T
  t1 : Γ ⊢ t ▹▹ u : T
  H0 : forall Γ' : Env, Γ' ⊣ -> env_red1 Γ Γ' -> Γ' ⊢ t ▹▹ u : T
  Γ' : Env
  H1 : Γ' ⊣
  H2 : env_red1 Γ Γ'
  ============================
   Γ' ⊢ s ▹▹ u : T

(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using , ?3801 using , ?3802 using ,)


eauto.
No more subgoals.
(dependent evars: ?3424 using , ?3425 using , ?3525 using , ?3526 using , ?3555 using , ?3556 using , ?3581 using , ?3582 using , ?3583 using , ?3620 using , ?3621 using , ?3705 using , ?3706 using , ?3707 using , ?3708 using , ?3760 using , ?3761 using , ?3801 using , ?3802 using , ?3962 using ,)


Qed.
red1_in_env is defined



Reflexive, Transitive, Symetric closure of PTS{atr}. Since we are not functional, we can't inforce the fact that every step is typed by the same type. But we only need the equality at the type level, so we will check that every step is welltyped, by a sort, but we will forget about this sort.
Reserved Notation "Γ ⊢ s ≡' t " (at level 80, s, t, T at level 30, no associativity) .


Inductive typ_peq : Env -> Term -> Term -> Prop :=
 | typ_peq_intro : forall Γ A B s, Γ A B : !s -> Γ A ≡' B
 | typ_peq_intro2 : forall Γ A B s, Γ B A : !s -> Γ A ≡' B
 | typ_peq_trans : forall Γ A B C , Γ A ≡' B -> Γ B ≡' C -> Γ A ≡' C
where "Γ ⊢ s ≡' t " := (typ_peq Γ s t) : Typ_scope.
typ_peq is defined
typ_peq_ind is defined



Hint Constructors typ_peq.
Warning: the hint: eapply typ_peq_intro will only be used by eauto
Warning: the hint: eapply typ_peq_intro2 will only be used by eauto
Warning: the hint: eapply typ_peq_trans will only be used by eauto



Lemma typ_peq_sym : forall Γ A B , Γ A ≡' B -> Γ B ≡' A .
1 subgoals, subgoal 1 (ID 4213)
  
  ============================
   forall (Γ : Env) (A B : Term), Γ ⊢ A ≡' B -> Γ ⊢ B ≡' A

(dependent evars:)


induction 1; eauto.
No more subgoals.
(dependent evars: ?4252 using , ?4269 using , ?4406 using ,)


Qed.
typ_peq_sym is defined



Hint Resolve typ_peq_sym.


Lemma reds_to_conv : forall Γ M N s, Γ M ▹▹ N : !s -> Γ M ≡' N.
1 subgoals, subgoal 1 (ID 4672)
  
  ============================
   forall (Γ : Env) (M N : Term) (s : Sorts), Γ ⊢ M ▹▹ N : !s -> Γ ⊢ M ≡' N

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 4677)
  
  Γ : Env
  M : Term
  N : Term
  s : Sorts
  H : Γ ⊢ M ▹▹ N : !s
  ============================
   Γ ⊢ M ≡' N

(dependent evars:)

remember !s as S.
1 subgoals, subgoal 1 (ID 4684)
  
  Γ : Env
  M : Term
  N : Term
  s : Sorts
  S : Term
  HeqS : S = !s
  H : Γ ⊢ M ▹▹ N : S
  ============================
   Γ ⊢ M ≡' N

(dependent evars:)

revert s HeqS.
1 subgoals, subgoal 1 (ID 4686)
  
  Γ : Env
  M : Term
  N : Term
  S : Term
  H : Γ ⊢ M ▹▹ N : S
  ============================
   forall s : Sorts, S = !s -> Γ ⊢ M ≡' N

(dependent evars:)

induction H; intros; subst.
2 subgoals, subgoal 1 (ID 4722)
  
  Γ : Env
  s : Term
  t : Term
  s0 : Sorts
  H : Γ ⊢ s ▹ t : !s0
  ============================
   Γ ⊢ s ≡' t

subgoal 2 (ID 4730) is:
 Γ ⊢ s ≡' u
(dependent evars:)


eauto.
1 subgoals, subgoal 1 (ID 4730)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts, !s0 = !s1 -> Γ ⊢ s ≡' t
  IHtyp_reds2 : forall s : Sorts, !s0 = !s -> Γ ⊢ t ≡' u
  ============================
   Γ ⊢ s ≡' u

(dependent evars: ?4756 using ,)

eauto.
No more subgoals.
(dependent evars: ?4756 using , ?4784 using , ?5469 using , ?5480 using ,)


Qed.
reds_to_conv is defined



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



Conversion in Context definition .
Inductive env_conv1 : Env -> Env -> Prop :=
 | conv1_intro : forall Γ A B , Γ A ≡' B -> env_conv1 (A::Γ) (B::Γ)
 | conv1_next : forall A Γ Γ', env_conv1 Γ Γ' -> env_conv1 (A::Γ) (A::Γ')
.
env_conv1 is defined
env_conv1_ind is defined



Hint Constructors env_conv1.


Inductive env_conv : Env -> Env -> Prop :=
 | c_step : forall Γ Γ', env_conv1 Γ Γ' -> env_conv Γ Γ'
 | c_refl : forall Γ , env_conv Γ Γ
 | c_trans : forall Γ Γ' Γ'', env_conv Γ Γ' -> env_conv Γ' Γ'' -> env_conv Γ Γ''.
env_conv is defined
env_conv_ind is defined



Hint Constructors env_conv.
Warning: the hint: eapply c_trans will only be used by eauto



Lemma c1_sym : forall Γ Γ', env_conv1 Γ Γ' -> env_conv1 Γ' Γ.
1 subgoals, subgoal 1 (ID 5521)
  
  ============================
   forall Γ Γ' : Env, env_conv1 Γ Γ' -> env_conv1 Γ' Γ

(dependent evars:)


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


Qed.
c1_sym is defined



Lemma c_sym : forall Γ Γ', env_conv Γ Γ' -> env_conv Γ' Γ.
1 subgoals, subgoal 1 (ID 5562)
  
  ============================
   forall Γ Γ' : Env, env_conv Γ Γ' -> env_conv Γ' Γ

(dependent evars:)


induction 1; intros.
3 subgoals, subgoal 1 (ID 5580)
  
  Γ : Env
  Γ' : Env
  H : env_conv1 Γ Γ'
  ============================
   env_conv Γ' Γ

subgoal 2 (ID 5581) is:
 env_conv Γ Γ
subgoal 3 (ID 5589) is:
 env_conv Γ'' Γ
(dependent evars:)


apply c1_sym in H; intuition.
2 subgoals, subgoal 1 (ID 5581)
  
  Γ : Env
  ============================
   env_conv Γ Γ

subgoal 2 (ID 5589) is:
 env_conv Γ'' Γ
(dependent evars:)

trivial.
1 subgoals, subgoal 1 (ID 5589)
  
  Γ : Env
  Γ' : Env
  Γ'' : Env
  H : env_conv Γ Γ'
  H0 : env_conv Γ' Γ''
  IHenv_conv1 : env_conv Γ' Γ
  IHenv_conv2 : env_conv Γ'' Γ'
  ============================
   env_conv Γ'' Γ

(dependent evars:)

eauto.
No more subgoals.
(dependent evars: ?5598 using ,)


Qed.
c_sym is defined



Hint Resolve c_sym.


Lemma env_red1_to_conv1 : forall Γ Γ', env_red1 Γ Γ' -> env_conv1 Γ Γ'.
1 subgoals, subgoal 1 (ID 5615)
  
  ============================
   forall Γ Γ' : Env, env_red1 Γ Γ' -> env_conv1 Γ Γ'

(dependent evars:)


induction 1; intuition.
1 subgoals, subgoal 1 (ID 5631)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ A ▹ B : !s
  ============================
   env_conv1 (A :: Γ) (B :: Γ)

(dependent evars:)


eauto.
No more subgoals.
(dependent evars: ?5686 using ,)


Qed.
env_red1_to_conv1 is defined



Lemma env_red_to_conv : forall Γ Γ', env_red Γ Γ' -> env_conv Γ Γ'.
1 subgoals, subgoal 1 (ID 5727)
  
  ============================
   forall Γ Γ' : Env, env_red Γ Γ' -> env_conv Γ Γ'

(dependent evars:)


induction 1; intuition.
2 subgoals, subgoal 1 (ID 5745)
  
  Γ : Env
  Γ' : Env
  H : env_red1 Γ Γ'
  ============================
   env_conv Γ Γ'

subgoal 2 (ID 5754) is:
 env_conv Γ Γ''
(dependent evars:)


apply env_red1_to_conv1 in H; intuition.
1 subgoals, subgoal 1 (ID 5754)
  
  Γ : Env
  Γ' : Env
  Γ'' : Env
  H : env_red Γ Γ'
  H0 : env_red Γ' Γ''
  IHenv_red1 : env_conv Γ Γ'
  IHenv_red2 : env_conv Γ' Γ''
  ============================
   env_conv Γ Γ''

(dependent evars:)


eauto.
No more subgoals.
(dependent evars: ?5839 using ,)


Qed.
env_red_to_conv is defined



Hint Resolve env_red_to_conv.


Lemma peq_thinning : forall Γ A B, Γ A ≡' B -> forall C C' s, Γ C C' : !s
 -> C::Γ A 1 ≡' B 1.
1 subgoals, subgoal 1 (ID 5883)
  
  ============================
   forall (Γ : Env) (A B : Term),
   Γ ⊢ A ≡' B ->
   forall (C C' : Term) (s : Sorts),
   Γ ⊢ C ▹ C' : !s -> C :: Γ ⊢ A ↑ 1 ≡' B ↑ 1

(dependent evars:)


induction 1; intros.
3 subgoals, subgoal 1 (ID 5925)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ A ▹ B : !s
  C : Term
  C' : Term
  s0 : Sorts
  H0 : Γ ⊢ C ▹ C' : !s0
  ============================
   C :: Γ ⊢ A ↑ 1 ≡' B ↑ 1

subgoal 2 (ID 5929) is:
 C :: Γ ⊢ A ↑ 1 ≡' B ↑ 1
subgoal 3 (ID 5933) is:
 C0 :: Γ ⊢ A ↑ 1 ≡' C ↑ 1
(dependent evars:)

apply typ_peq_intro with s.
3 subgoals, subgoal 1 (ID 5934)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ A ▹ B : !s
  C : Term
  C' : Term
  s0 : Sorts
  H0 : Γ ⊢ C ▹ C' : !s0
  ============================
   C :: Γ ⊢ A ↑ 1 ▹ B ↑ 1 : !s

subgoal 2 (ID 5929) is:
 C :: Γ ⊢ A ↑ 1 ≡' B ↑ 1
subgoal 3 (ID 5933) is:
 C0 :: Γ ⊢ A ↑ 1 ≡' C ↑ 1
(dependent evars:)

change !s with (!s 1).
3 subgoals, subgoal 1 (ID 5936)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ A ▹ B : !s
  C : Term
  C' : Term
  s0 : Sorts
  H0 : Γ ⊢ C ▹ C' : !s0
  ============================
   C :: Γ ⊢ A ↑ 1 ▹ B ↑ 1 : !s ↑ 1

subgoal 2 (ID 5929) is:
 C :: Γ ⊢ A ↑ 1 ≡' B ↑ 1
subgoal 3 (ID 5933) is:
 C0 :: Γ ⊢ A ↑ 1 ≡' C ↑ 1
(dependent evars:)


apply thinning with C' s0; trivial.
2 subgoals, subgoal 1 (ID 5929)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ B ▹ A : !s
  C : Term
  C' : Term
  s0 : Sorts
  H0 : Γ ⊢ C ▹ C' : !s0
  ============================
   C :: Γ ⊢ A ↑ 1 ≡' B ↑ 1

subgoal 2 (ID 5933) is:
 C0 :: Γ ⊢ A ↑ 1 ≡' C ↑ 1
(dependent evars:)

apply typ_peq_intro2 with s.
2 subgoals, subgoal 1 (ID 5939)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ B ▹ A : !s
  C : Term
  C' : Term
  s0 : Sorts
  H0 : Γ ⊢ C ▹ C' : !s0
  ============================
   C :: Γ ⊢ B ↑ 1 ▹ A ↑ 1 : !s

subgoal 2 (ID 5933) is:
 C0 :: Γ ⊢ A ↑ 1 ≡' C ↑ 1
(dependent evars:)

change !s with (!s 1).
2 subgoals, subgoal 1 (ID 5941)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ B ▹ A : !s
  C : Term
  C' : Term
  s0 : Sorts
  H0 : Γ ⊢ C ▹ C' : !s0
  ============================
   C :: Γ ⊢ B ↑ 1 ▹ A ↑ 1 : !s ↑ 1

subgoal 2 (ID 5933) is:
 C0 :: Γ ⊢ A ↑ 1 ≡' C ↑ 1
(dependent evars:)


apply thinning with C' s0; trivial.
1 subgoals, subgoal 1 (ID 5933)
  
  Γ : Env
  A : Term
  B : Term
  C : Term
  H : Γ ⊢ A ≡' B
  H0 : Γ ⊢ B ≡' C
  IHtyp_peq1 : forall (C C' : Term) (s : Sorts),
               Γ ⊢ C ▹ C' : !s -> C :: Γ ⊢ A ↑ 1 ≡' B ↑ 1
  IHtyp_peq2 : forall (C0 C' : Term) (s : Sorts),
               Γ ⊢ C0 ▹ C' : !s -> C0 :: Γ ⊢ B ↑ 1 ≡' C ↑ 1
  C0 : Term
  C' : Term
  s : Sorts
  H1 : Γ ⊢ C0 ▹ C' : !s
  ============================
   C0 :: Γ ⊢ A ↑ 1 ≡' C ↑ 1

(dependent evars:)

eauto.
No more subgoals.
(dependent evars: ?5951 using , ?6869 using , ?6870 using , ?6890 using , ?6891 using ,)


Qed.
peq_thinning is defined



Lemma peq_thinning_n : forall n Δ Δ',
   trunc n Δ Δ' ->
   forall A B , Δ' A ≡' B -> Δ -> Δ A n ≡' B n .
1 subgoals, subgoal 1 (ID 6927)
  
  ============================
   forall (n : nat) (Δ Δ' : list Term),
   trunc n Δ Δ' ->
   forall A B : Term, Δ' ⊢ A ≡' B -> Δ ⊣ -> Δ ⊢ A ↑ n ≡' B ↑ n

(dependent evars:)


induction n; intros.
2 subgoals, subgoal 1 (ID 6941)
  
  Δ : list Term
  Δ' : list Term
  H : trunc 0 Δ Δ'
  A : Term
  B : Term
  H0 : Δ' ⊢ A ≡' B
  H1 : Δ ⊣
  ============================
   Δ ⊢ A ↑ 0 ≡' B ↑ 0

subgoal 2 (ID 6948) is:
 Δ ⊢ A ↑ (S n) ≡' B ↑ (S n)
(dependent evars:)


inversion H; subst; clear H.
2 subgoals, subgoal 1 (ID 7008)
  
  Δ' : list Term
  A : Term
  B : Term
  H0 : Δ' ⊢ A ≡' B
  H1 : Δ' ⊣
  ============================
   Δ' ⊢ A ↑ 0 ≡' B ↑ 0

subgoal 2 (ID 6948) is:
 Δ ⊢ A ↑ (S n) ≡' B ↑ (S n)
(dependent evars:)

rewrite 2! lift0; trivial.
1 subgoals, subgoal 1 (ID 6948)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall A B : Term, Δ' ⊢ A ≡' B -> Δ ⊣ -> Δ ⊢ A ↑ n ≡' B ↑ n
  Δ : list Term
  Δ' : list Term
  H : trunc (S n) Δ Δ'
  A : Term
  B : Term
  H0 : Δ' ⊢ A ≡' B
  H1 : Δ ⊣
  ============================
   Δ ⊢ A ↑ (S n) ≡' B ↑ (S n)

(dependent evars:)



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

(dependent evars:)


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

(dependent evars:)


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

(dependent evars:)


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

(dependent evars:)


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

(dependent evars:)


eapply peq_thinning.
2 subgoals, subgoal 1 (ID 7140)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall A B : Term, Δ' ⊢ A ≡' B -> Δ ⊣ -> Δ ⊢ A ↑ n ≡' B ↑ n
  Δ' : list Term
  A : Term
  B : Term
  H0 : Δ' ⊢ A ≡' B
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  A' : Term
  s : Sorts
  H2 : Γ ⊢ x ▹ A' : !s
  ============================
   Γ ⊢ A ↑ n ≡' B ↑ n

subgoal 2 (ID 7141) is:
 Γ ⊢ x ▹ ?7138 : !?7139
(dependent evars: ?7138 open, ?7139 open,)

eapply IHn.
4 subgoals, subgoal 1 (ID 7143)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall A B : Term, Δ' ⊢ A ≡' B -> Δ ⊣ -> Δ ⊢ A ↑ n ≡' B ↑ n
  Δ' : list Term
  A : Term
  B : Term
  H0 : Δ' ⊢ A ≡' B
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  A' : Term
  s : Sorts
  H2 : Γ ⊢ x ▹ A' : !s
  ============================
   trunc n Γ ?7142

subgoal 2 (ID 7144) is:
 ?7142 ⊢ A ≡' B
subgoal 3 (ID 7145) is:
 Γ ⊣
subgoal 4 (ID 7141) is:
 Γ ⊢ x ▹ ?7138 : !?7139
(dependent evars: ?7138 open, ?7139 open, ?7142 open,)

apply H3.
3 subgoals, subgoal 1 (ID 7144)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall A B : Term, Δ' ⊢ A ≡' B -> Δ ⊣ -> Δ ⊢ A ↑ n ≡' B ↑ n
  Δ' : list Term
  A : Term
  B : Term
  H0 : Δ' ⊢ A ≡' B
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  A' : Term
  s : Sorts
  H2 : Γ ⊢ x ▹ A' : !s
  ============================
   Δ' ⊢ A ≡' B

subgoal 2 (ID 7145) is:
 Γ ⊣
subgoal 3 (ID 7141) is:
 Γ ⊢ x ▹ ?7138 : !?7139
(dependent evars: ?7138 open, ?7139 open, ?7142 using ,)

trivial.
2 subgoals, subgoal 1 (ID 7145)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall A B : Term, Δ' ⊢ A ≡' B -> Δ ⊣ -> Δ ⊢ A ↑ n ≡' B ↑ n
  Δ' : list Term
  A : Term
  B : Term
  H0 : Δ' ⊢ A ≡' B
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  A' : Term
  s : Sorts
  H2 : Γ ⊢ x ▹ A' : !s
  ============================
   Γ ⊣

subgoal 2 (ID 7141) is:
 Γ ⊢ x ▹ ?7138 : !?7139
(dependent evars: ?7138 open, ?7139 open, ?7142 using ,)


apply wf_from_typ in H2; trivial.
1 subgoals, subgoal 1 (ID 7141)
  
  n : nat
  IHn : forall Δ Δ' : list Term,
        trunc n Δ Δ' ->
        forall A B : Term, Δ' ⊢ A ≡' B -> Δ ⊣ -> Δ ⊢ A ↑ n ≡' B ↑ n
  Δ' : list Term
  A : Term
  B : Term
  H0 : Δ' ⊢ A ≡' B
  Γ : list Term
  x : Term
  H3 : trunc n Γ Δ'
  A' : Term
  s : Sorts
  H2 : Γ ⊢ x ▹ A' : !s
  ============================
   Γ ⊢ x ▹ ?7138 : !?7139

(dependent evars: ?7138 open, ?7139 open, ?7142 using ,)


apply H2.
No more subgoals.
(dependent evars: ?7138 using , ?7139 using , ?7142 using ,)


Qed.
peq_thinning_n is defined



Type manipulation functions
Lemma typ_pcompat : forall Γ M N A, Γ M N : A -> forall B , Γ A ≡' B -> Γ M N : B.
1 subgoals, subgoal 1 (ID 7162)
  
  ============================
   forall (Γ : Env) (M N A : Term),
   Γ ⊢ M ▹ N : A -> forall B : Term, Γ ⊢ A ≡' B -> Γ ⊢ M ▹ N : B

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 7169)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  H : Γ ⊢ M ▹ N : A
  B : Term
  H0 : Γ ⊢ A ≡' B
  ============================
   Γ ⊢ M ▹ N : B

(dependent evars:)


revert M N H.
1 subgoals, subgoal 1 (ID 7171)
  
  Γ : Env
  A : Term
  B : Term
  H0 : Γ ⊢ A ≡' B
  ============================
   forall M N : Term, Γ ⊢ M ▹ N : A -> Γ ⊢ M ▹ N : B

(dependent evars:)


induction H0; intros.
3 subgoals, subgoal 1 (ID 7208)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ A ▹ B : !s
  M : Term
  N : Term
  H0 : Γ ⊢ M ▹ N : A
  ============================
   Γ ⊢ M ▹ N : B

subgoal 2 (ID 7211) is:
 Γ ⊢ M ▹ N : B
subgoal 3 (ID 7214) is:
 Γ ⊢ M ▹ N : C
(dependent evars:)


eauto.
2 subgoals, subgoal 1 (ID 7211)
  
  Γ : Env
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ B ▹ A : !s
  M : Term
  N : Term
  H0 : Γ ⊢ M ▹ N : A
  ============================
   Γ ⊢ M ▹ N : B

subgoal 2 (ID 7214) is:
 Γ ⊢ M ▹ N : C
(dependent evars: ?7219 using , ?7220 using ,)

eauto.
1 subgoals, subgoal 1 (ID 7214)
  
  Γ : Env
  A : Term
  B : Term
  C : Term
  H0_ : Γ ⊢ A ≡' B
  H0_0 : Γ ⊢ B ≡' C
  IHtyp_peq1 : forall M N : Term, Γ ⊢ M ▹ N : A -> Γ ⊢ M ▹ N : B
  IHtyp_peq2 : forall M N : Term, Γ ⊢ M ▹ N : B -> Γ ⊢ M ▹ N : C
  M : Term
  N : Term
  H : Γ ⊢ M ▹ N : A
  ============================
   Γ ⊢ M ▹ N : C

(dependent evars: ?7219 using , ?7220 using , ?8099 using , ?8100 using ,)

eauto.
No more subgoals.
(dependent evars: ?7219 using , ?7220 using , ?8099 using , ?8100 using ,)


Qed.
typ_pcompat is defined



Lemma typ_red_trans : forall Γ M N A B s, Γ M N : A -> Γ A ▹▹ B : !s -> Γ M N : B.
1 subgoals, subgoal 1 (ID 8163)
  
  ============================
   forall (Γ : Env) (M N A B : Term) (s : Sorts),
   Γ ⊢ M ▹ N : A -> Γ ⊢ A ▹▹ B : !s -> Γ ⊢ M ▹ N : B

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 8171)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : A
  H0 : Γ ⊢ A ▹▹ B : !s
  ============================
   Γ ⊢ M ▹ N : B

(dependent evars:)

remember !s as S.
1 subgoals, subgoal 1 (ID 8178)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : A
  S : Term
  HeqS : S = !s
  H0 : Γ ⊢ A ▹▹ B : S
  ============================
   Γ ⊢ M ▹ N : B

(dependent evars:)

revert M N H s HeqS.
1 subgoals, subgoal 1 (ID 8180)
  
  Γ : Env
  A : Term
  B : Term
  S : Term
  H0 : Γ ⊢ A ▹▹ B : S
  ============================
   forall M N : Term,
   Γ ⊢ M ▹ N : A -> forall s : Sorts, S = !s -> Γ ⊢ M ▹ N : B

(dependent evars:)

induction H0; intros; subst; eauto.
No more subgoals.
(dependent evars: ?8235 using , ?8236 using , ?9115 using , ?9126 using ,)


Qed.
typ_red_trans is defined



Lemma typ_exp_trans : forall Γ M N A B s, Γ M N : B -> Γ A ▹▹ B : !s -> Γ M N : A.
1 subgoals, subgoal 1 (ID 9162)
  
  ============================
   forall (Γ : Env) (M N A B : Term) (s : Sorts),
   Γ ⊢ M ▹ N : B -> Γ ⊢ A ▹▹ B : !s -> Γ ⊢ M ▹ N : A

(dependent evars:)


intros.
1 subgoals, subgoal 1 (ID 9170)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : B
  H0 : Γ ⊢ A ▹▹ B : !s
  ============================
   Γ ⊢ M ▹ N : A

(dependent evars:)

remember !s as S.
1 subgoals, subgoal 1 (ID 9177)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : B
  S : Term
  HeqS : S = !s
  H0 : Γ ⊢ A ▹▹ B : S
  ============================
   Γ ⊢ M ▹ N : A

(dependent evars:)

revert M N H s HeqS.
1 subgoals, subgoal 1 (ID 9179)
  
  Γ : Env
  A : Term
  B : Term
  S : Term
  H0 : Γ ⊢ A ▹▹ B : S
  ============================
   forall M N : Term,
   Γ ⊢ M ▹ N : B -> forall s : Sorts, S = !s -> Γ ⊢ M ▹ N : A

(dependent evars:)

induction H0; intros; subst; eauto.
No more subgoals.
(dependent evars: ?9230 using , ?9231 using , ?9254 using , ?9265 using ,)


Qed.
typ_exp_trans is defined



  Lemma conv_item :
   forall n A Γ Γ', A n Γ -> env_conv1 Γ Γ' -> Γ' -> A n Γ' \/
     (forall Γ'', trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\ (exists B, Γ' A ≡' B /\ B n Γ').
1 subgoals, subgoal 1 (ID 9303)
  
  ============================
   forall (n : nat) (A : Term) (Γ Γ' : Env),
   A ↓ n ⊂ Γ ->
   env_conv1 Γ Γ' ->
   Γ' ⊣ ->
   A ↓ n ⊂ Γ' \/
   (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
   (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')

(dependent evars:)


induction n; intros.
2 subgoals, subgoal 1 (ID 9316)
  
  A : Term
  Γ : Env
  Γ' : Env
  H : A ↓ 0 ⊂ Γ
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   A ↓ 0 ⊂ Γ' \/
   (forall Γ'' : list Term, trunc 1 Γ Γ'' -> trunc 1 Γ' Γ'') /\
   (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ 0 ⊂ Γ')

subgoal 2 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

destruct H as (u & ?& ?).
2 subgoals, subgoal 1 (ID 9333)
  
  A : Term
  Γ : Env
  Γ' : Env
  u : Term
  H : A = u ↑ 1
  H2 : u ↓ 0 ∈ Γ
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   A ↓ 0 ⊂ Γ' \/
   (forall Γ'' : list Term, trunc 1 Γ Γ'' -> trunc 1 Γ' Γ'') /\
   (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ 0 ⊂ Γ')

subgoal 2 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)


inversion H2; subst; clear H2.
2 subgoals, subgoal 1 (ID 9382)
  
  Γ' : Env
  u : Term
  H1 : Γ' ⊣
  l : list Term
  H0 : env_conv1 (u :: l) Γ'
  ============================
   u ↑ 1 ↓ 0 ⊂ Γ' \/
   (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 Γ' Γ'') /\
   (exists B : Term, (Γ' ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ Γ')

subgoal 2 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

inversion H0;subst; clear H0.
3 subgoals, subgoal 1 (ID 9479)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  H1 : B :: l ⊣
  ============================
   u ↑ 1 ↓ 0 ⊂ B :: l \/
   (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (B :: l) Γ'') /\
   (exists B0 : Term, (B :: l ⊢ u ↑ 1 ≡' B0) /\ B0 ↓ 0 ⊂ B :: l)

subgoal 2 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 3 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)


right.
3 subgoals, subgoal 1 (ID 9482)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  H1 : B :: l ⊣
  ============================
   (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (B :: l) Γ'') /\
   (exists B0 : Term, (B :: l ⊢ u ↑ 1 ≡' B0) /\ B0 ↓ 0 ⊂ B :: l)

subgoal 2 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 3 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

split; intros.
4 subgoals, subgoal 1 (ID 9487)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  H1 : B :: l ⊣
  Γ'' : list Term
  H : trunc 1 (u :: l) Γ''
  ============================
   trunc 1 (B :: l) Γ''

subgoal 2 (ID 9485) is:
 exists B0 : Term, (B :: l ⊢ u ↑ 1 ≡' B0) /\ B0 ↓ 0 ⊂ B :: l
subgoal 3 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 4 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

inversion H; subst; clear H.
4 subgoals, subgoal 1 (ID 9560)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  H1 : B :: l ⊣
  Γ'' : list Term
  H6 : trunc 0 l Γ''
  ============================
   trunc 1 (B :: l) Γ''

subgoal 2 (ID 9485) is:
 exists B0 : Term, (B :: l ⊢ u ↑ 1 ≡' B0) /\ B0 ↓ 0 ⊂ B :: l
subgoal 3 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 4 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

constructor.
4 subgoals, subgoal 1 (ID 9563)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  H1 : B :: l ⊣
  Γ'' : list Term
  H6 : trunc 0 l Γ''
  ============================
   trunc 0 l Γ''

subgoal 2 (ID 9485) is:
 exists B0 : Term, (B :: l ⊢ u ↑ 1 ≡' B0) /\ B0 ↓ 0 ⊂ B :: l
subgoal 3 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 4 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

trivial.
3 subgoals, subgoal 1 (ID 9485)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  H1 : B :: l ⊣
  ============================
   exists B0 : Term, (B :: l ⊢ u ↑ 1 ≡' B0) /\ B0 ↓ 0 ⊂ B :: l

subgoal 2 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 3 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)


exists (lift_rec 1 0 B); split.
4 subgoals, subgoal 1 (ID 9567)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  H1 : B :: l ⊣
  ============================
   B :: l ⊢ u ↑ 1 ≡' B ↑ 1

subgoal 2 (ID 9568) is:
 B ↑ 1 ↓ 0 ⊂ B :: l
subgoal 3 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 4 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

inversion H1; subst; clear H1.
4 subgoals, subgoal 1 (ID 9618)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  A' : Term
  s : Sorts
  H0 : l ⊢ B ▹ A' : !s
  ============================
   B :: l ⊢ u ↑ 1 ≡' B ↑ 1

subgoal 2 (ID 9568) is:
 B ↑ 1 ↓ 0 ⊂ B :: l
subgoal 3 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 4 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

apply peq_thinning with A' s; trivial.
3 subgoals, subgoal 1 (ID 9568)
  
  u : Term
  l : list Term
  B : Term
  H4 : l ⊢ u ≡' B
  H1 : B :: l ⊣
  ============================
   B ↑ 1 ↓ 0 ⊂ B :: l

subgoal 2 (ID 9480) is:
 u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
 (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
 (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)
subgoal 3 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)


exists B; intuition.
2 subgoals, subgoal 1 (ID 9480)
  
  u : Term
  l : list Term
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : u :: Γ'0 ⊣
  ============================
   u ↑ 1 ↓ 0 ⊂ u :: Γ'0 \/
   (forall Γ'' : list Term, trunc 1 (u :: l) Γ'' -> trunc 1 (u :: Γ'0) Γ'') /\
   (exists B : Term, (u :: Γ'0 ⊢ u ↑ 1 ≡' B) /\ B ↓ 0 ⊂ u :: Γ'0)

subgoal 2 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

left.
2 subgoals, subgoal 1 (ID 9634)
  
  u : Term
  l : list Term
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : u :: Γ'0 ⊣
  ============================
   u ↑ 1 ↓ 0 ⊂ u :: Γ'0

subgoal 2 (ID 9322) is:
 A ↓ S n ⊂ Γ' \/
 (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
 (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')
(dependent evars:)

exists u; intuition.
1 subgoals, subgoal 1 (ID 9322)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  A : Term
  Γ : Env
  Γ' : Env
  H : A ↓ S n ⊂ Γ
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   A ↓ S n ⊂ Γ' \/
   (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
   (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')

(dependent evars:)


destruct H as (u & ?& ?).
1 subgoals, subgoal 1 (ID 9657)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  A : Term
  Γ : Env
  Γ' : Env
  u : Term
  H : A = u ↑ (S (S n))
  H2 : u ↓ S n ∈ Γ
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   A ↓ S n ⊂ Γ' \/
   (forall Γ'' : list Term, trunc (S (S n)) Γ Γ'' -> trunc (S (S n)) Γ' Γ'') /\
   (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ S n ⊂ Γ')

(dependent evars:)

inversion H2; subst; clear H2.
1 subgoals, subgoal 1 (ID 9718)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  Γ' : Env
  u : Term
  H1 : Γ' ⊣
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  H0 : env_conv1 (y :: l) Γ'
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ Γ' \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) Γ' Γ'') /\
   (exists B : Term, (Γ' ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ Γ')

(dependent evars:)

inversion H0; subst; clear H0.
2 subgoals, subgoal 1 (ID 9815)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  B : Term
  H4 : l ⊢ y ≡' B
  H1 : B :: l ⊣
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ B :: l \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (B :: l) Γ'') /\
   (exists B0 : Term, (B :: l ⊢ u ↑ (S (S n)) ≡' B0) /\ B0 ↓ S n ⊂ B :: l)

subgoal 2 (ID 9816) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)


left.
2 subgoals, subgoal 1 (ID 9818)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  B : Term
  H4 : l ⊢ y ≡' B
  H1 : B :: l ⊣
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ B :: l

subgoal 2 (ID 9816) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)

exists u; intuition.
1 subgoals, subgoal 1 (ID 9816)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
   (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)

(dependent evars:)

destruct (IHn (lift_rec (S n) 0 u) l Γ'0 ).
5 subgoals, subgoal 1 (ID 9844)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  ============================
   u ↑ (S n) ↓ n ⊂ l

subgoal 2 (ID 9846) is:
 env_conv1 l Γ'0
subgoal 3 (ID 9848) is:
 Γ'0 ⊣
subgoal 4 (ID 9853) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
subgoal 5 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)

exists u; intuition.
4 subgoals, subgoal 1 (ID 9846)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  ============================
   env_conv1 l Γ'0

subgoal 2 (ID 9848) is:
 Γ'0 ⊣
subgoal 3 (ID 9853) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
subgoal 4 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)


trivial.
3 subgoals, subgoal 1 (ID 9848)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  ============================
   Γ'0 ⊣

subgoal 2 (ID 9853) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
subgoal 3 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)

inversion H1; subst; clear H1.
3 subgoals, subgoal 1 (ID 9910)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  A' : Term
  s : Sorts
  H0 : Γ'0 ⊢ y ▹ A' : !s
  ============================
   Γ'0 ⊣

subgoal 2 (ID 9853) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
subgoal 3 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)

apply wf_from_typ in H0; trivial.
2 subgoals, subgoal 1 (ID 9853)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : u ↑ (S n) ↓ n ⊂ Γ'0
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
   (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)

subgoal 2 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)


left.
2 subgoals, subgoal 1 (ID 9914)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : u ↑ (S n) ↓ n ⊂ Γ'0
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0

subgoal 2 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)

destruct H as (uu & ?& ?).
2 subgoals, subgoal 1 (ID 9922)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  uu : Term
  H : u ↑ (S n) = uu ↑ (S n)
  H0 : uu ↓ n ∈ Γ'0
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0

subgoal 2 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)

apply inv_lift in H.
2 subgoals, subgoal 1 (ID 9924)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  uu : Term
  H : u = uu
  H0 : uu ↓ n ∈ Γ'0
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0

subgoal 2 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)

subst.
2 subgoals, subgoal 1 (ID 9929)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  l : list Term
  y : Term
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  uu : Term
  H0 : uu ↓ n ∈ Γ'0
  H5 : uu ↓ n ∈ l
  ============================
   uu ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0

subgoal 2 (ID 9854) is:
 u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
 (forall Γ'' : list Term,
  trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
 (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)
(dependent evars:)

exists uu; intuition.
1 subgoals, subgoal 1 (ID 9854)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : (forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ'') /\
      (exists B : Term, (Γ'0 ⊢ u ↑ (S n) ≡' B) /\ B ↓ n ⊂ Γ'0)
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
   (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)

(dependent evars:)


destruct H.
1 subgoals, subgoal 1 (ID 9951)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  H0 : exists B : Term, (Γ'0 ⊢ u ↑ (S n) ≡' B) /\ B ↓ n ⊂ Γ'0
  ============================
   u ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0 \/
   (forall Γ'' : list Term,
    trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
   (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)

(dependent evars:)

right.
1 subgoals, subgoal 1 (ID 9953)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  H0 : exists B : Term, (Γ'0 ⊢ u ↑ (S n) ≡' B) /\ B ↓ n ⊂ Γ'0
  ============================
   (forall Γ'' : list Term,
    trunc (S (S n)) (y :: l) Γ'' -> trunc (S (S n)) (y :: Γ'0) Γ'') /\
   (exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0)

(dependent evars:)

split; intros.
2 subgoals, subgoal 1 (ID 9958)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  H0 : exists B : Term, (Γ'0 ⊢ u ↑ (S n) ≡' B) /\ B ↓ n ⊂ Γ'0
  Γ'' : list Term
  H2 : trunc (S (S n)) (y :: l) Γ''
  ============================
   trunc (S (S n)) (y :: Γ'0) Γ''

subgoal 2 (ID 9956) is:
 exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0
(dependent evars:)

constructor.
2 subgoals, subgoal 1 (ID 9961)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  H0 : exists B : Term, (Γ'0 ⊢ u ↑ (S n) ≡' B) /\ B ↓ n ⊂ Γ'0
  Γ'' : list Term
  H2 : trunc (S (S n)) (y :: l) Γ''
  ============================
   trunc (S n) Γ'0 Γ''

subgoal 2 (ID 9956) is:
 exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0
(dependent evars:)

apply H.
2 subgoals, subgoal 1 (ID 9962)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  H0 : exists B : Term, (Γ'0 ⊢ u ↑ (S n) ≡' B) /\ B ↓ n ⊂ Γ'0
  Γ'' : list Term
  H2 : trunc (S (S n)) (y :: l) Γ''
  ============================
   trunc (S n) l Γ''

subgoal 2 (ID 9956) is:
 exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0
(dependent evars:)

inversion H2; subst; clear H2.
2 subgoals, subgoal 1 (ID 10035)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  H0 : exists B : Term, (Γ'0 ⊢ u ↑ (S n) ≡' B) /\ B ↓ n ⊂ Γ'0
  Γ'' : list Term
  H9 : trunc (S n) l Γ''
  ============================
   trunc (S n) l Γ''

subgoal 2 (ID 9956) is:
 exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0
(dependent evars:)


trivial.
1 subgoals, subgoal 1 (ID 9956)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  H0 : exists B : Term, (Γ'0 ⊢ u ↑ (S n) ≡' B) /\ B ↓ n ⊂ Γ'0
  ============================
   exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0

(dependent evars:)

destruct H0 as ( uu &? & ?).
1 subgoals, subgoal 1 (ID 10043)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  uu : Term
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' uu
  H2 : uu ↓ n ⊂ Γ'0
  ============================
   exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0

(dependent evars:)

destruct H2 as (v & ?& ?).
1 subgoals, subgoal 1 (ID 10051)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  uu : Term
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' uu
  v : Term
  H2 : uu = v ↑ (S n)
  H3 : v ↓ n ∈ Γ'0
  ============================
   exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0

(dependent evars:)

subst.
1 subgoals, subgoal 1 (ID 10056)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  ============================
   exists B : Term, (y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' B) /\ B ↓ S n ⊂ y :: Γ'0

(dependent evars:)


exists (lift_rec (S (S n)) 0 v); split.
2 subgoals, subgoal 1 (ID 10060)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  ============================
   y :: Γ'0 ⊢ u ↑ (S (S n)) ≡' v ↑ (S (S n))

subgoal 2 (ID 10061) is:
 v ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0
(dependent evars:)

change (S (S n)) with (1+ S n).
2 subgoals, subgoal 1 (ID 10063)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  ============================
   y :: Γ'0 ⊢ u ↑ (1 + S n) ≡' v ↑ (1 + S n)

subgoal 2 (ID 10061) is:
 v ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0
(dependent evars:)


replace (u (1+S n)) with ((u (S n) )↑ 1) by (apply lift_lift).
2 subgoals, subgoal 1 (ID 10067)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  ============================
   y :: Γ'0 ⊢ u ↑ (S n) ↑ 1 ≡' v ↑ (1 + S n)

subgoal 2 (ID 10061) is:
 v ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0
(dependent evars:)


replace (v (1+S n)) with ((v (S n) )↑ 1) by (apply lift_lift).
2 subgoals, subgoal 1 (ID 10072)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  ============================
   y :: Γ'0 ⊢ u ↑ (S n) ↑ 1 ≡' v ↑ (S n) ↑ 1

subgoal 2 (ID 10061) is:
 v ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0
(dependent evars:)


inversion H1; subst; clear H1.
2 subgoals, subgoal 1 (ID 10123)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  A' : Term
  s : Sorts
  H6 : Γ'0 ⊢ y ▹ A' : !s
  ============================
   y :: Γ'0 ⊢ u ↑ (S n) ↑ 1 ≡' v ↑ (S n) ↑ 1

subgoal 2 (ID 10061) is:
 v ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0
(dependent evars:)

eapply peq_thinning.
3 subgoals, subgoal 1 (ID 10126)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  A' : Term
  s : Sorts
  H6 : Γ'0 ⊢ y ▹ A' : !s
  ============================
   Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)

subgoal 2 (ID 10127) is:
 Γ'0 ⊢ y ▹ ?10124 : !?10125
subgoal 3 (ID 10061) is:
 v ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0
(dependent evars: ?10124 open, ?10125 open,)

trivial.
2 subgoals, subgoal 1 (ID 10127)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  A' : Term
  s : Sorts
  H6 : Γ'0 ⊢ y ▹ A' : !s
  ============================
   Γ'0 ⊢ y ▹ ?10124 : !?10125

subgoal 2 (ID 10061) is:
 v ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0
(dependent evars: ?10124 open, ?10125 open,)

apply H6.
1 subgoals, subgoal 1 (ID 10061)
  
  n : nat
  IHn : forall (A : Term) (Γ Γ' : Env),
        A ↓ n ⊂ Γ ->
        env_conv1 Γ Γ' ->
        Γ' ⊣ ->
        A ↓ n ⊂ Γ' \/
        (forall Γ'' : list Term, trunc (S n) Γ Γ'' -> trunc (S n) Γ' Γ'') /\
        (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ n ⊂ Γ')
  u : Term
  l : list Term
  y : Term
  H5 : u ↓ n ∈ l
  Γ'0 : Env
  H4 : env_conv1 l Γ'0
  H1 : y :: Γ'0 ⊣
  H : forall Γ'' : list Term, trunc (S n) l Γ'' -> trunc (S n) Γ'0 Γ''
  v : Term
  H3 : v ↓ n ∈ Γ'0
  H0 : Γ'0 ⊢ u ↑ (S n) ≡' v ↑ (S n)
  ============================
   v ↑ (S (S n)) ↓ S n ⊂ y :: Γ'0

(dependent evars: ?10124 using , ?10125 using ,)


exists v; intuition.
No more subgoals.
(dependent evars: ?10124 using , ?10125 using ,)


Qed.
conv_item is defined



Lemma conv1_in_env : (forall Γ M N T, Γ M N : T -> forall Γ', env_conv1 Γ Γ' -> Γ' -> Γ' M N : T) /\
  (forall Γ M N T, Γ M ▹▹ N : T -> forall Γ', env_conv1 Γ Γ' -> Γ' -> Γ' M ▹▹ N : T) /\
  (forall Γ, Γ -> True).
1 subgoals, subgoal 1 (ID 10168)
  
  ============================
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢ M ▹ N : T ->
    forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ N : T) /\
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢ M ▹▹ N : T ->
    forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹▹ N : T) /\
   (forall Γ : Env, Γ ⊣ -> True)

(dependent evars:)


apply typ_induc;intros; simpl; trivial.
10 subgoals, subgoal 1 (ID 10341)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 10342) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 10343) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 10344) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 10345) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)


destruct (conv_item x A Γ Γ' i H0 H1).
11 subgoals, subgoal 1 (ID 10361)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  H2 : A ↓ x ⊂ Γ'
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 10362) is:
 Γ' ⊢ #x ▹ #x : A
subgoal 3 (ID 10342) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 4 (ID 10343) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 5 (ID 10344) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 6 (ID 10345) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 7 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 8 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 9 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 10 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 11 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

intuition.
10 subgoals, subgoal 1 (ID 10362)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  H2 : (forall Γ'' : list Term, trunc (S x) Γ Γ'' -> trunc (S x) Γ' Γ'') /\
       (exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ x ⊂ Γ')
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 10342) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 10343) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 10344) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 10345) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)


destruct H2.
10 subgoals, subgoal 1 (ID 10379)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  H2 : forall Γ'' : list Term, trunc (S x) Γ Γ'' -> trunc (S x) Γ' Γ''
  H3 : exists B : Term, (Γ' ⊢ A ≡' B) /\ B ↓ x ⊂ Γ'
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 10342) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 10343) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 10344) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 10345) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

destruct H3 as (B & ?).
10 subgoals, subgoal 1 (ID 10383)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : True
  i : A ↓ x ⊂ Γ
  Γ' : Env
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  H2 : forall Γ'' : list Term, trunc (S x) Γ Γ'' -> trunc (S x) Γ' Γ''
  B : Term
  H3 : (Γ' ⊢ A ≡' B) /\ B ↓ x ⊂ Γ'
  ============================
   Γ' ⊢ #x ▹ #x : A

subgoal 2 (ID 10342) is:
 Γ' ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 10343) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 4 (ID 10344) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 5 (ID 10345) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 6 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 7 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)

apply typ_pcompat with B; intuition.
9 subgoals, subgoal 1 (ID 10342)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  a : Ax s1 s2
  w : Γ ⊣
  H : True
  Γ' : Env
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   Γ' ⊢ !s1 ▹ !s1 : !s2

subgoal 2 (ID 10343) is:
 Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3
subgoal 3 (ID 10344) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 4 (ID 10345) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 5 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 6 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)


intuition.
8 subgoals, subgoal 1 (ID 10343)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B' : !s2
  Γ' : Env
  H1 : env_conv1 Γ Γ'
  H2 : Γ' ⊣
  ============================
   Γ' ⊢ Π (A), B ▹ Π (A'), B' : !s3

subgoal 2 (ID 10344) is:
 Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B
subgoal 3 (ID 10345) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 4 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 5 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars:)


apply typ_pi with s1 s2; eauto.
7 subgoals, subgoal 1 (ID 10344)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  Γ' : Env
  H2 : env_conv1 Γ Γ'
  H3 : Γ' ⊣
  ============================
   Γ' ⊢ λ [A], M ▹ λ [A'], M' : Π (A), B

subgoal 2 (ID 10345) is:
 Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]
subgoal 3 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 4 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using ,)


apply typ_la with s1 s2 s3; eauto.
6 subgoals, subgoal 1 (ID 10345)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A' : !s1
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B' : !s2
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : Π (A), B
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H3 : env_conv1 Γ Γ'
  H4 : Γ' ⊣
  ============================
   Γ' ⊢ M ·( A, B)N ▹ M' ·( A', B')N' : B [ ← N]

subgoal 2 (ID 10346) is:
 Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]
subgoal 3 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 4 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 5 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 6 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using ,)


eapply typ_app; eauto.
5 subgoals, subgoal 1 (ID 10346)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   Γ' ⊢ (λ [A], M) ·( A', B)N ▹ M' [ ← N'] : B [ ← N]

subgoal 2 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 3 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 4 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 5 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using ,)


eapply typ_beta.
12 subgoals, subgoal 1 (ID 10706)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   Rel ?10703 ?10704 ?10705

subgoal 2 (ID 10707) is:
 Γ' ⊢ A ▹ A : !?10703
subgoal 3 (ID 10708) is:
 Γ' ⊢ A' ▹ A' : !?10703
subgoal 4 (ID 10709) is:
 Γ' ⊢ ?10702 ▹▹ A : !?10703
subgoal 5 (ID 10710) is:
 Γ' ⊢ ?10702 ▹▹ A' : !?10703
subgoal 6 (ID 10711) is:
 A :: Γ' ⊢ B ▹ B : !?10704
subgoal 7 (ID 10712) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 8 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 9 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 10 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 11 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 12 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 open, ?10703 open, ?10704 open, ?10705 open,)


  apply r.
11 subgoals, subgoal 1 (ID 10707)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   Γ' ⊢ A ▹ A : !s1

subgoal 2 (ID 10708) is:
 Γ' ⊢ A' ▹ A' : !s1
subgoal 3 (ID 10709) is:
 Γ' ⊢ ?10702 ▹▹ A : !s1
subgoal 4 (ID 10710) is:
 Γ' ⊢ ?10702 ▹▹ A' : !s1
subgoal 5 (ID 10711) is:
 A :: Γ' ⊢ B ▹ B : !s2
subgoal 6 (ID 10712) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 7 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 8 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 9 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 10 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 11 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 open, ?10703 using , ?10704 using , ?10705 using ,)


  apply H; assumption.
10 subgoals, subgoal 1 (ID 10708)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   Γ' ⊢ A' ▹ A' : !s1

subgoal 2 (ID 10709) is:
 Γ' ⊢ ?10702 ▹▹ A : !s1
subgoal 3 (ID 10710) is:
 Γ' ⊢ ?10702 ▹▹ A' : !s1
subgoal 4 (ID 10711) is:
 A :: Γ' ⊢ B ▹ B : !s2
subgoal 5 (ID 10712) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 6 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 7 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 8 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 9 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 10 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 open, ?10703 using , ?10704 using , ?10705 using ,)


  apply H0; assumption.
9 subgoals, subgoal 1 (ID 10709)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   Γ' ⊢ ?10702 ▹▹ A : !s1

subgoal 2 (ID 10710) is:
 Γ' ⊢ ?10702 ▹▹ A' : !s1
subgoal 3 (ID 10711) is:
 A :: Γ' ⊢ B ▹ B : !s2
subgoal 4 (ID 10712) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 5 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 6 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 7 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 8 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 9 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 open, ?10703 using , ?10704 using , ?10705 using ,)


  apply H1; assumption.
8 subgoals, subgoal 1 (ID 10710)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   Γ' ⊢ A0 ▹▹ A' : !s1

subgoal 2 (ID 10711) is:
 A :: Γ' ⊢ B ▹ B : !s2
subgoal 3 (ID 10712) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 4 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 5 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using ,)


  apply H2; assumption.
7 subgoals, subgoal 1 (ID 10711)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   A :: Γ' ⊢ B ▹ B : !s2

subgoal 2 (ID 10712) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 3 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using ,)


  apply H3.
8 subgoals, subgoal 1 (ID 10722)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   env_conv1 (A :: Γ) (A :: Γ')

subgoal 2 (ID 10723) is:
 A :: Γ' ⊣
subgoal 3 (ID 10712) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 4 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 5 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 6 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 7 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 8 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using ,)

constructor; assumption.
7 subgoals, subgoal 1 (ID 10723)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   A :: Γ' ⊣

subgoal 2 (ID 10712) is:
 A :: Γ' ⊢ M ▹ M' : B
subgoal 3 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using ,)


            econstructor; apply H; assumption.
6 subgoals, subgoal 1 (ID 10712)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   A :: Γ' ⊢ M ▹ M' : B

subgoal 2 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 3 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 4 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 5 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 6 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using ,)


  apply H4.
7 subgoals, subgoal 1 (ID 10734)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   env_conv1 (A :: Γ) (A :: Γ')

subgoal 2 (ID 10735) is:
 A :: Γ' ⊣
subgoal 3 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 4 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 5 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 6 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 7 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using ,)

constructor; assumption.
6 subgoals, subgoal 1 (ID 10735)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   A :: Γ' ⊣

subgoal 2 (ID 10713) is:
 Γ' ⊢ N ▹ N' : A
subgoal 3 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 4 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 5 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 6 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using ,)


            econstructor; apply H; assumption.
5 subgoals, subgoal 1 (ID 10713)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ A : !s1
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A' ▹ A' : !s1
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A : !s1
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A0 ▹▹ A' : !s1
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ B ▹ B : !s2
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall Γ' : Env, env_conv1 (A :: Γ) Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ M' : B
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ N ▹ N' : A
  Γ' : Env
  H6 : env_conv1 Γ Γ'
  H7 : Γ' ⊣
  ============================
   Γ' ⊢ N ▹ N' : A

subgoal 2 (ID 10347) is:
 Γ' ⊢ M ▹ N : B
subgoal 3 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 4 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 5 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using , ?10741 using , ?10742 using ,)


  apply H5; assumption.
4 subgoals, subgoal 1 (ID 10347)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ N : A
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ B : !s
  Γ' : Env
  H1 : env_conv1 Γ Γ'
  H2 : Γ' ⊣
  ============================
   Γ' ⊢ M ▹ N : B

subgoal 2 (ID 10348) is:
 Γ' ⊢ M ▹ N : A
subgoal 3 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 4 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using , ?10741 using , ?10742 using ,)


eauto.
3 subgoals, subgoal 1 (ID 10348)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ M ▹ N : B
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ A ▹ B : !s
  Γ' : Env
  H1 : env_conv1 Γ Γ'
  H2 : Γ' ⊣
  ============================
   Γ' ⊢ M ▹ N : A

subgoal 2 (ID 10349) is:
 Γ' ⊢ s ▹▹ t : T
subgoal 3 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using , ?10741 using , ?10742 using , ?10752 using , ?10753 using ,)


eauto.
2 subgoals, subgoal 1 (ID 10349)
  
  Γ : Env
  s : Term
  t : Term
  T : Term
  t0 : Γ ⊢ s ▹ t : T
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ s ▹ t : T
  Γ' : Env
  H0 : env_conv1 Γ Γ'
  H1 : Γ' ⊣
  ============================
   Γ' ⊢ s ▹▹ t : T

subgoal 2 (ID 10350) is:
 Γ' ⊢ s ▹▹ u : T
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using , ?10741 using , ?10742 using , ?10752 using , ?10753 using , ?11931 using , ?11932 using ,)


eauto.
1 subgoals, subgoal 1 (ID 10350)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  T : Term
  t0 : Γ ⊢ s ▹▹ t : T
  H : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ s ▹▹ t : T
  t1 : Γ ⊢ t ▹▹ u : T
  H0 : forall Γ' : Env, env_conv1 Γ Γ' -> Γ' ⊣ -> Γ' ⊢ t ▹▹ u : T
  Γ' : Env
  H1 : env_conv1 Γ Γ'
  H2 : Γ' ⊣
  ============================
   Γ' ⊢ s ▹▹ u : T

(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using , ?10741 using , ?10742 using , ?10752 using , ?10753 using , ?11931 using , ?11932 using ,)


eauto.
No more subgoals.
(dependent evars: ?10469 using , ?10470 using , ?10531 using , ?10532 using , ?10571 using , ?10572 using , ?10600 using , ?10601 using , ?10602 using , ?10637 using , ?10638 using , ?10702 using , ?10703 using , ?10704 using , ?10705 using , ?10729 using , ?10730 using , ?10741 using , ?10742 using , ?10752 using , ?10753 using , ?11931 using , ?11932 using , ?11998 using ,)


Qed.
conv1_in_env is defined



Lemma sub_trunc : forall Γ0 a A n Γ Δ, sub_in_env Γ0 a A n Γ Δ -> trunc n Δ Γ0.
1 subgoals, subgoal 1 (ID 12237)
  
  ============================
   forall (Γ0 : Env) (a A : Term) (n : nat) (Γ Δ : Env),
   sub_in_env Γ0 a A n Γ Δ -> trunc n Δ Γ0

(dependent evars:)


induction 1.
2 subgoals, subgoal 1 (ID 12251)
  
  Γ0 : Env
  a : Term
  A : Term
  ============================
   trunc 0 Γ0 Γ0

subgoal 2 (ID 12260) is:
 trunc (S n) (B [n ← a] :: Δ') Γ0
(dependent evars:)


apply trunc_O.
1 subgoals, subgoal 1 (ID 12260)
  
  Γ0 : Env
  a : Term
  A : Term
  Δ : Env
  Δ' : Env
  n : nat
  B : Term
  H : sub_in_env Γ0 a A n Δ Δ'
  IHsub_in_env : trunc n Δ' Γ0
  ============================
   trunc (S n) (B [n ← a] :: Δ') Γ0

(dependent evars:)


apply trunc_S.
1 subgoals, subgoal 1 (ID 12261)
  
  Γ0 : Env
  a : Term
  A : Term
  Δ : Env
  Δ' : Env
  n : nat
  B : Term
  H : sub_in_env Γ0 a A n Δ Δ'
  IHsub_in_env : trunc n Δ' Γ0
  ============================
   trunc n Δ' Γ0

(dependent evars:)

trivial.
No more subgoals.
(dependent evars:)


Qed.
sub_trunc is defined



Lemma sub_in_env_item : forall Δ P A n Γ Γ', sub_in_env Δ P A n Γ Γ' -> A n Γ.
1 subgoals, subgoal 1 (ID 12277)
  
  ============================
   forall (Δ : Env) (P A : Term) (n : nat) (Γ Γ' : Env),
   sub_in_env Δ P A n Γ Γ' -> A ↓ n ∈ Γ

(dependent evars:)


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


Qed.
sub_in_env_item is defined



Lemma typ_reds_to_red_ : forall Γ M N T, Γ M ▹▹ N : T -> exists M', Γ M M' : T.
1 subgoals, subgoal 1 (ID 12315)
  
  ============================
   forall (Γ : Env) (M N T : Term),
   Γ ⊢ M ▹▹ N : T -> exists M' : Term, Γ ⊢ M ▹ M' : T

(dependent evars:)


induction 1.
2 subgoals, subgoal 1 (ID 12337)
  
  Γ : Env
  s : Term
  t : Term
  T : Term
  H : Γ ⊢ s ▹ t : T
  ============================
   exists M' : Term, Γ ⊢ s ▹ M' : T

subgoal 2 (ID 12347) is:
 exists M' : Term, Γ ⊢ s ▹ M' : T
(dependent evars:)

exists t; trivial.
1 subgoals, subgoal 1 (ID 12347)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  T : Term
  H : Γ ⊢ s ▹▹ t : T
  H0 : Γ ⊢ t ▹▹ u : T
  IHtyp_reds1 : exists M' : Term, Γ ⊢ s ▹ M' : T
  IHtyp_reds2 : exists M' : Term, Γ ⊢ t ▹ M' : T
  ============================
   exists M' : Term, Γ ⊢ s ▹ M' : T

(dependent evars:)


trivial.
No more subgoals.
(dependent evars:)


Qed.
typ_reds_to_red_ is defined



Lemma reds_Pi_ : forall Γ A A' s, Γ A ▹▹ A' : !s -> forall B t u, A::Γ B B :!t ->
  Rel s t u -> Γ Π (A), B ▹▹ Π (A'), B : !u.
1 subgoals, subgoal 1 (ID 12364)
  
  ============================
   forall (Γ : Env) (A A' : Term) (s : Sorts),
   Γ ⊢ A ▹▹ A' : !s ->
   forall (B : Term) (t u : Sorts),
   A :: Γ ⊢ B ▹ B : !t -> Rel s t u -> Γ ⊢ Π (A), B ▹▹ Π (A'), B : !u

(dependent evars:)


intros until 1.
1 subgoals, subgoal 1 (ID 12369)
  
  Γ : Env
  A : Term
  A' : Term
  s : Sorts
  H : Γ ⊢ A ▹▹ A' : !s
  ============================
   forall (B : Term) (t u : Sorts),
   A :: Γ ⊢ B ▹ B : !t -> Rel s t u -> Γ ⊢ Π (A), B ▹▹ Π (A'), B : !u

(dependent evars:)

remember !s as S.
1 subgoals, subgoal 1 (ID 12376)
  
  Γ : Env
  A : Term
  A' : Term
  s : Sorts
  S : Term
  HeqS : S = !s
  H : Γ ⊢ A ▹▹ A' : S
  ============================
   forall (B : Term) (t u : Sorts),
   A :: Γ ⊢ B ▹ B : !t -> Rel s t u -> Γ ⊢ Π (A), B ▹▹ Π (A'), B : !u

(dependent evars:)

revert s HeqS.
1 subgoals, subgoal 1 (ID 12378)
  
  Γ : Env
  A : Term
  A' : Term
  S : Term
  H : Γ ⊢ A ▹▹ A' : S
  ============================
   forall s : Sorts,
   S = !s ->
   forall (B : Term) (t u : Sorts),
   A :: Γ ⊢ B ▹ B : !t -> Rel s t u -> Γ ⊢ Π (A), B ▹▹ Π (A'), B : !u

(dependent evars:)

induction H; intros; subst.
2 subgoals, subgoal 1 (ID 12424)
  
  Γ : Env
  s : Term
  t : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u : Sorts
  H0 : s :: Γ ⊢ B ▹ B : !t0
  H1 : Rel s0 t0 u
  H : Γ ⊢ s ▹ t : !s0
  ============================
   Γ ⊢ Π (s), B ▹▹ Π (t), B : !u

subgoal 2 (ID 12432) is:
 Γ ⊢ Π (s), B ▹▹ Π (u), B : !u0
(dependent evars:)


constructor.
2 subgoals, subgoal 1 (ID 12434)
  
  Γ : Env
  s : Term
  t : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u : Sorts
  H0 : s :: Γ ⊢ B ▹ B : !t0
  H1 : Rel s0 t0 u
  H : Γ ⊢ s ▹ t : !s0
  ============================
   Γ ⊢ Π (s), B ▹ Π (t), B : !u

subgoal 2 (ID 12432) is:
 Γ ⊢ Π (s), B ▹▹ Π (u), B : !u0
(dependent evars:)

eapply typ_pi; eauto.
1 subgoals, subgoal 1 (ID 12432)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   Γ ⊢ Π (s), B ▹▹ Π (u), B : !u0

(dependent evars: ?12435 using , ?12436 using ,)


apply typ_reds_trans with (Pi t B).
2 subgoals, subgoal 1 (ID 12456)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   Γ ⊢ Π (s), B ▹▹ Π (t), B : !u0

subgoal 2 (ID 12457) is:
 Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
(dependent evars: ?12435 using , ?12436 using ,)

eapply IHtyp_reds1.
4 subgoals, subgoal 1 (ID 12460)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   !s0 = !?12458

subgoal 2 (ID 12461) is:
 s :: Γ ⊢ B ▹ B : !?12459
subgoal 3 (ID 12462) is:
 Rel ?12458 ?12459 u0
subgoal 4 (ID 12457) is:
 Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
(dependent evars: ?12435 using , ?12436 using , ?12458 open, ?12459 open,)

reflexivity.
3 subgoals, subgoal 1 (ID 12461)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   s :: Γ ⊢ B ▹ B : !?12459

subgoal 2 (ID 12462) is:
 Rel s0 ?12459 u0
subgoal 3 (ID 12457) is:
 Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 open,)

apply H1.
2 subgoals, subgoal 1 (ID 12462)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   Rel s0 t0 u0

subgoal 2 (ID 12457) is:
 Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using ,)

trivial.
1 subgoals, subgoal 1 (ID 12457)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0

(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using ,)


eapply IHtyp_reds2.
3 subgoals, subgoal 1 (ID 12466)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   !s0 = !?12464

subgoal 2 (ID 12467) is:
 t :: Γ ⊢ B ▹ B : !?12465
subgoal 3 (ID 12468) is:
 Rel ?12464 ?12465 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 open, ?12465 open,)

reflexivity.
2 subgoals, subgoal 1 (ID 12467)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   t :: Γ ⊢ B ▹ B : !?12465

subgoal 2 (ID 12468) is:
 Rel s0 ?12465 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 open,)

eapply conv1_in_env.
4 subgoals, subgoal 1 (ID 12483)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   ?12482 ⊢ B ▹ B : !?12465

subgoal 2 (ID 12484) is:
 env_conv1 ?12482 (t :: Γ)
subgoal 3 (ID 12485) is:
 t :: Γ ⊣
subgoal 4 (ID 12468) is:
 Rel s0 ?12465 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 open, ?12478 using ?12482 , ?12482 open,)

apply H1.
3 subgoals, subgoal 1 (ID 12484)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   env_conv1 (s :: Γ) (t :: Γ)

subgoal 2 (ID 12485) is:
 t :: Γ ⊣
subgoal 3 (ID 12468) is:
 Rel s0 t0 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 using , ?12478 using ?12482 , ?12482 using ,)

econstructor.
3 subgoals, subgoal 1 (ID 12487)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   Γ ⊢ s ≡' t

subgoal 2 (ID 12485) is:
 t :: Γ ⊣
subgoal 3 (ID 12468) is:
 Rel s0 t0 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 using , ?12478 using ?12482 , ?12482 using ,)

eauto.
2 subgoals, subgoal 1 (ID 12485)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   t :: Γ ⊣

subgoal 2 (ID 12468) is:
 Rel s0 t0 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 using , ?12478 using ?12482 , ?12482 using , ?12509 using ,)


apply typ_reds_to_red_ in H0.
2 subgoals, subgoal 1 (ID 12573)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : exists M' : Term, Γ ⊢ t ▹ M' : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   t :: Γ ⊣

subgoal 2 (ID 12468) is:
 Rel s0 t0 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 using , ?12478 using ?12482 , ?12482 using , ?12509 using ,)

destruct H0 as (? & ? ).
2 subgoals, subgoal 1 (ID 12579)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  x : Term
  H0 : Γ ⊢ t ▹ x : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   t :: Γ ⊣

subgoal 2 (ID 12468) is:
 Rel s0 t0 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 using , ?12478 using ?12482 , ?12482 using , ?12509 using ,)

econstructor.
2 subgoals, subgoal 1 (ID 12584)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  x : Term
  H0 : Γ ⊢ t ▹ x : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   Γ ⊢ t ▹ ?12582 : !?12583

subgoal 2 (ID 12468) is:
 Rel s0 t0 u0
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 using , ?12478 using ?12482 , ?12482 using , ?12509 using , ?12582 open, ?12583 open,)

apply H0.
1 subgoals, subgoal 1 (ID 12468)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  s0 : Sorts
  B : Term
  t0 : Sorts
  u0 : Sorts
  H1 : s :: Γ ⊢ B ▹ B : !t0
  H2 : Rel s0 t0 u0
  H : Γ ⊢ s ▹▹ t : !s0
  H0 : Γ ⊢ t ▹▹ u : !s0
  IHtyp_reds1 : forall s1 : Sorts,
                !s0 = !s1 ->
                forall (B : Term) (t0 u : Sorts),
                s :: Γ ⊢ B ▹ B : !t0 ->
                Rel s1 t0 u -> Γ ⊢ Π (s), B ▹▹ Π (t), B : !u
  IHtyp_reds2 : forall s : Sorts,
                !s0 = !s ->
                forall (B : Term) (t0 u0 : Sorts),
                t :: Γ ⊢ B ▹ B : !t0 ->
                Rel s t0 u0 -> Γ ⊢ Π (t), B ▹▹ Π (u), B : !u0
  ============================
   Rel s0 t0 u0

(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 using , ?12478 using ?12482 , ?12482 using , ?12509 using , ?12582 using , ?12583 using ,)

trivial.
No more subgoals.
(dependent evars: ?12435 using , ?12436 using , ?12458 using , ?12459 using , ?12464 using , ?12465 using , ?12478 using ?12482 , ?12482 using , ?12509 using , ?12582 using , ?12583 using ,)


Qed.
reds_Pi_ is defined



Left-Hand reflexivity: this ensure that a valid derivation starts from a well typed term.
Theorem red_refl_lt : forall Γ M N T, Γ M N : T -> Γ M M :T.
1 subgoals, subgoal 1 (ID 12600)
  
  ============================
   forall (Γ : Env) (M N T : Term), Γ ⊢ M ▹ N : T -> Γ ⊢ M ▹ M : T

(dependent evars:)


induction 1; intros.
8 subgoals, subgoal 1 (ID 12658)
  
  Γ : Env
  x : nat
  A : Term
  H : Γ ⊣
  H0 : A ↓ x ⊂ Γ
  ============================
   Γ ⊢ #x ▹ #x : A

subgoal 2 (ID 12663) is:
 Γ ⊢ !s1 ▹ !s1 : !s2
subgoal 3 (ID 12677) is:
 Γ ⊢ Π (A), B ▹ Π (A), B : !s3
subgoal 4 (ID 12695) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A), B
subgoal 5 (ID 12719) is:
 Γ ⊢ M ·( A, B)N ▹ M ·( A, B)N : B [ ← N]
subgoal 6 (ID 12750) is:
 Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]
subgoal 7 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 8 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars:)


constructor; trivial.
7 subgoals, subgoal 1 (ID 12663)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  H : Ax s1 s2
  H0 : Γ ⊣
  ============================
   Γ ⊢ !s1 ▹ !s1 : !s2

subgoal 2 (ID 12677) is:
 Γ ⊢ Π (A), B ▹ Π (A), B : !s3
subgoal 3 (ID 12695) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A), B
subgoal 4 (ID 12719) is:
 Γ ⊢ M ·( A, B)N ▹ M ·( A, B)N : B [ ← N]
subgoal 5 (ID 12750) is:
 Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]
subgoal 6 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 7 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars:)


constructor; trivial.
6 subgoals, subgoal 1 (ID 12677)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A' : !s1
  H1 : A :: Γ ⊢ B ▹ B' : !s2
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : A :: Γ ⊢ B ▹ B : !s2
  ============================
   Γ ⊢ Π (A), B ▹ Π (A), B : !s3

subgoal 2 (ID 12695) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A), B
subgoal 3 (ID 12719) is:
 Γ ⊢ M ·( A, B)N ▹ M ·( A, B)N : B [ ← N]
subgoal 4 (ID 12750) is:
 Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars:)


apply typ_pi with s1 s2; trivial.
5 subgoals, subgoal 1 (ID 12695)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A' : !s1
  H1 : A :: Γ ⊢ B ▹ B : !s2
  H2 : A :: Γ ⊢ M ▹ M' : B
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp3 : A :: Γ ⊢ M ▹ M : B
  ============================
   Γ ⊢ λ [A], M ▹ λ [A], M : Π (A), B

subgoal 2 (ID 12719) is:
 Γ ⊢ M ·( A, B)N ▹ M ·( A, B)N : B [ ← N]
subgoal 3 (ID 12750) is:
 Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars:)


apply typ_la with s1 s2 s3; trivial.
4 subgoals, subgoal 1 (ID 12719)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A' : !s1
  H1 : A :: Γ ⊢ B ▹ B' : !s2
  H2 : Γ ⊢ M ▹ M' : Π (A), B
  H3 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp3 : Γ ⊢ M ▹ M : Π (A), B
  IHtyp4 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ M ·( A, B)N ▹ M ·( A, B)N : B [ ← N]

subgoal 2 (ID 12750) is:
 Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars:)


eapply typ_app;trivial.
6 subgoals, subgoal 1 (ID 12790)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A' : !s1
  H1 : A :: Γ ⊢ B ▹ B' : !s2
  H2 : Γ ⊢ M ▹ M' : Π (A), B
  H3 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp3 : Γ ⊢ M ▹ M : Π (A), B
  IHtyp4 : Γ ⊢ N ▹ N : A
  ============================
   Rel ?12787 ?12788 ?12789

subgoal 2 (ID 12791) is:
 Γ ⊢ A ▹ A : !?12787
subgoal 3 (ID 12792) is:
 A :: Γ ⊢ B ▹ B : !?12788
subgoal 4 (ID 12750) is:
 Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 open, ?12788 open, ?12789 open,)

apply H.
5 subgoals, subgoal 1 (ID 12791)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A' : !s1
  H1 : A :: Γ ⊢ B ▹ B' : !s2
  H2 : Γ ⊢ M ▹ M' : Π (A), B
  H3 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp3 : Γ ⊢ M ▹ M : Π (A), B
  IHtyp4 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ A ▹ A : !s1

subgoal 2 (ID 12792) is:
 A :: Γ ⊢ B ▹ B : !s2
subgoal 3 (ID 12750) is:
 Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using ,)

trivial.
4 subgoals, subgoal 1 (ID 12792)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A' : !s1
  H1 : A :: Γ ⊢ B ▹ B' : !s2
  H2 : Γ ⊢ M ▹ M' : Π (A), B
  H3 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp3 : Γ ⊢ M ▹ M : Π (A), B
  IHtyp4 : Γ ⊢ N ▹ N : A
  ============================
   A :: Γ ⊢ B ▹ B : !s2

subgoal 2 (ID 12750) is:
 Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using ,)

trivial.
3 subgoals, subgoal 1 (ID 12750)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ (λ [A], M) ·( A', B)N ▹ (λ [A], M) ·( A', B)N : B [ ← N]

subgoal 2 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 3 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using ,)


eapply typ_app;trivial.
7 subgoals, subgoal 1 (ID 12798)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Rel ?12795 ?12796 ?12797

subgoal 2 (ID 12799) is:
 Γ ⊢ A' ▹ A' : !?12795
subgoal 3 (ID 12800) is:
 A' :: Γ ⊢ B ▹ B : !?12796
subgoal 4 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 5 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 6 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 7 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 open, ?12796 open, ?12797 open,)

apply H.
6 subgoals, subgoal 1 (ID 12799)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ A' ▹ A' : !s1

subgoal 2 (ID 12800) is:
 A' :: Γ ⊢ B ▹ B : !s2
subgoal 3 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 4 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using ,)

trivial.
5 subgoals, subgoal 1 (ID 12800)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   A' :: Γ ⊢ B ▹ B : !s2

subgoal 2 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using ,)

eapply conv1_in_env.
7 subgoals, subgoal 1 (ID 12816)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   ?12815 ⊢ B ▹ B : !s2

subgoal 2 (ID 12817) is:
 env_conv1 ?12815 (A' :: Γ)
subgoal 3 (ID 12818) is:
 A' :: Γ ⊣
subgoal 4 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 5 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 6 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 7 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 open,)


apply IHtyp3.
6 subgoals, subgoal 1 (ID 12817)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   env_conv1 (A :: Γ) (A' :: Γ)

subgoal 2 (ID 12818) is:
 A' :: Γ ⊣
subgoal 3 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 4 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using ,)

econstructor.
6 subgoals, subgoal 1 (ID 12820)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ A ≡' A'

subgoal 2 (ID 12818) is:
 A' :: Γ ⊣
subgoal 3 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 4 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using ,)

apply typ_peq_trans with A0.
7 subgoals, subgoal 1 (ID 12821)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ A ≡' A0

subgoal 2 (ID 12822) is:
 Γ ⊢ A0 ≡' A'
subgoal 3 (ID 12818) is:
 A' :: Γ ⊣
subgoal 4 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 5 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 6 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 7 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using ,)

eauto.
6 subgoals, subgoal 1 (ID 12822)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ A0 ≡' A'

subgoal 2 (ID 12818) is:
 A' :: Γ ⊣
subgoal 3 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 4 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using ,)

eauto.
5 subgoals, subgoal 1 (ID 12818)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   A' :: Γ ⊣

subgoal 2 (ID 12801) is:
 Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using ,)


eauto.
4 subgoals, subgoal 1 (ID 12801)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ λ [A], M ▹ λ [A], M : Π (A'), B

subgoal 2 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using ,)

eapply typ_pcompat.
5 subgoals, subgoal 1 (ID 12981)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ λ [A], M ▹ λ [A], M : ?12980

subgoal 2 (ID 12982) is:
 Γ ⊢ ?12980 ≡' Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 open,)

eapply typ_la.
8 subgoals, subgoal 1 (ID 12988)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Rel ?12985 ?12986 ?12987

subgoal 2 (ID 12989) is:
 Γ ⊢ A ▹ A : !?12985
subgoal 3 (ID 12990) is:
 A :: Γ ⊢ ?12984 ▹ ?12984 : !?12986
subgoal 4 (ID 12991) is:
 A :: Γ ⊢ M ▹ M : ?12984
subgoal 5 (ID 12982) is:
 Γ ⊢ Π (A), ?12984 ≡' Π (A'), B
subgoal 6 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 7 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 8 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 open, ?12985 open, ?12986 open, ?12987 open,)

apply H.
7 subgoals, subgoal 1 (ID 12989)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ A ▹ A : !s1

subgoal 2 (ID 12990) is:
 A :: Γ ⊢ ?12984 ▹ ?12984 : !s2
subgoal 3 (ID 12991) is:
 A :: Γ ⊢ M ▹ M : ?12984
subgoal 4 (ID 12982) is:
 Γ ⊢ Π (A), ?12984 ≡' Π (A'), B
subgoal 5 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 6 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 7 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 open, ?12985 using , ?12986 using , ?12987 using ,)


trivial.
6 subgoals, subgoal 1 (ID 12990)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   A :: Γ ⊢ ?12984 ▹ ?12984 : !s2

subgoal 2 (ID 12991) is:
 A :: Γ ⊢ M ▹ M : ?12984
subgoal 3 (ID 12982) is:
 Γ ⊢ Π (A), ?12984 ≡' Π (A'), B
subgoal 4 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 open, ?12985 using , ?12986 using , ?12987 using ,)

apply IHtyp3.
5 subgoals, subgoal 1 (ID 12991)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   A :: Γ ⊢ M ▹ M : B

subgoal 2 (ID 12982) is:
 Γ ⊢ Π (A), B ≡' Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using ,)

trivial.
4 subgoals, subgoal 1 (ID 12982)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ Π (A), B ≡' Π (A'), B

subgoal 2 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using ,)

apply typ_peq_trans with (Π(A0),B).
5 subgoals, subgoal 1 (ID 12992)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ Π (A), B ≡' Π (A0), B

subgoal 2 (ID 12993) is:
 Γ ⊢ Π (A0), B ≡' Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using ,)


apply typ_peq_sym.
5 subgoals, subgoal 1 (ID 12994)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ Π (A0), B ≡' Π (A), B

subgoal 2 (ID 12993) is:
 Γ ⊢ Π (A0), B ≡' Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using ,)

apply reds_to_conv with s3.
5 subgoals, subgoal 1 (ID 12995)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ Π (A0), B ▹▹ Π (A), B : !s3

subgoal 2 (ID 12993) is:
 Γ ⊢ Π (A0), B ≡' Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using ,)

eapply reds_Pi_; eauto.
5 subgoals, subgoal 1 (ID 12999)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   A0 :: Γ ⊢ B ▹ B : !s2

subgoal 2 (ID 12993) is:
 Γ ⊢ Π (A0), B ≡' Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using ,)


eapply conv1_in_env.
7 subgoals, subgoal 1 (ID 13266)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   ?13265 ⊢ B ▹ B : !s2

subgoal 2 (ID 13267) is:
 env_conv1 ?13265 (A0 :: Γ)
subgoal 3 (ID 13268) is:
 A0 :: Γ ⊣
subgoal 4 (ID 12993) is:
 Γ ⊢ Π (A0), B ≡' Π (A'), B
subgoal 5 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 6 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 7 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 open,)

apply IHtyp3.
6 subgoals, subgoal 1 (ID 13267)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   env_conv1 (A :: Γ) (A0 :: Γ)

subgoal 2 (ID 13268) is:
 A0 :: Γ ⊣
subgoal 3 (ID 12993) is:
 Γ ⊢ Π (A0), B ≡' Π (A'), B
subgoal 4 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using ,)

eauto.
5 subgoals, subgoal 1 (ID 13268)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   A0 :: Γ ⊣

subgoal 2 (ID 12993) is:
 Γ ⊢ Π (A0), B ≡' Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using ,)

apply typ_reds_to_red_ in H2 as (? & ?).
5 subgoals, subgoal 1 (ID 13349)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  x : Term
  H2 : Γ ⊢ A0 ▹ x : !s1
  ============================
   A0 :: Γ ⊣

subgoal 2 (ID 12993) is:
 Γ ⊢ Π (A0), B ≡' Π (A'), B
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using ,)

econstructor; apply H2.
4 subgoals, subgoal 1 (ID 12993)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ Π (A0), B ≡' Π (A'), B

subgoal 2 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using ,)


apply reds_to_conv with s3.
4 subgoals, subgoal 1 (ID 13355)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ Π (A0), B ▹▹ Π (A'), B : !s3

subgoal 2 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using ,)

eapply reds_Pi_; eauto.
4 subgoals, subgoal 1 (ID 13359)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   A0 :: Γ ⊢ B ▹ B : !s2

subgoal 2 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using ,)


eapply conv1_in_env.
6 subgoals, subgoal 1 (ID 13626)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   ?13625 ⊢ B ▹ B : !s2

subgoal 2 (ID 13627) is:
 env_conv1 ?13625 (A0 :: Γ)
subgoal 3 (ID 13628) is:
 A0 :: Γ ⊣
subgoal 4 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 5 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 6 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 open,)

apply IHtyp3.
5 subgoals, subgoal 1 (ID 13627)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   env_conv1 (A :: Γ) (A0 :: Γ)

subgoal 2 (ID 13628) is:
 A0 :: Γ ⊣
subgoal 3 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 4 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 5 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using ,)

eauto.
4 subgoals, subgoal 1 (ID 13628)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   A0 :: Γ ⊣

subgoal 2 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using , ?13641 using ,)

apply typ_reds_to_red_ in H2 as (? & ?).
4 subgoals, subgoal 1 (ID 13709)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  x : Term
  H2 : Γ ⊢ A0 ▹ x : !s1
  ============================
   A0 :: Γ ⊣

subgoal 2 (ID 12802) is:
 Γ ⊢ N ▹ N : A'
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using , ?13641 using ,)

econstructor; apply H2.
3 subgoals, subgoal 1 (ID 12802)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ N ▹ N : A'

subgoal 2 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 3 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using , ?13641 using , ?13712 using , ?13713 using ,)


apply typ_pcompat with A.
4 subgoals, subgoal 1 (ID 13715)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ N ▹ N : A

subgoal 2 (ID 13716) is:
 Γ ⊢ A ≡' A'
subgoal 3 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 4 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using , ?13641 using , ?13712 using , ?13713 using ,)

trivial.
3 subgoals, subgoal 1 (ID 13716)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  H : Rel s1 s2 s3
  H0 : Γ ⊢ A ▹ A : !s1
  H1 : Γ ⊢ A' ▹ A' : !s1
  H2 : Γ ⊢ A0 ▹▹ A : !s1
  H3 : Γ ⊢ A0 ▹▹ A' : !s1
  H4 : A :: Γ ⊢ B ▹ B : !s2
  H5 : A :: Γ ⊢ M ▹ M' : B
  H6 : Γ ⊢ N ▹ N' : A
  IHtyp1 : Γ ⊢ A ▹ A : !s1
  IHtyp2 : Γ ⊢ A' ▹ A' : !s1
  IHtyp3 : A :: Γ ⊢ B ▹ B : !s2
  IHtyp4 : A :: Γ ⊢ M ▹ M : B
  IHtyp5 : Γ ⊢ N ▹ N : A
  ============================
   Γ ⊢ A ≡' A'

subgoal 2 (ID 12761) is:
 Γ ⊢ M ▹ M : B
subgoal 3 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using , ?13641 using , ?13712 using , ?13713 using ,)

eauto.
2 subgoals, subgoal 1 (ID 12761)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : A
  H0 : Γ ⊢ A ▹ B : !s
  IHtyp1 : Γ ⊢ M ▹ M : A
  IHtyp2 : Γ ⊢ A ▹ A : !s
  ============================
   Γ ⊢ M ▹ M : B

subgoal 2 (ID 12772) is:
 Γ ⊢ M ▹ M : A
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using , ?13641 using , ?13712 using , ?13713 using , ?13724 using , ?15114 using , ?15218 using ,)


apply typ_red with A s; trivial.
1 subgoals, subgoal 1 (ID 12772)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  H : Γ ⊢ M ▹ N : B
  H0 : Γ ⊢ A ▹ B : !s
  IHtyp1 : Γ ⊢ M ▹ M : B
  IHtyp2 : Γ ⊢ A ▹ A : !s
  ============================
   Γ ⊢ M ▹ M : A

(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using , ?13641 using , ?13712 using , ?13713 using , ?13724 using , ?15114 using , ?15218 using ,)


apply typ_exp with B s; trivial.
No more subgoals.
(dependent evars: ?12787 using , ?12788 using , ?12789 using , ?12795 using , ?12796 using , ?12797 using , ?12811 using ?12815 , ?12815 using , ?12854 using , ?12898 using , ?12961 using , ?12962 using , ?12980 using ?12984 ?12983 , ?12983 using , ?12984 using , ?12985 using , ?12986 using , ?12987 using , ?12996 using , ?12997 using , ?13261 using ?13265 , ?13265 using , ?13281 using , ?13352 using , ?13353 using , ?13356 using , ?13357 using , ?13621 using ?13625 , ?13625 using , ?13641 using , ?13712 using , ?13713 using , ?13724 using , ?15114 using , ?15218 using ,)


Qed.
red_refl_lt is defined



Lemma reds_refl_lt : forall Γ M N T, Γ M ▹▹ N : T -> Γ M M :T.
1 subgoals, subgoal 1 (ID 15255)
  
  ============================
   forall (Γ : Env) (M N T : Term), Γ ⊢ M ▹▹ N : T -> Γ ⊢ M ▹ M : T

(dependent evars:)


induction 1.
2 subgoals, subgoal 1 (ID 15277)
  
  Γ : Env
  s : Term
  t : Term
  T : Term
  H : Γ ⊢ s ▹ t : T
  ============================
   Γ ⊢ s ▹ s : T

subgoal 2 (ID 15287) is:
 Γ ⊢ s ▹ s : T
(dependent evars:)

apply red_refl_lt in H; trivial.
1 subgoals, subgoal 1 (ID 15287)
  
  Γ : Env
  s : Term
  t : Term
  u : Term
  T : Term
  H : Γ ⊢ s ▹▹ t : T
  H0 : Γ ⊢ t ▹▹ u : T
  IHtyp_reds1 : Γ ⊢ s ▹ s : T
  IHtyp_reds2 : Γ ⊢ t ▹ t : T
  ============================
   Γ ⊢ s ▹ s : T

(dependent evars:)


trivial.
No more subgoals.
(dependent evars:)


Qed.
reds_refl_lt is defined



Substitution Lemma
Theorem subst_gen : (forall Γ M N T, Γ M N : T ->
  forall Δ Γ' u U n, sub_in_env Δ u U n Γ Γ' ->
  forall u', Δ u u' : U ->
  Γ' M [ n u] N [ n u'] : T [ n u])/\
(forall Γ M N T, Γ M ▹▹ N : T ->
  forall Δ Γ' u U n, sub_in_env Δ u U n Γ Γ' ->
  forall u', Δ u u' : U ->
  Γ' M [ n u] ▹▹ N [ n u'] : T [ n u])/\
 (forall Γ, Γ -> forall Δ P P' A n Γ', Δ P P' : A ->
    sub_in_env Δ P A n Γ Γ' -> Γ' ).
1 subgoals, subgoal 1 (ID 15323)
  
  ============================
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢ M ▹ N : T ->
    forall (Δ Γ' : Env) (u U : Term) (n : nat),
    sub_in_env Δ u U n Γ Γ' ->
    forall u' : Term,
    Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : T [n ← u]) /\
   (forall (Γ : Env) (M N T : Term),
    Γ ⊢ M ▹▹ N : T ->
    forall (Δ Γ' : Env) (u U : Term) (n : nat),
    sub_in_env Δ u U n Γ Γ' ->
    forall u' : Term,
    Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹▹ N [n ← u'] : T [n ← u]) /\
   (forall Γ : Env,
    Γ ⊣ ->
    forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
    Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣)

(dependent evars:)


apply typ_induc; intros.
12 subgoals, subgoal 1 (ID 15349)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ #x [n ← u] ▹ #x [n ← u'] : A [n ← u]

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars:)


simpl.
12 subgoals, subgoal 1 (ID 15562)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  ============================
   Γ'
   ⊢ match lt_eq_lt_dec x n with
     | inleft (left _) => #x
     | inleft (right _) => u ↑ n
     | inright _ => #(x - 1)
     end
   ▹ match lt_eq_lt_dec x n with
     | inleft (left _) => #x
     | inleft (right _) => u' ↑ n
     | inright _ => #(x - 1)
     end : A [n ← u]

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars:)

destruct lt_eq_lt_dec as [ []| ].
14 subgoals, subgoal 1 (ID 15576)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : x < n
  ============================
   Γ' ⊢ #x ▹ #x : A [n ← u]

subgoal 2 (ID 15577) is:
 Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]
subgoal 3 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars:)


constructor.
15 subgoals, subgoal 1 (ID 15580)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : x < n
  ============================
   Γ' ⊣

subgoal 2 (ID 15581) is:
 A [n ← u] ↓ x ⊂ Γ'
subgoal 3 (ID 15577) is:
 Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]
subgoal 4 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 5 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 6 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 7 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 8 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 9 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 10 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 11 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 12 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 13 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 14 (ID 15547) is:
 Γ' ⊣
subgoal 15 (ID 15561) is:
 Γ' ⊣
(dependent evars:)

eapply H.
16 subgoals, subgoal 1 (ID 15587)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : x < n
  ============================
   ?15582 ⊢ ?15583 ▹ ?15584 : ?15585

subgoal 2 (ID 15588) is:
 sub_in_env ?15582 ?15583 ?15585 ?15586 Γ Γ'
subgoal 3 (ID 15581) is:
 A [n ← u] ↓ x ⊂ Γ'
subgoal 4 (ID 15577) is:
 Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]
subgoal 5 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 6 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 7 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 8 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 9 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 10 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 11 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 12 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 13 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 14 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 15 (ID 15547) is:
 Γ' ⊣
subgoal 16 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 open, ?15583 open, ?15584 open, ?15585 open, ?15586 open,)

apply H1.
15 subgoals, subgoal 1 (ID 15588)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : x < n
  ============================
   sub_in_env Δ u U ?15586 Γ Γ'

subgoal 2 (ID 15581) is:
 A [n ← u] ↓ x ⊂ Γ'
subgoal 3 (ID 15577) is:
 Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]
subgoal 4 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 5 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 6 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 7 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 8 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 9 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 10 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 11 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 12 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 13 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 14 (ID 15547) is:
 Γ' ⊣
subgoal 15 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 open,)

apply H0.
14 subgoals, subgoal 1 (ID 15581)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : x < n
  ============================
   A [n ← u] ↓ x ⊂ Γ'

subgoal 2 (ID 15577) is:
 Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]
subgoal 3 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using ,)


eapply nth_sub_item_inf.
16 subgoals, subgoal 1 (ID 15592)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : x < n
  ============================
   sub_in_env ?15590 u ?15589 n ?15591 Γ'

subgoal 2 (ID 15593) is:
 n > x
subgoal 3 (ID 15594) is:
 A ↓ x ⊂ ?15591
subgoal 4 (ID 15577) is:
 Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]
subgoal 5 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 6 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 7 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 8 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 9 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 10 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 11 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 12 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 13 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 14 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 15 (ID 15547) is:
 Γ' ⊣
subgoal 16 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 open, ?15590 open, ?15591 open,)

apply H0.
15 subgoals, subgoal 1 (ID 15593)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : x < n
  ============================
   n > x

subgoal 2 (ID 15594) is:
 A ↓ x ⊂ Γ
subgoal 3 (ID 15577) is:
 Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]
subgoal 4 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 5 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 6 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 7 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 8 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 9 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 10 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 11 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 12 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 13 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 14 (ID 15547) is:
 Γ' ⊣
subgoal 15 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using ,)

intuition.
14 subgoals, subgoal 1 (ID 15594)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : x < n
  ============================
   A ↓ x ⊂ Γ

subgoal 2 (ID 15577) is:
 Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]
subgoal 3 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using ,)

trivial.
13 subgoals, subgoal 1 (ID 15577)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  e : x = n
  ============================
   Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]

subgoal 2 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using ,)


destruct i as (a & ?& ?).
13 subgoals, subgoal 1 (ID 15605)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H2 : A = a ↑ (S x)
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  e : x = n
  ============================
   Γ' ⊢ u ↑ n ▹ u' ↑ n : A [n ← u]

subgoal 2 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using ,)


subst.
13 subgoals, subgoal 1 (ID 15614)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   Γ' ⊢ u ↑ n ▹ u' ↑ n : a ↑ (S n) [n ← u]

subgoal 2 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using ,)

rewrite substP3; intuition.
13 subgoals, subgoal 1 (ID 15615)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   Γ' ⊢ u ↑ n ▹ u' ↑ n : a ↑ n

subgoal 2 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using ,)


apply thinning_n with Δ.
15 subgoals, subgoal 1 (ID 15660)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   trunc n Γ' Δ

subgoal 2 (ID 15661) is:
 Δ ⊢ u ▹ u' : a
subgoal 3 (ID 15662) is:
 Γ' ⊣
subgoal 4 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 5 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 6 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 7 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 8 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 9 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 10 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 11 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 12 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 13 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 14 (ID 15547) is:
 Γ' ⊣
subgoal 15 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using ,)

eapply sub_trunc.
15 subgoals, subgoal 1 (ID 15666)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   sub_in_env Δ ?15663 ?15664 n ?15665 Γ'

subgoal 2 (ID 15661) is:
 Δ ⊢ u ▹ u' : a
subgoal 3 (ID 15662) is:
 Γ' ⊣
subgoal 4 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 5 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 6 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 7 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 8 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 9 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 10 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 11 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 12 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 13 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 14 (ID 15547) is:
 Γ' ⊣
subgoal 15 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 open, ?15664 open, ?15665 open,)

apply H0.
14 subgoals, subgoal 1 (ID 15661)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   Δ ⊢ u ▹ u' : a

subgoal 2 (ID 15662) is:
 Γ' ⊣
subgoal 3 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using ,)


replace a with U.
15 subgoals, subgoal 1 (ID 15670)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   Δ ⊢ u ▹ u' : U

subgoal 2 (ID 15667) is:
 U = a
subgoal 3 (ID 15662) is:
 Γ' ⊣
subgoal 4 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 5 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 6 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 7 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 8 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 9 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 10 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 11 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 12 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 13 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 14 (ID 15547) is:
 Γ' ⊣
subgoal 15 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using ,)

trivial.
14 subgoals, subgoal 1 (ID 15667)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   U = a

subgoal 2 (ID 15662) is:
 Γ' ⊣
subgoal 3 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using ,)

eapply fun_item.
15 subgoals, subgoal 1 (ID 15674)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   U ↓ ?15673 ∈ ?15672

subgoal 2 (ID 15675) is:
 a ↓ ?15673 ∈ ?15672
subgoal 3 (ID 15662) is:
 Γ' ⊣
subgoal 4 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 5 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 6 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 7 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 8 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 9 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 10 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 11 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 12 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 13 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 14 (ID 15547) is:
 Γ' ⊣
subgoal 15 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 open, ?15673 open,)

eapply sub_in_env_item.
15 subgoals, subgoal 1 (ID 15679)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   sub_in_env ?15676 ?15677 U ?15673 ?15672 ?15678

subgoal 2 (ID 15675) is:
 a ↓ ?15673 ∈ ?15672
subgoal 3 (ID 15662) is:
 Γ' ⊣
subgoal 4 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 5 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 6 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 7 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 8 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 9 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 10 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 11 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 12 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 13 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 14 (ID 15547) is:
 Γ' ⊣
subgoal 15 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 open, ?15673 open, ?15676 open, ?15677 open, ?15678 open,)

apply H0.
14 subgoals, subgoal 1 (ID 15675)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   a ↓ n ∈ Γ

subgoal 2 (ID 15662) is:
 Γ' ⊣
subgoal 3 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using ,)

trivial.
13 subgoals, subgoal 1 (ID 15662)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   Γ' ⊣

subgoal 2 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using ,)


eapply H.
14 subgoals, subgoal 1 (ID 15685)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   ?15680 ⊢ ?15681 ▹ ?15682 : ?15683

subgoal 2 (ID 15686) is:
 sub_in_env ?15680 ?15681 ?15683 ?15684 Γ Γ'
subgoal 3 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 open, ?15681 open, ?15682 open, ?15683 open, ?15684 open,)

apply H1.
13 subgoals, subgoal 1 (ID 15686)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  H3 : a ↓ n ∈ Γ
  ============================
   sub_in_env Δ u U ?15684 Γ Γ'

subgoal 2 (ID 15578) is:
 Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 open,)

apply H0.
12 subgoals, subgoal 1 (ID 15578)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  i : A ↓ x ⊂ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using ,)


destruct i as (a & ? &?).
12 subgoals, subgoal 1 (ID 15697)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H2 : A = a ↑ (S x)
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   Γ' ⊢ #(x - 1) ▹ #(x - 1) : A [n ← u]

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using ,)


constructor.
13 subgoals, subgoal 1 (ID 15699)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H2 : A = a ↑ (S x)
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   Γ' ⊣

subgoal 2 (ID 15700) is:
 A [n ← u] ↓ x - 1 ⊂ Γ'
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using ,)

eapply H.
14 subgoals, subgoal 1 (ID 15706)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H2 : A = a ↑ (S x)
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   ?15701 ⊢ ?15702 ▹ ?15703 : ?15704

subgoal 2 (ID 15707) is:
 sub_in_env ?15701 ?15702 ?15704 ?15705 Γ Γ'
subgoal 3 (ID 15700) is:
 A [n ← u] ↓ x - 1 ⊂ Γ'
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 open, ?15702 open, ?15703 open, ?15704 open, ?15705 open,)

apply H1.
13 subgoals, subgoal 1 (ID 15707)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H2 : A = a ↑ (S x)
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   sub_in_env Δ u U ?15705 Γ Γ'

subgoal 2 (ID 15700) is:
 A [n ← u] ↓ x - 1 ⊂ Γ'
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 open,)

apply H0.
12 subgoals, subgoal 1 (ID 15700)
  
  Γ : Env
  x : nat
  A : Term
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H2 : A = a ↑ (S x)
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   A [n ← u] ↓ x - 1 ⊂ Γ'

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)


subst.
12 subgoals, subgoal 1 (ID 15710)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   a ↑ (S x) [n ← u] ↓ x - 1 ⊂ Γ'

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

rewrite substP3; intuition.
12 subgoals, subgoal 1 (ID 15711)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   a ↑ x ↓ x - 1 ⊂ Γ'

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)


exists a.
12 subgoals, subgoal 1 (ID 15773)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   a ↑ x = a ↑ (S (x - 1)) /\ a ↓ x - 1 ∈ Γ'

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

split.
13 subgoals, subgoal 1 (ID 15775)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   a ↑ x = a ↑ (S (x - 1))

subgoal 2 (ID 15776) is:
 a ↓ x - 1 ∈ Γ'
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

replace (S (x -1)) with x.
14 subgoals, subgoal 1 (ID 15780)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   a ↑ x = a ↑ x

subgoal 2 (ID 15777) is:
 x = S (x - 1)
subgoal 3 (ID 15776) is:
 a ↓ x - 1 ∈ Γ'
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

trivial.
13 subgoals, subgoal 1 (ID 15777)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   x = S (x - 1)

subgoal 2 (ID 15776) is:
 a ↓ x - 1 ∈ Γ'
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)


rewrite minus_Sn_m.
14 subgoals, subgoal 1 (ID 15782)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   x = S x - 1

subgoal 2 (ID 15783) is:
 1 <= x
subgoal 3 (ID 15776) is:
 a ↓ x - 1 ∈ Γ'
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

rewrite <- pred_of_minus.
14 subgoals, subgoal 1 (ID 15784)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   x = pred (S x)

subgoal 2 (ID 15783) is:
 1 <= x
subgoal 3 (ID 15776) is:
 a ↓ x - 1 ∈ Γ'
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

simpl; trivial.
13 subgoals, subgoal 1 (ID 15783)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   1 <= x

subgoal 2 (ID 15776) is:
 a ↓ x - 1 ∈ Γ'
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

destruct x.
14 subgoals, subgoal 1 (ID 15794)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ 0 ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < 0
  ============================
   1 <= 0

subgoal 2 (ID 15799) is:
 1 <= S x
subgoal 3 (ID 15776) is:
 a ↓ x - 1 ∈ Γ'
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

apply lt_n_O in l; elim l.
13 subgoals, subgoal 1 (ID 15799)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ S x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < S x
  ============================
   1 <= S x

subgoal 2 (ID 15776) is:
 a ↓ x - 1 ∈ Γ'
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)


intuition.
12 subgoals, subgoal 1 (ID 15776)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   a ↓ x - 1 ∈ Γ'

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using ,)

eapply nth_sub_sup.
14 subgoals, subgoal 1 (ID 15824)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   sub_in_env ?15820 ?15822 ?15823 ?15819 ?15821 Γ'

subgoal 2 (ID 15825) is:
 ?15819 <= x - 1
subgoal 3 (ID 15826) is:
 a ↓ S (x - 1) ∈ ?15821
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 open, ?15820 open, ?15821 open, ?15822 open, ?15823 open,)

apply H0.
13 subgoals, subgoal 1 (ID 15825)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   n <= x - 1

subgoal 2 (ID 15826) is:
 a ↓ S (x - 1) ∈ Γ
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

destruct x.
14 subgoals, subgoal 1 (ID 15835)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ 0 ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < 0
  ============================
   n <= 0 - 1

subgoal 2 (ID 15840) is:
 n <= S x - 1
subgoal 3 (ID 15826) is:
 a ↓ S (x - 1) ∈ Γ
subgoal 4 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 5 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 6 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 7 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 8 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

apply lt_n_O in l; elim l.
13 subgoals, subgoal 1 (ID 15840)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ S x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < S x
  ============================
   n <= S x - 1

subgoal 2 (ID 15826) is:
 a ↓ S (x - 1) ∈ Γ
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

rewrite <- pred_of_minus.
13 subgoals, subgoal 1 (ID 15843)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ S x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < S x
  ============================
   n <= pred (S x)

subgoal 2 (ID 15826) is:
 a ↓ S (x - 1) ∈ Γ
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)


simpl; intuition.
12 subgoals, subgoal 1 (ID 15826)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   a ↓ S (x - 1) ∈ Γ

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

replace (S (x -1)) with x.
13 subgoals, subgoal 1 (ID 15865)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   a ↓ x ∈ Γ

subgoal 2 (ID 15862) is:
 x = S (x - 1)
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

trivial.
12 subgoals, subgoal 1 (ID 15862)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   x = S (x - 1)

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

rewrite minus_Sn_m.
13 subgoals, subgoal 1 (ID 15867)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   x = S x - 1

subgoal 2 (ID 15868) is:
 1 <= x
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

rewrite <- pred_of_minus.
13 subgoals, subgoal 1 (ID 15869)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   x = pred (S x)

subgoal 2 (ID 15868) is:
 1 <= x
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)


simpl; trivial.
12 subgoals, subgoal 1 (ID 15868)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < x
  ============================
   1 <= x

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

destruct x.
13 subgoals, subgoal 1 (ID 15879)
  
  Γ : Env
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ 0 ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < 0
  ============================
   1 <= 0

subgoal 2 (ID 15884) is:
 1 <= S x
subgoal 3 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 4 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 5 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 6 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 7 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

apply lt_n_O in l; elim l.
12 subgoals, subgoal 1 (ID 15884)
  
  Γ : Env
  x : nat
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  a : Term
  H3 : a ↓ S x ∈ Γ
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  l : n < S x
  ============================
   1 <= S x

subgoal 2 (ID 15363) is:
 Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)

intuition.
11 subgoals, subgoal 1 (ID 15363)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  a : Ax s1 s2
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ !s1 [n ← u] ▹ !s1 [n ← u'] : !s2 [n ← u]

subgoal 2 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 3 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)


simpl; constructor; trivial.
11 subgoals, subgoal 1 (ID 15908)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  a : Ax s1 s2
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊣

subgoal 2 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 3 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using ,)


eapply H.
12 subgoals, subgoal 1 (ID 15914)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  a : Ax s1 s2
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  ============================
   ?15909 ⊢ ?15910 ▹ ?15911 : ?15912

subgoal 2 (ID 15915) is:
 sub_in_env ?15909 ?15910 ?15912 ?15913 Γ Γ'
subgoal 3 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 open, ?15910 open, ?15911 open, ?15912 open, ?15913 open,)

apply H1.
11 subgoals, subgoal 1 (ID 15915)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  a : Ax s1 s2
  w : Γ ⊣
  H : forall (Δ : Env) (P P' A : Term) (n : nat) (Γ' : Env),
      Δ ⊢ P ▹ P' : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env Δ u U ?15913 Γ Γ'

subgoal 2 (ID 15384) is:
 Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]
subgoal 3 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 open,)

apply H0.
10 subgoals, subgoal 1 (ID 15384)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ (Π (A), B) [n ← u] ▹ (Π (A'), B') [n ← u'] : !s3 [n ← u]

subgoal 2 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 3 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 4 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using ,)


simpl.
10 subgoals, subgoal 1 (ID 15916)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ Π (A [n ← u]), B [(S n) ← u] ▹ Π (A' [n ← u']), B' [(S n) ← u'] : !s3

subgoal 2 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 3 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 4 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using ,)


apply typ_pi with s1 s2; trivial.
11 subgoals, subgoal 1 (ID 15918)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1

subgoal 2 (ID 15919) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B' [(S n) ← u'] : !s2
subgoal 3 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using ,)


eapply H.
12 subgoals, subgoal 1 (ID 15922)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?15920 u ?15921 n Γ Γ'

subgoal 2 (ID 15923) is:
 ?15920 ⊢ u ▹ u' : ?15921
subgoal 3 (ID 15919) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B' [(S n) ← u'] : !s2
subgoal 4 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 open, ?15921 open,)

apply H1.
11 subgoals, subgoal 1 (ID 15923)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u' : U

subgoal 2 (ID 15919) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B' [(S n) ← u'] : !s2
subgoal 3 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using ,)

trivial.
10 subgoals, subgoal 1 (ID 15919)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B' [(S n) ← u'] : !s2

subgoal 2 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 3 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 4 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using ,)

eapply H0.
11 subgoals, subgoal 1 (ID 15926)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?15924 u ?15925 (S n) (A :: Γ) (A [n ← u] :: Γ')

subgoal 2 (ID 15927) is:
 ?15924 ⊢ u ▹ u' : ?15925
subgoal 3 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 open, ?15925 open,)

constructor; apply H1.
10 subgoals, subgoal 1 (ID 15927)
  
  Γ : Env
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  A : Term
  A' : Term
  B : Term
  B' : Term
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u' : U

subgoal 2 (ID 15408) is:
 Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]
subgoal 3 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 4 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using ,)

trivial.
9 subgoals, subgoal 1 (ID 15408)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ (λ [A], M) [n ← u] ▹ (λ [A'], M') [n ← u'] : (Π (A), B) [n ← u]

subgoal 2 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 3 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 4 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 5 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 6 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 7 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 8 (ID 15547) is:
 Γ' ⊣
subgoal 9 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using ,)


simpl.
9 subgoals, subgoal 1 (ID 15931)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ λ [A [n ← u]], M [(S n) ← u] ▹ λ [A' [n ← u']], M' [(S n) ← u']
   : Π (A [n ← u]), B [(S n) ← u]

subgoal 2 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 3 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 4 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 5 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 6 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 7 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 8 (ID 15547) is:
 Γ' ⊣
subgoal 9 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using ,)


apply typ_la with s1 s2 s3; trivial.
11 subgoals, subgoal 1 (ID 15933)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1

subgoal 2 (ID 15934) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 3 (ID 15935) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using ,)


eapply H.
12 subgoals, subgoal 1 (ID 15938)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?15936 u ?15937 n Γ Γ'

subgoal 2 (ID 15939) is:
 ?15936 ⊢ u ▹ u' : ?15937
subgoal 3 (ID 15934) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 4 (ID 15935) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 5 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 open, ?15937 open,)

apply H2.
11 subgoals, subgoal 1 (ID 15939)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u' : U

subgoal 2 (ID 15934) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 3 (ID 15935) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using ,)

trivial.
10 subgoals, subgoal 1 (ID 15934)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2

subgoal 2 (ID 15935) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 3 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 4 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using ,)

eapply H0.
11 subgoals, subgoal 1 (ID 15942)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?15940 u ?15941 (S n) (A :: Γ) (A [n ← u] :: Γ')

subgoal 2 (ID 15943) is:
 ?15940 ⊢ u ▹ u : ?15941
subgoal 3 (ID 15935) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 4 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 open, ?15941 open,)

constructor; apply H2.
10 subgoals, subgoal 1 (ID 15943)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 15935) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 3 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 4 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using ,)


apply red_refl_lt in H3; trivial.
9 subgoals, subgoal 1 (ID 15935)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]

subgoal 2 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 3 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 4 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 5 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 6 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 7 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 8 (ID 15547) is:
 Γ' ⊣
subgoal 9 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using ,)


eapply H1.
10 subgoals, subgoal 1 (ID 15951)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?15949 u ?15950 (S n) (A :: Γ) (A [n ← u] :: Γ')

subgoal 2 (ID 15952) is:
 ?15949 ⊢ u ▹ u' : ?15950
subgoal 3 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 4 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 open, ?15950 open,)

constructor; apply H2.
9 subgoals, subgoal 1 (ID 15952)
  
  Γ : Env
  A : Term
  A' : Term
  B : Term
  M : Term
  M' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t1 : A :: Γ ⊢ M ▹ M' : B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H2 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H3 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u' : U

subgoal 2 (ID 15437) is:
 Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]
subgoal 3 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 4 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 5 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 6 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 7 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 8 (ID 15547) is:
 Γ' ⊣
subgoal 9 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using ,)

trivial.
8 subgoals, subgoal 1 (ID 15437)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ (M ·( A, B)N) [n ← u] ▹ (M' ·( A', B')N') [n ← u'] : B [ ← N] [n ← u]

subgoal 2 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 3 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 4 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 5 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 6 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 7 (ID 15547) is:
 Γ' ⊣
subgoal 8 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using ,)


simpl.
8 subgoals, subgoal 1 (ID 15956)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ M [n ← u] ·( A [n ← u], B [(S n) ← u])N [n ← u]
   ▹ M' [n ← u'] ·( A' [n ← u'], B' [(S n) ← u'])N' [n ← u']
   : B [ ← N] [n ← u]

subgoal 2 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 3 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 4 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 5 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 6 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 7 (ID 15547) is:
 Γ' ⊣
subgoal 8 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using ,)


rewrite subst_travers.
8 subgoals, subgoal 1 (ID 15957)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ M [n ← u] ·( A [n ← u], B [(S n) ← u])N [n ← u]
   ▹ M' [n ← u'] ·( A' [n ← u'], B' [(S n) ← u'])N' [n ← u']
   : (B [(n + 1) ← u]) [ ← N [n ← u]]

subgoal 2 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 3 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 4 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 5 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 6 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 7 (ID 15547) is:
 Γ' ⊣
subgoal 8 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using ,)


replace (n+1) with (S n) by (rewrite plus_comm; trivial).
8 subgoals, subgoal 1 (ID 15961)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ M [n ← u] ·( A [n ← u], B [(S n) ← u])N [n ← u]
   ▹ M' [n ← u'] ·( A' [n ← u'], B' [(S n) ← u'])N' [n ← u']
   : (B [(S n) ← u]) [ ← N [n ← u]]

subgoal 2 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 3 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 4 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 5 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 6 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 7 (ID 15547) is:
 Γ' ⊣
subgoal 8 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using ,)


eapply typ_app.
12 subgoals, subgoal 1 (ID 15967)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   Rel ?15964 ?15965 ?15966

subgoal 2 (ID 15968) is:
 Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !?15964
subgoal 3 (ID 15969) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B' [(S n) ← u'] : !?15965
subgoal 4 (ID 15970) is:
 Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : Π (A [n ← u]), B [(S n) ← u]
subgoal 5 (ID 15971) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 6 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 open, ?15965 open, ?15966 open,)

apply r.
11 subgoals, subgoal 1 (ID 15968)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1

subgoal 2 (ID 15969) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B' [(S n) ← u'] : !s2
subgoal 3 (ID 15970) is:
 Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : Π (A [n ← u]), B [(S n) ← u]
subgoal 4 (ID 15971) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 5 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using ,)

eapply H; eauto.
10 subgoals, subgoal 1 (ID 15969)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B' [(S n) ← u'] : !s2

subgoal 2 (ID 15970) is:
 Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : Π (A [n ← u]), B [(S n) ← u]
subgoal 3 (ID 15971) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 4 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using ,)

eapply H0; eauto.
9 subgoals, subgoal 1 (ID 15970)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : Π (A [n ← u]), B [(S n) ← u]

subgoal 2 (ID 15971) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 3 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 4 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 5 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 6 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 7 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 8 (ID 15547) is:
 Γ' ⊣
subgoal 9 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using ,)

eapply H1; eauto.
8 subgoals, subgoal 1 (ID 15971)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  B : Term
  B' : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A' : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t0 : A :: Γ ⊢ B ▹ B' : !s2
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B' [n ← u'] : !s2 [n ← u]
  t1 : Γ ⊢ M ▹ M' : Π (A), B
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : (Π (A), B) [n ← u]
  t2 : Γ ⊢ N ▹ N' : A
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H3 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H4 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]

subgoal 2 (ID 15472) is:
 Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
 : B [ ← N] [n ← u]
subgoal 3 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 4 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 5 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 6 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 7 (ID 15547) is:
 Γ' ⊣
subgoal 8 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using ,)

eapply H2; eauto.
7 subgoals, subgoal 1 (ID 15472)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ ((λ [A], M) ·( A', B)N) [n ← u] ▹ M' [ ← N'] [n ← u']
   : B [ ← N] [n ← u]

subgoal 2 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 3 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using ,)


simpl.
7 subgoals, subgoal 1 (ID 16021)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ (λ [A [n ← u]], M [(S n) ← u]) ·( A' [n ← u], B [(S n) ← u])N [n ← u]
   ▹ M' [ ← N'] [n ← u'] : B [ ← N] [n ← u]

subgoal 2 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 3 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using ,)

rewrite 2! subst_travers.
7 subgoals, subgoal 1 (ID 16023)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ (λ [A [n ← u]], M [(S n) ← u]) ·( A' [n ← u], B [(S n) ← u])N [n ← u]
   ▹ (M' [(n + 1) ← u']) [ ← N' [n ← u']] : (B [(n + 1) ← u]) [ ← N [n ← u]]

subgoal 2 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 3 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using ,)


replace (n+1) with (S n) by (rewrite plus_comm; trivial).
7 subgoals, subgoal 1 (ID 16027)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ (λ [A [n ← u]], M [(S n) ← u]) ·( A' [n ← u], B [(S n) ← u])N [n ← u]
   ▹ (M' [(S n) ← u']) [ ← N' [n ← u']] : (B [(S n) ← u]) [ ← N [n ← u]]

subgoal 2 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 3 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using ,)


eapply typ_beta.
14 subgoals, subgoal 1 (ID 16034)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Rel ?16031 ?16032 ?16033

subgoal 2 (ID 16035) is:
 Γ' ⊢ A [n ← u] ▹ A [n ← u] : !?16031
subgoal 3 (ID 16036) is:
 Γ' ⊢ A' [n ← u] ▹ A' [n ← u] : !?16031
subgoal 4 (ID 16037) is:
 Γ' ⊢ ?16030 ▹▹ A [n ← u] : !?16031
subgoal 5 (ID 16038) is:
 Γ' ⊢ ?16030 ▹▹ A' [n ← u] : !?16031
subgoal 6 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !?16032
subgoal 7 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 8 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 9 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 10 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 11 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 12 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 13 (ID 15547) is:
 Γ' ⊣
subgoal 14 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 open, ?16031 open, ?16032 open, ?16033 open,)

apply r.
13 subgoals, subgoal 1 (ID 16035)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A [n ← u] ▹ A [n ← u] : !s1

subgoal 2 (ID 16036) is:
 Γ' ⊢ A' [n ← u] ▹ A' [n ← u] : !s1
subgoal 3 (ID 16037) is:
 Γ' ⊢ ?16030 ▹▹ A [n ← u] : !s1
subgoal 4 (ID 16038) is:
 Γ' ⊢ ?16030 ▹▹ A' [n ← u] : !s1
subgoal 5 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 6 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 7 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 open, ?16031 using , ?16032 using , ?16033 using ,)


eapply H; eauto.
13 subgoals, subgoal 1 (ID 16045)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 16036) is:
 Γ' ⊢ A' [n ← u] ▹ A' [n ← u] : !s1
subgoal 3 (ID 16037) is:
 Γ' ⊢ ?16030 ▹▹ A [n ← u] : !s1
subgoal 4 (ID 16038) is:
 Γ' ⊢ ?16030 ▹▹ A' [n ← u] : !s1
subgoal 5 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 6 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 7 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 8 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 9 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 10 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 11 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 12 (ID 15547) is:
 Γ' ⊣
subgoal 13 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 open, ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using ,)

apply red_refl_lt in H7; trivial.
12 subgoals, subgoal 1 (ID 16036)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A' [n ← u] ▹ A' [n ← u] : !s1

subgoal 2 (ID 16037) is:
 Γ' ⊢ ?16030 ▹▹ A [n ← u] : !s1
subgoal 3 (ID 16038) is:
 Γ' ⊢ ?16030 ▹▹ A' [n ← u] : !s1
subgoal 4 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 5 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 6 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 open, ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using ,)


eapply H0; eauto.
12 subgoals, subgoal 1 (ID 16299)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 16037) is:
 Γ' ⊢ ?16030 ▹▹ A [n ← u] : !s1
subgoal 3 (ID 16038) is:
 Γ' ⊢ ?16030 ▹▹ A' [n ← u] : !s1
subgoal 4 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 5 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 6 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 7 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 8 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 9 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 10 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 11 (ID 15547) is:
 Γ' ⊣
subgoal 12 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 open, ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using ,)

apply red_refl_lt in H7; trivial.
11 subgoals, subgoal 1 (ID 16037)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ ?16030 ▹▹ A [n ← u] : !s1

subgoal 2 (ID 16038) is:
 Γ' ⊢ ?16030 ▹▹ A' [n ← u] : !s1
subgoal 3 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 4 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 5 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 open, ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using ,)


eapply H1; eauto.
11 subgoals, subgoal 1 (ID 16554)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 16038) is:
 Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u] : !s1
subgoal 3 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 4 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 5 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 6 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 7 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 8 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 9 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 10 (ID 15547) is:
 Γ' ⊣
subgoal 11 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using ,)


apply red_refl_lt in H7; trivial.
10 subgoals, subgoal 1 (ID 16038)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u] : !s1

subgoal 2 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 3 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 4 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using ,)


eapply H2; eauto.
10 subgoals, subgoal 1 (ID 16808)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 16039) is:
 A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2
subgoal 3 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 4 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 5 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 6 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 7 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 8 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 9 (ID 15547) is:
 Γ' ⊣
subgoal 10 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using ,)

apply red_refl_lt in H7; trivial.
9 subgoals, subgoal 1 (ID 16039)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   A [n ← u] :: Γ' ⊢ B [(S n) ← u] ▹ B [(S n) ← u] : !s2

subgoal 2 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 3 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 4 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 5 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 6 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 7 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 8 (ID 15547) is:
 Γ' ⊣
subgoal 9 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using ,)

eapply H3; eauto.
9 subgoals, subgoal 1 (ID 17062)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 16040) is:
 A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]
subgoal 3 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 4 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 5 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 6 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 7 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 8 (ID 15547) is:
 Γ' ⊣
subgoal 9 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using ,)


apply red_refl_lt in H7; trivial.
8 subgoals, subgoal 1 (ID 16040)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   A [n ← u] :: Γ' ⊢ M [(S n) ← u] ▹ M' [(S n) ← u'] : B [(S n) ← u]

subgoal 2 (ID 16041) is:
 Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
subgoal 3 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 4 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 5 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 6 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 7 (ID 15547) is:
 Γ' ⊣
subgoal 8 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using ,)


eapply H4; eauto.
7 subgoals, subgoal 1 (ID 16041)
  
  Γ : Env
  M : Term
  M' : Term
  N : Term
  N' : Term
  A : Term
  A' : Term
  A0 : Term
  B : Term
  s1 : Sorts
  s2 : Sorts
  s3 : Sorts
  r : Rel s1 s2 s3
  t : Γ ⊢ A ▹ A : !s1
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ A [n ← u'] : !s1 [n ← u]
  t0 : Γ ⊢ A' ▹ A' : !s1
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A' [n ← u] ▹ A' [n ← u'] : !s1 [n ← u]
  t1 : Γ ⊢ A0 ▹▹ A : !s1
  H1 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A [n ← u'] : !s1 [n ← u]
  t2 : Γ ⊢ A0 ▹▹ A' : !s1
  H2 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A0 [n ← u] ▹▹ A' [n ← u'] : !s1 [n ← u]
  t3 : A :: Γ ⊢ B ▹ B : !s2
  H3 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ B [n ← u] ▹ B [n ← u'] : !s2 [n ← u]
  t4 : A :: Γ ⊢ M ▹ M' : B
  H4 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n (A :: Γ) Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ M' [n ← u'] : B [n ← u]
  t5 : Γ ⊢ N ▹ N' : A
  H5 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H6 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H7 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ N [n ← u] ▹ N' [n ← u'] : A [n ← u]

subgoal 2 (ID 15490) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
subgoal 3 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using ,)

eapply H5; eauto.
6 subgoals, subgoal 1 (ID 15490)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]

subgoal 2 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 3 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 4 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 5 (ID 15547) is:
 Γ' ⊣
subgoal 6 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using ,)


apply typ_red with (A[n u]) s.
7 subgoals, subgoal 1 (ID 17339)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]

subgoal 2 (ID 17340) is:
 Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s
subgoal 3 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using ,)

eapply H.
8 subgoals, subgoal 1 (ID 17343)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?17341 u ?17342 n Γ Γ'

subgoal 2 (ID 17344) is:
 ?17341 ⊢ u ▹ u' : ?17342
subgoal 3 (ID 17340) is:
 Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s
subgoal 4 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 5 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 6 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 7 (ID 15547) is:
 Γ' ⊣
subgoal 8 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 open, ?17342 open,)

apply H1.
7 subgoals, subgoal 1 (ID 17344)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u' : U

subgoal 2 (ID 17340) is:
 Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s
subgoal 3 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using ,)

trivial.
6 subgoals, subgoal 1 (ID 17340)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s

subgoal 2 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 3 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 4 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 5 (ID 15547) is:
 Γ' ⊣
subgoal 6 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using ,)


change !s with (!s[n u]).
6 subgoals, subgoal 1 (ID 17346)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s [n ← u]

subgoal 2 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 3 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 4 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 5 (ID 15547) is:
 Γ' ⊣
subgoal 6 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using ,)

eapply H0.
7 subgoals, subgoal 1 (ID 17349)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?17347 u ?17348 n Γ Γ'

subgoal 2 (ID 17350) is:
 ?17347 ⊢ u ▹ u : ?17348
subgoal 3 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 open, ?17348 open,)

apply H1.
6 subgoals, subgoal 1 (ID 17350)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : A
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 15508) is:
 Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]
subgoal 3 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 4 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 5 (ID 15547) is:
 Γ' ⊣
subgoal 6 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using ,)

apply red_refl_lt in H2; trivial.
5 subgoals, subgoal 1 (ID 15508)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ M [n ← u] ▹ N [n ← u'] : A [n ← u]

subgoal 2 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 3 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 4 (ID 15547) is:
 Γ' ⊣
subgoal 5 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using ,)


apply typ_exp with (B[n u]) s.
6 subgoals, subgoal 1 (ID 17353)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]

subgoal 2 (ID 17354) is:
 Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s
subgoal 3 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 4 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 5 (ID 15547) is:
 Γ' ⊣
subgoal 6 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using ,)

eapply H.
7 subgoals, subgoal 1 (ID 17357)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?17355 u ?17356 n Γ Γ'

subgoal 2 (ID 17358) is:
 ?17355 ⊢ u ▹ u' : ?17356
subgoal 3 (ID 17354) is:
 Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s
subgoal 4 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 5 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 6 (ID 15547) is:
 Γ' ⊣
subgoal 7 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using , ?17355 open, ?17356 open,)

apply H1.
6 subgoals, subgoal 1 (ID 17358)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u' : U

subgoal 2 (ID 17354) is:
 Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s
subgoal 3 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 4 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 5 (ID 15547) is:
 Γ' ⊣
subgoal 6 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using , ?17355 using , ?17356 using ,)

trivial.
5 subgoals, subgoal 1 (ID 17354)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s

subgoal 2 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 3 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 4 (ID 15547) is:
 Γ' ⊣
subgoal 5 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using , ?17355 using , ?17356 using ,)


change !s with (!s[n u]).
5 subgoals, subgoal 1 (ID 17360)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ A [n ← u] ▹ B [n ← u] : !s [n ← u]

subgoal 2 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 3 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 4 (ID 15547) is:
 Γ' ⊣
subgoal 5 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using , ?17355 using , ?17356 using ,)

eapply H0.
6 subgoals, subgoal 1 (ID 17363)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   sub_in_env ?17361 u ?17362 n Γ Γ'

subgoal 2 (ID 17364) is:
 ?17361 ⊢ u ▹ u : ?17362
subgoal 3 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 4 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 5 (ID 15547) is:
 Γ' ⊣
subgoal 6 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using , ?17355 using , ?17356 using , ?17361 open, ?17362 open,)

apply H1.
5 subgoals, subgoal 1 (ID 17364)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u' : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 3 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 4 (ID 15547) is:
 Γ' ⊣
subgoal 5 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using , ?17355 using , ?17356 using , ?17361 using , ?17362 using ,)

apply red_refl_lt in H2.
5 subgoals, subgoal 1 (ID 17366)
  
  Γ : Env
  M : Term
  N : Term
  A : Term
  B : Term
  s : Sorts
  t : Γ ⊢ M ▹ N : B
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ M [n ← u] ▹ N [n ← u'] : B [n ← u]
  t0 : Γ ⊢ A ▹ B : !s
  H0 : forall (Δ Γ' : Env) (u U : Term) (n : nat),
       sub_in_env Δ u U n Γ Γ' ->
       forall u' : Term,
       Δ ⊢ u ▹ u' : U -> Γ' ⊢ A [n ← u] ▹ B [n ← u'] : !s [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H1 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H2 : Δ ⊢ u ▹ u : U
  ============================
   Δ ⊢ u ▹ u : U

subgoal 2 (ID 15522) is:
 Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]
subgoal 3 (ID 15539) is:
 Γ' ⊢ s [n ← u0] ▹▹ u [n ← u'] : T [n ← u0]
subgoal 4 (ID 15547) is:
 Γ' ⊣
subgoal 5 (ID 15561) is:
 Γ' ⊣
(dependent evars: ?15582 using , ?15583 using , ?15584 using , ?15585 using , ?15586 using , ?15589 using , ?15590 using , ?15591 using , ?15663 using , ?15664 using , ?15665 using , ?15672 using , ?15673 using , ?15676 using , ?15677 using , ?15678 using , ?15680 using , ?15681 using , ?15682 using , ?15683 using , ?15684 using , ?15701 using , ?15702 using , ?15703 using , ?15704 using , ?15705 using , ?15819 using , ?15820 using , ?15821 using , ?15822 using , ?15823 using , ?15909 using , ?15910 using , ?15911 using , ?15912 using , ?15913 using , ?15920 using , ?15921 using , ?15924 using , ?15925 using , ?15936 using , ?15937 using , ?15940 using , ?15941 using , ?15949 using , ?15950 using , ?15964 using , ?15965 using , ?15966 using , ?15972 using , ?15973 using , ?15984 using , ?15985 using , ?15997 using , ?15998 using , ?16009 using , ?16010 using , ?16030 using ?16550 , ?16031 using , ?16032 using , ?16033 using , ?16042 using , ?16043 using , ?16296 using , ?16297 using , ?16550 using , ?16551 using , ?16552 using , ?16805 using , ?16806 using , ?17059 using , ?17060 using , ?17314 using , ?17315 using , ?17327 using , ?17328 using , ?17341 using , ?17342 using , ?17347 using , ?17348 using , ?17355 using , ?17356 using , ?17361 using , ?17362 using ,)

trivial.
4 subgoals, subgoal 1 (ID 15522)
  
  Γ : Env
  s : Term
  t : Term
  T : Term
  t0 : Γ ⊢ s ▹ t : T
  H : forall (Δ Γ' : Env) (u U : Term) (n : nat),
      sub_in_env Δ u U n Γ Γ' ->
      forall u' : Term,
      Δ ⊢ u ▹ u' : U -> Γ' ⊢ s [n ← u] ▹ t [n ← u'] : T [n ← u]
  Δ : Env
  Γ' : Env
  u : Term
  U : Term
  n : nat
  H0 : sub_in_env Δ u U n Γ Γ'
  u' : Term
  H1 : Δ ⊢ u ▹ u' : U
  ============================
   Γ' ⊢ s [n ← u] ▹▹ t [n ← u'] : T [n ← u]

subgoal 2 (ID 15539) is:
 Γ' ⊢ s [