Typing rules for standard PTS.
Basic properties of PTS.
Context Validity: if a judgment is valid, its context is well-formed.
Inversion Lemmas , one for each kind of term
from a typing derivation of some particular term, we can
infer informations about its type and subterms.
Weakening Property: if a judgement is valid, we can insert a well-typed term
in the context, it will remain valid. This is where the type checking for
inserting items in a context is done.
Theorem weakening: (forall Δ M T, Δ ⊢ M : T -> forall Γ A s n Δ', ins_in_env Γ A n Δ Δ' -> Γ ⊢ A : !s ->
Δ' ⊢ M ↑ 1 # n : T ↑ 1 # n ) /\
(forall Γ, Γ ⊣ -> forall Δ Γ' n A , ins_in_env Δ A n Γ Γ' -> forall s, Δ ⊢ A : !s -> Γ' ⊣).1 subgoals, subgoal 1 (ID 1777)
============================
(forall (Δ : Env) (M T : Term),
Δ ⊢ M : T ->
forall (Γ : Env) (A : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ A n Δ Δ' -> Γ ⊢ A : !s -> Δ' ⊢ M ↑ 1 # n : T ↑ 1 # n) /\
(forall Γ : Env,
Γ ⊣ ->
forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣)
(dependent evars:)
apply typ_induc; simpl in *; intros.8 subgoals, subgoal 1 (ID 1806)
Γ : Env
s : Sorts
t : Sorts
a : Ax s t
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
Γ0 : Env
A : Term
s0 : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A n Γ Δ'
H1 : Γ0 ⊢ A : !s0
============================
Δ' ⊢ !s : !t
subgoal 2 (ID 1819) is:
Δ' ⊢ (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 3 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars:)
eauto.7 subgoals, subgoal 1 (ID 1819)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ (if le_gt_dec n v then #(S v) else #v) : A ↑ 1 # n
subgoal 2 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 3 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 1898) is:
Γ' ⊣
subgoal 7 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using ,)
destruct (le_gt_dec n v).8 subgoals, subgoal 1 (ID 2117)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
Δ' ⊢ #(S v) : A ↑ 1 # n
subgoal 2 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 3 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using ,)
constructor. 9 subgoals, subgoal 1 (ID 2121)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
Δ' ⊣
subgoal 2 (ID 2122) is:
A ↑ 1 # n ↓ S v ⊂ Δ'
subgoal 3 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 4 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 1898) is:
Γ' ⊣
subgoal 9 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using ,)
eapply H; eauto. 8 subgoals, subgoal 1 (ID 2122)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
A ↑ 1 # n ↓ S v ⊂ Δ'
subgoal 2 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 3 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using ,)
destruct i as (AA & ?& ?). 8 subgoals, subgoal 1 (ID 2144)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
AA : Term
H2 : A = AA ↑ (S v)
H3 : AA ↓ v ∈ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
A ↑ 1 # n ↓ S v ⊂ Δ'
subgoal 2 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 3 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using ,)
exists AA; split. 9 subgoals, subgoal 1 (ID 2148)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
AA : Term
H2 : A = AA ↑ (S v)
H3 : AA ↓ v ∈ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
A ↑ 1 # n = AA ↑ (S (S v))
subgoal 2 (ID 2149) is:
AA ↓ S v ∈ Δ'
subgoal 3 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 4 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 1898) is:
Γ' ⊣
subgoal 9 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using ,)
rewrite H2.9 subgoals, subgoal 1 (ID 2150)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
AA : Term
H2 : A = AA ↑ (S v)
H3 : AA ↓ v ∈ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
AA ↑ (S v) ↑ 1 # n = AA ↑ (S (S v))
subgoal 2 (ID 2149) is:
AA ↓ S v ∈ Δ'
subgoal 3 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 4 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 1898) is:
Γ' ⊣
subgoal 9 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using ,)
change (S (S v)) with (1+ S v). 9 subgoals, subgoal 1 (ID 2152)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
AA : Term
H2 : A = AA ↑ (S v)
H3 : AA ↓ v ∈ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
AA ↑ (S v) ↑ 1 # n = AA ↑ (1 + S v)
subgoal 2 (ID 2149) is:
AA ↓ S v ∈ Δ'
subgoal 3 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 4 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 1898) is:
Γ' ⊣
subgoal 9 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using ,)
rewrite liftP3; simpl; intuition. 8 subgoals, subgoal 1 (ID 2149)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
AA : Term
H2 : A = AA ↑ (S v)
H3 : AA ↓ v ∈ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
AA ↓ S v ∈ Δ'
subgoal 2 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 3 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using ,)
eapply ins_item_ge. 10 subgoals, subgoal 1 (ID 2204)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
AA : Term
H2 : A = AA ↑ (S v)
H3 : AA ↓ v ∈ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
ins_in_env ?2202 ?2200 ?2201 ?2203 Δ'
subgoal 2 (ID 2205) is:
?2201 <= v
subgoal 3 (ID 2206) is:
AA ↓ v ∈ ?2203
subgoal 4 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 5 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 6 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 7 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 8 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 9 (ID 1898) is:
Γ' ⊣
subgoal 10 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 open, ?2201 open, ?2202 open, ?2203 open,)
apply H0. 9 subgoals, subgoal 1 (ID 2205)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
AA : Term
H2 : A = AA ↑ (S v)
H3 : AA ↓ v ∈ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
n <= v
subgoal 2 (ID 2206) is:
AA ↓ v ∈ Γ
subgoal 3 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 4 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 1898) is:
Γ' ⊣
subgoal 9 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using ,)
trivial. 8 subgoals, subgoal 1 (ID 2206)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
AA : Term
H2 : A = AA ↑ (S v)
H3 : AA ↓ v ∈ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
l : n <= v
============================
AA ↓ v ∈ Γ
subgoal 2 (ID 2118) is:
Δ' ⊢ #v : A ↑ 1 # n
subgoal 3 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using ,)
trivial.7 subgoals, subgoal 1 (ID 2118)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
g : n > v
============================
Δ' ⊢ #v : A ↑ 1 # n
subgoal 2 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 3 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 1898) is:
Γ' ⊣
subgoal 7 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using ,)
constructor. 8 subgoals, subgoal 1 (ID 2209)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
g : n > v
============================
Δ' ⊣
subgoal 2 (ID 2210) is:
A ↑ 1 # n ↓ v ⊂ Δ'
subgoal 3 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using ,)
eapply H; eauto. 7 subgoals, subgoal 1 (ID 2210)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
g : n > v
============================
A ↑ 1 # n ↓ v ⊂ Δ'
subgoal 2 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 3 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 1898) is:
Γ' ⊣
subgoal 7 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using ,)
eapply ins_item_lift_lt. 9 subgoals, subgoal 1 (ID 2225)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
g : n > v
============================
ins_in_env ?2223 ?2222 n ?2224 Δ'
subgoal 2 (ID 2226) is:
n > v
subgoal 3 (ID 2227) is:
A ↓ v ⊂ ?2224
subgoal 4 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 5 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 6 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 7 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 8 (ID 1898) is:
Γ' ⊣
subgoal 9 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 open, ?2223 open, ?2224 open,)
apply H0. 8 subgoals, subgoal 1 (ID 2226)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
g : n > v
============================
n > v
subgoal 2 (ID 2227) is:
A ↓ v ⊂ Γ
subgoal 3 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using ,)
trivial. 7 subgoals, subgoal 1 (ID 2227)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
i : A ↓ v ⊂ Γ
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H0 : ins_in_env Γ0 A0 n Γ Δ'
H1 : Γ0 ⊢ A0 : !s
g : n > v
============================
A ↓ v ⊂ Γ
subgoal 2 (ID 1837) is:
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 3 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 1898) is:
Γ' ⊣
subgoal 7 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using ,)
trivial.6 subgoals, subgoal 1 (ID 1837)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !t
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
Δ' ⊢ Π (A ↑ 1 # n), B ↑ 1 # (S n) : !u
subgoal 2 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 1898) is:
Γ' ⊣
subgoal 6 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using ,)
econstructor. 8 subgoals, subgoal 1 (ID 2233)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !t
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
Rel ?2231 ?2232 u
subgoal 2 (ID 2234) is:
Δ' ⊢ A ↑ 1 # n : !?2231
subgoal 3 (ID 2235) is:
A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) : !?2232
subgoal 4 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 open, ?2232 open,)
apply r. 7 subgoals, subgoal 1 (ID 2234)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !t
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
Δ' ⊢ A ↑ 1 # n : !s
subgoal 2 (ID 2235) is:
A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) : !t
subgoal 3 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 1898) is:
Γ' ⊣
subgoal 7 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using ,)
eauto. 6 subgoals, subgoal 1 (ID 2235)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !t
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) : !t
subgoal 2 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 1898) is:
Γ' ⊣
subgoal 6 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using ,)
eapply H0. 7 subgoals, subgoal 1 (ID 2254)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !t
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
ins_in_env ?2251 ?2252 (S n) (A :: Γ) (A ↑ 1 # n :: Δ')
subgoal 2 (ID 2255) is:
?2251 ⊢ ?2252 : !?2253
subgoal 3 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 4 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 1898) is:
Γ' ⊣
subgoal 7 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 open, ?2252 open, ?2253 open,)
constructor; apply H1. 6 subgoals, subgoal 1 (ID 2255)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !t
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
Γ0 ⊢ A0 : !?2253
subgoal 2 (ID 1858) is:
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 3 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 1898) is:
Γ' ⊣
subgoal 6 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 open,)
apply H2.5 subgoals, subgoal 1 (ID 1858)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ A ↑ 1 # n : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H2 : ins_in_env Γ0 A0 n Γ Δ'
H3 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ λ [A ↑ 1 # n], M ↑ 1 # (S n) : Π (A ↑ 1 # n), B ↑ 1 # (S n)
subgoal 2 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 1898) is:
Γ' ⊣
subgoal 5 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using ,)
econstructor. 8 subgoals, subgoal 1 (ID 2266)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ A ↑ 1 # n : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H2 : ins_in_env Γ0 A0 n Γ Δ'
H3 : Γ0 ⊢ A0 : !s
============================
Rel ?2263 ?2264 ?2265
subgoal 2 (ID 2267) is:
Δ' ⊢ A ↑ 1 # n : !?2263
subgoal 3 (ID 2268) is:
A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) : !?2264
subgoal 4 (ID 2269) is:
A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 5 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 6 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 7 (ID 1898) is:
Γ' ⊣
subgoal 8 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 open, ?2264 open, ?2265 open,)
apply r. 7 subgoals, subgoal 1 (ID 2267)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ A ↑ 1 # n : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H2 : ins_in_env Γ0 A0 n Γ Δ'
H3 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ A ↑ 1 # n : !s1
subgoal 2 (ID 2268) is:
A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) : !s2
subgoal 3 (ID 2269) is:
A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 4 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 5 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 6 (ID 1898) is:
Γ' ⊣
subgoal 7 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using ,)
eapply H; eauto. 6 subgoals, subgoal 1 (ID 2268)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ A ↑ 1 # n : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H2 : ins_in_env Γ0 A0 n Γ Δ'
H3 : Γ0 ⊢ A0 : !s
============================
A ↑ 1 # n :: Δ' ⊢ B ↑ 1 # (S n) : !s2
subgoal 2 (ID 2269) is:
A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 3 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 4 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 5 (ID 1898) is:
Γ' ⊣
subgoal 6 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using ,)
eapply H0; eauto. 5 subgoals, subgoal 1 (ID 2269)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ A ↑ 1 # n : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ B ↑ 1 # n : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n (A :: Γ) Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H2 : ins_in_env Γ0 A0 n Γ Δ'
H3 : Γ0 ⊢ A0 : !s
============================
A ↑ 1 # n :: Δ' ⊢ M ↑ 1 # (S n) : B ↑ 1 # (S n)
subgoal 2 (ID 1874) is:
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 3 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 1898) is:
Γ' ⊣
subgoal 5 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using ,)
eapply H1; eauto.4 subgoals, subgoal 1 (ID 1874)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
t0 : Γ ⊢ N : A
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ N ↑ 1 # n : A ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : B [ ← N] ↑ 1 # n
subgoal 2 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 1898) is:
Γ' ⊣
subgoal 4 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using ,)
change n with (0+n). 4 subgoals, subgoal 1 (ID 2303)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
t0 : Γ ⊢ N : A
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ N ↑ 1 # n : A ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ M ↑ 1 # (0 + n) · N ↑ 1 # (0 + n) : B [ ← N] ↑ 1 # (0 + n)
subgoal 2 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 1898) is:
Γ' ⊣
subgoal 4 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using ,)
rewrite substP1. 4 subgoals, subgoal 1 (ID 2304)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
t0 : Γ ⊢ N : A
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ N ↑ 1 # n : A ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ M ↑ 1 # (0 + n) · N ↑ 1 # (0 + n)
: (B ↑ 1 # (S (0 + n))) [ ← N ↑ 1 # n]
subgoal 2 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 1898) is:
Γ' ⊣
subgoal 4 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using ,)
simpl.4 subgoals, subgoal 1 (ID 2305)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
t0 : Γ ⊢ N : A
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ N ↑ 1 # n : A ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ M ↑ 1 # n · N ↑ 1 # n : (B ↑ 1 # (S n)) [ ← N ↑ 1 # n]
subgoal 2 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 1898) is:
Γ' ⊣
subgoal 4 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using ,)
econstructor. 5 subgoals, subgoal 1 (ID 2312)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
t0 : Γ ⊢ N : A
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ N ↑ 1 # n : A ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ M ↑ 1 # n : Π (?2311), B ↑ 1 # (S n)
subgoal 2 (ID 2313) is:
Δ' ⊢ N ↑ 1 # n : ?2311
subgoal 3 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 4 (ID 1898) is:
Γ' ⊣
subgoal 5 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 open,)
eapply H; eauto. 4 subgoals, subgoal 1 (ID 2313)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' ->
Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : Π (A ↑ 1 # n), B ↑ 1 # (S n)
t0 : Γ ⊢ N : A
H0 : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ N ↑ 1 # n : A ↑ 1 # n
Γ0 : Env
A0 : Term
s : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s
============================
Δ' ⊢ N ↑ 1 # n : A ↑ 1 # n
subgoal 2 (ID 1891) is:
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 3 (ID 1898) is:
Γ' ⊣
subgoal 4 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using ,)
eapply H0; eauto.3 subgoals, subgoal 1 (ID 1891)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : A ↑ 1 # n
t0 : Γ ⊢ B : !s
H0 : forall (Γ0 : Env) (A : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A n Γ Δ' -> Γ0 ⊢ A : !s0 -> Δ' ⊢ B ↑ 1 # n : !s
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
Δ' ⊢ M ↑ 1 # n : B ↑ 1 # n
subgoal 2 (ID 1898) is:
Γ' ⊣
subgoal 3 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using ,)
apply Cnv with (A↑ 1 # n) s; intuition.4 subgoals, subgoal 1 (ID 2335)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : A ↑ 1 # n
t0 : Γ ⊢ B : !s
H0 : forall (Γ0 : Env) (A : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A n Γ Δ' -> Γ0 ⊢ A : !s0 -> Δ' ⊢ B ↑ 1 # n : !s
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
Δ' ⊢ M ↑ 1 # n : A ↑ 1 # n
subgoal 2 (ID 2336) is:
Δ' ⊢ B ↑ 1 # n : !s
subgoal 3 (ID 1898) is:
Γ' ⊣
subgoal 4 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using ,)
eapply H; eauto. 3 subgoals, subgoal 1 (ID 2336)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : forall (Γ0 : Env) (A0 : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s -> Δ' ⊢ M ↑ 1 # n : A ↑ 1 # n
t0 : Γ ⊢ B : !s
H0 : forall (Γ0 : Env) (A : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A n Γ Δ' -> Γ0 ⊢ A : !s0 -> Δ' ⊢ B ↑ 1 # n : !s
Γ0 : Env
A0 : Term
s0 : Sorts
n : nat
Δ' : Env
H1 : ins_in_env Γ0 A0 n Γ Δ'
H2 : Γ0 ⊢ A0 : !s0
============================
Δ' ⊢ B ↑ 1 # n : !s
subgoal 2 (ID 1898) is:
Γ' ⊣
subgoal 3 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using ,)
eapply H0; eauto.2 subgoals, subgoal 1 (ID 1898)
Δ : Env
Γ' : Env
n : nat
A : Term
H : ins_in_env Δ A n nil Γ'
s : Sorts
H0 : Δ ⊢ A : !s
============================
Γ' ⊣
subgoal 2 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using ,)
inversion H; subst; clear H.2 subgoals, subgoal 1 (ID 2472)
A : Term
s : Sorts
H0 : nil ⊢ A : !s
============================
A :: nil ⊣
subgoal 2 (ID 1910) is:
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using ,)
apply wf_cons with s; trivial.1 subgoals, subgoal 1 (ID 1910)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
Δ : Env
Γ' : Env
n : nat
A0 : Term
H0 : ins_in_env Δ A0 n (A :: Γ) Γ'
s0 : Sorts
H1 : Δ ⊢ A0 : !s0
============================
Γ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using ,)
inversion H0; subst; clear H0.2 subgoals, subgoal 1 (ID 2566)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
A0 : Term
s0 : Sorts
H1 : A :: Γ ⊢ A0 : !s0
============================
A0 :: A :: Γ ⊣
subgoal 2 (ID 2567) is:
A ↑ 1 # n0 :: Δ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using ,)
apply wf_cons with s0; trivial.1 subgoals, subgoal 1 (ID 2567)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
Δ : Env
A0 : Term
s0 : Sorts
H1 : Δ ⊢ A0 : !s0
n0 : nat
Δ' : Env
H6 : ins_in_env Δ A0 n0 Γ Δ'
============================
A ↑ 1 # n0 :: Δ' ⊣
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using ,)
apply wf_cons with s; trivial. 1 subgoals, subgoal 1 (ID 2569)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
Δ : Env
A0 : Term
s0 : Sorts
H1 : Δ ⊢ A0 : !s0
n0 : nat
Δ' : Env
H6 : ins_in_env Δ A0 n0 Γ Δ'
============================
Δ' ⊢ A ↑ 1 # n0 : !s
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using ,)
change !s with !s ↑ 1 # n0.1 subgoals, subgoal 1 (ID 2571)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
Δ : Env
A0 : Term
s0 : Sorts
H1 : Δ ⊢ A0 : !s0
n0 : nat
Δ' : Env
H6 : ins_in_env Δ A0 n0 Γ Δ'
============================
Δ' ⊢ A ↑ 1 # n0 : !s ↑ 1 # n0
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using ,)
eapply H. 2 subgoals, subgoal 1 (ID 2575)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
Δ : Env
A0 : Term
s0 : Sorts
H1 : Δ ⊢ A0 : !s0
n0 : nat
Δ' : Env
H6 : ins_in_env Δ A0 n0 Γ Δ'
============================
ins_in_env ?2572 ?2573 n0 Γ Δ'
subgoal 2 (ID 2576) is:
?2572 ⊢ ?2573 : !?2574
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using , ?2572 open, ?2573 open, ?2574 open,)
apply H6. 1 subgoals, subgoal 1 (ID 2576)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Γ0 : Env) (A0 : Term) (s0 : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ0 A0 n Γ Δ' -> Γ0 ⊢ A0 : !s0 -> Δ' ⊢ A ↑ 1 # n : !s
Δ : Env
A0 : Term
s0 : Sorts
H1 : Δ ⊢ A0 : !s0
n0 : nat
Δ' : Env
H6 : ins_in_env Δ A0 n0 Γ Δ'
============================
Δ ⊢ A0 : !?2574
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using , ?2572 using , ?2573 using , ?2574 open,)
apply H1.No more subgoals.
(dependent evars: ?1924 using ?1931 , ?1925 using ?1930 , ?1930 using , ?1931 using , ?2044 using , ?2045 using , ?2046 using , ?2047 using , ?2123 using , ?2124 using , ?2125 using , ?2126 using , ?2200 using , ?2201 using , ?2202 using , ?2203 using , ?2211 using , ?2212 using , ?2213 using , ?2214 using , ?2222 using , ?2223 using , ?2224 using , ?2231 using , ?2232 using , ?2236 using , ?2237 using , ?2238 using , ?2251 using , ?2252 using , ?2253 using , ?2263 using , ?2264 using , ?2265 using , ?2270 using , ?2271 using , ?2272 using , ?2280 using , ?2281 using , ?2282 using , ?2291 using , ?2292 using , ?2293 using , ?2311 using , ?2314 using , ?2315 using , ?2316 using , ?2324 using , ?2325 using , ?2326 using , ?2392 using , ?2393 using , ?2394 using , ?2402 using , ?2403 using , ?2404 using , ?2572 using , ?2573 using , ?2574 using ,)
Qed.
Theorem thinning :
forall Γ M T A s,
Γ ⊢ M : T ->
Γ ⊢ A : !s ->
A::Γ ⊢ M ↑ 1 : T ↑ 1.1 subgoals, subgoal 1 (ID 2584)
============================
forall (Γ : Env) (M T A : Term) (s : Sorts),
Γ ⊢ M : T -> Γ ⊢ A : !s -> A :: Γ ⊢ M ↑ 1 : T ↑ 1
(dependent evars:)
intros.1 subgoals, subgoal 1 (ID 2591)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢ M : T
H0 : Γ ⊢ A : !s
============================
A :: Γ ⊢ M ↑ 1 : T ↑ 1
(dependent evars:)
destruct weakening.1 subgoals, subgoal 1 (ID 2598)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢ M : T
H0 : Γ ⊢ A : !s
H1 : forall (Δ : Env) (M T : Term),
Δ ⊢ M : T ->
forall (Γ : Env) (A : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ A n Δ Δ' -> Γ ⊢ A : !s -> Δ' ⊢ M ↑ 1 # n : T ↑ 1 # n
H2 : forall Γ : Env,
Γ ⊣ ->
forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
============================
A :: Γ ⊢ M ↑ 1 : T ↑ 1
(dependent evars:)
eapply H1. 3 subgoals, subgoal 1 (ID 2603)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢ M : T
H0 : Γ ⊢ A : !s
H1 : forall (Δ : Env) (M T : Term),
Δ ⊢ M : T ->
forall (Γ : Env) (A : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ A n Δ Δ' -> Γ ⊢ A : !s -> Δ' ⊢ M ↑ 1 # n : T ↑ 1 # n
H2 : forall Γ : Env,
Γ ⊣ ->
forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
============================
?2599 ⊢ M : T
subgoal 2 (ID 2604) is:
ins_in_env ?2600 ?2601 0 ?2599 (A :: Γ)
subgoal 3 (ID 2605) is:
?2600 ⊢ ?2601 : !?2602
(dependent evars: ?2599 open, ?2600 open, ?2601 open, ?2602 open,)
apply H. 2 subgoals, subgoal 1 (ID 2604)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢ M : T
H0 : Γ ⊢ A : !s
H1 : forall (Δ : Env) (M T : Term),
Δ ⊢ M : T ->
forall (Γ : Env) (A : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ A n Δ Δ' -> Γ ⊢ A : !s -> Δ' ⊢ M ↑ 1 # n : T ↑ 1 # n
H2 : forall Γ : Env,
Γ ⊣ ->
forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
============================
ins_in_env ?2600 ?2601 0 Γ (A :: Γ)
subgoal 2 (ID 2605) is:
?2600 ⊢ ?2601 : !?2602
(dependent evars: ?2599 using , ?2600 open, ?2601 open, ?2602 open,)
constructor. 1 subgoals, subgoal 1 (ID 2605)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢ M : T
H0 : Γ ⊢ A : !s
H1 : forall (Δ : Env) (M T : Term),
Δ ⊢ M : T ->
forall (Γ : Env) (A : Term) (s : Sorts) (n : nat) (Δ' : Env),
ins_in_env Γ A n Δ Δ' -> Γ ⊢ A : !s -> Δ' ⊢ M ↑ 1 # n : T ↑ 1 # n
H2 : forall Γ : Env,
Γ ⊣ ->
forall (Δ Γ' : Env) (n : nat) (A : Term),
ins_in_env Δ A n Γ Γ' -> forall s : Sorts, Δ ⊢ A : !s -> Γ' ⊣
============================
Γ ⊢ A : !?2602
(dependent evars: ?2599 using , ?2600 using , ?2601 using , ?2602 open,)
apply H0.No more subgoals.
(dependent evars: ?2599 using , ?2600 using , ?2601 using , ?2602 using ,)
Qed.
Theorem thinning_n : forall n Δ Δ',
trunc n Δ Δ' ->
forall M T , Δ' ⊢ M : T -> Δ ⊣ ->
Δ ⊢ M ↑ n : T ↑ n.1 subgoals, subgoal 1 (ID 2622)
============================
forall (n : nat) (Δ Δ' : list Term),
trunc n Δ Δ' -> forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
(dependent evars:)
intro n; induction n; intros.2 subgoals, subgoal 1 (ID 2636)
Δ : list Term
Δ' : list Term
H : trunc 0 Δ Δ'
M : Term
T : Term
H0 : Δ' ⊢ M : T
H1 : Δ ⊣
============================
Δ ⊢ M ↑ 0 : T ↑ 0
subgoal 2 (ID 2643) is:
Δ ⊢ M ↑ (S n) : T ↑ (S n)
(dependent evars:)
inversion H; subst; clear H.2 subgoals, subgoal 1 (ID 2703)
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
H1 : Δ' ⊣
============================
Δ' ⊢ M ↑ 0 : T ↑ 0
subgoal 2 (ID 2643) is:
Δ ⊢ M ↑ (S n) : T ↑ (S n)
(dependent evars:)
rewrite 2! lift0; trivial.1 subgoals, subgoal 1 (ID 2643)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ : list Term
Δ' : list Term
H : trunc (S n) Δ Δ'
M : Term
T : Term
H0 : Δ' ⊢ M : T
H1 : Δ ⊣
============================
Δ ⊢ M ↑ (S n) : T ↑ (S n)
(dependent evars:)
inversion H; subst; clear H.1 subgoals, subgoal 1 (ID 2770)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
H1 : x :: Γ ⊣
============================
x :: Γ ⊢ M ↑ (S n) : T ↑ (S n)
(dependent evars:)
change (S n) with (1+n).1 subgoals, subgoal 1 (ID 2772)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
H1 : x :: Γ ⊣
============================
x :: Γ ⊢ M ↑ (1 + n) : T ↑ (1 + n)
(dependent evars:)
replace (M ↑ (1+n)) with ((M ↑ n )↑ 1) by (apply lift_lift).1 subgoals, subgoal 1 (ID 2776)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
H1 : x :: Γ ⊣
============================
x :: Γ ⊢ M ↑ n ↑ 1 : T ↑ (1 + n)
(dependent evars:)
replace (T ↑ (1+n)) with ((T ↑ n) ↑ 1) by (apply lift_lift).1 subgoals, subgoal 1 (ID 2781)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
H1 : x :: Γ ⊣
============================
x :: Γ ⊢ M ↑ n ↑ 1 : T ↑ n ↑ 1
(dependent evars:)
inversion H1; subst; clear H1.1 subgoals, subgoal 1 (ID 2831)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
s : Sorts
H2 : Γ ⊢ x : !s
============================
x :: Γ ⊢ M ↑ n ↑ 1 : T ↑ n ↑ 1
(dependent evars:)
apply thinning with s; trivial.1 subgoals, subgoal 1 (ID 2832)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
s : Sorts
H2 : Γ ⊢ x : !s
============================
Γ ⊢ M ↑ n : T ↑ n
(dependent evars:)
eapply IHn. 3 subgoals, subgoal 1 (ID 2835)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
s : Sorts
H2 : Γ ⊢ x : !s
============================
trunc n Γ ?2834
subgoal 2 (ID 2836) is:
?2834 ⊢ M : T
subgoal 3 (ID 2837) is:
Γ ⊣
(dependent evars: ?2834 open,)
apply H3. 2 subgoals, subgoal 1 (ID 2836)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
s : Sorts
H2 : Γ ⊢ x : !s
============================
Δ' ⊢ M : T
subgoal 2 (ID 2837) is:
Γ ⊣
(dependent evars: ?2834 using ,)
trivial. 1 subgoals, subgoal 1 (ID 2837)
n : nat
IHn : forall Δ Δ' : list Term,
trunc n Δ Δ' ->
forall M T : Term, Δ' ⊢ M : T -> Δ ⊣ -> Δ ⊢ M ↑ n : T ↑ n
Δ' : list Term
M : Term
T : Term
H0 : Δ' ⊢ M : T
Γ : list Term
x : Term
H3 : trunc n Γ Δ'
s : Sorts
H2 : Γ ⊢ x : !s
============================
Γ ⊣
(dependent evars: ?2834 using ,)
eauto.No more subgoals.
(dependent evars: ?2834 using , ?2838 using , ?2839 using ,)
Qed.
Substitution Property: if a judgment is valid and we replace a variable by a
well-typed term of the same type, it will remain valid.
Lemma sub_trunc : forall Δ a A n Γ Γ', sub_in_env Δ a A n Γ Γ' -> trunc n Γ' Δ.1 subgoals, subgoal 1 (ID 2920)
============================
forall (Δ : Env) (a A : Term) (n : nat) (Γ Γ' : Env),
sub_in_env Δ a A n Γ Γ' -> trunc n Γ' Δ
(dependent evars:)
induction 1.2 subgoals, subgoal 1 (ID 2934)
Δ : Env
a : Term
A : Term
============================
trunc 0 Δ Δ
subgoal 2 (ID 2943) is:
trunc (S n) (B [n ← a] :: Δ') Δ
(dependent evars:)
apply trunc_O.1 subgoals, subgoal 1 (ID 2943)
Δ : Env
a : Term
A : Term
Δ0 : Env
Δ' : Env
n : nat
B : Term
H : sub_in_env Δ a A n Δ0 Δ'
IHsub_in_env : trunc n Δ' Δ
============================
trunc (S n) (B [n ← a] :: Δ') Δ
(dependent evars:)
apply trunc_S. 1 subgoals, subgoal 1 (ID 2944)
Δ : Env
a : Term
A : Term
Δ0 : Env
Δ' : Env
n : nat
B : Term
H : sub_in_env Δ a A n Δ0 Δ'
IHsub_in_env : trunc n Δ' Δ
============================
trunc n Δ' Δ
(dependent evars:)
trivial.No more subgoals.
(dependent evars:)
Qed.
Theorem substitution : (forall Γ M T , Γ ⊢ M : T -> forall Δ P A, Δ ⊢ P : A ->
forall Γ' n , sub_in_env Δ P A n Γ Γ' -> Γ ⊣ -> Γ' ⊢ M [ n ←P ] : T [ n ←P ] ) /\
(forall Γ , Γ ⊣ -> forall Δ P A n Γ' , Δ ⊢ P : A ->
sub_in_env Δ P A n Γ Γ' -> Γ' ⊣).1 subgoals, subgoal 1 (ID 2967)
============================
(forall (Γ : Env) (M T : Term),
Γ ⊢ M : T ->
forall (Δ : Env) (P A : Term),
Δ ⊢ P : A ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A n Γ Γ' -> Γ ⊣ -> Γ' ⊢ M [n ← P] : T [n ← P]) /\
(forall Γ : Env,
Γ ⊣ ->
forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣)
(dependent evars:)
apply typ_induc; simpl; intros.8 subgoals, subgoal 1 (ID 2997)
Γ : Env
s : Sorts
t : Sorts
a : Ax s t
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
Δ : Env
P : Term
A : Term
H0 : Δ ⊢ P : A
Γ' : Env
n : nat
H1 : sub_in_env Δ P A n Γ Γ'
H2 : Γ ⊣
============================
Γ' ⊢ !s : !t
subgoal 2 (ID 3011) is:
Γ'
⊢ match lt_eq_lt_dec v n with
| inleft (left _) => #v
| inleft (right _) => P ↑ n
| inright _ => #(v - 1)
end : A [n ← P]
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars:)
eauto.7 subgoals, subgoal 1 (ID 3011)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
============================
Γ'
⊢ match lt_eq_lt_dec v n with
| inleft (left _) => #v
| inleft (right _) => P ↑ n
| inright _ => #(v - 1)
end : A [n ← P]
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using ,)
destruct lt_eq_lt_dec as [ [] | ].9 subgoals, subgoal 1 (ID 3410)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : v < n
============================
Γ' ⊢ #v : A [n ← P]
subgoal 2 (ID 3411) is:
Γ' ⊢ P ↑ n : A [n ← P]
subgoal 3 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using ,)
constructor. 10 subgoals, subgoal 1 (ID 3415)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : v < n
============================
Γ' ⊣
subgoal 2 (ID 3416) is:
A [n ← P] ↓ v ⊂ Γ'
subgoal 3 (ID 3411) is:
Γ' ⊢ P ↑ n : A [n ← P]
subgoal 4 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 5 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 9 (ID 3094) is:
Γ' ⊣
subgoal 10 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using ,)
eapply H; eauto. 9 subgoals, subgoal 1 (ID 3416)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : v < n
============================
A [n ← P] ↓ v ⊂ Γ'
subgoal 2 (ID 3411) is:
Γ' ⊢ P ↑ n : A [n ← P]
subgoal 3 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using ,)
eapply nth_sub_item_inf. 11 subgoals, subgoal 1 (ID 3477)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : v < n
============================
sub_in_env ?3475 P ?3474 n ?3476 Γ'
subgoal 2 (ID 3478) is:
n > v
subgoal 3 (ID 3479) is:
A ↓ v ⊂ ?3476
subgoal 4 (ID 3411) is:
Γ' ⊢ P ↑ n : A [n ← P]
subgoal 5 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 6 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 7 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 8 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 9 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 10 (ID 3094) is:
Γ' ⊣
subgoal 11 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 open, ?3475 open, ?3476 open,)
apply H1. 10 subgoals, subgoal 1 (ID 3478)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : v < n
============================
n > v
subgoal 2 (ID 3479) is:
A ↓ v ⊂ Γ
subgoal 3 (ID 3411) is:
Γ' ⊢ P ↑ n : A [n ← P]
subgoal 4 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 5 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 9 (ID 3094) is:
Γ' ⊣
subgoal 10 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using ,)
intuition. 9 subgoals, subgoal 1 (ID 3479)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : v < n
============================
A ↓ v ⊂ Γ
subgoal 2 (ID 3411) is:
Γ' ⊢ P ↑ n : A [n ← P]
subgoal 3 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using ,)
trivial.8 subgoals, subgoal 1 (ID 3411)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
e : v = n
============================
Γ' ⊢ P ↑ n : A [n ← P]
subgoal 2 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using ,)
destruct i as (AA & ?& ?). 8 subgoals, subgoal 1 (ID 3490)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H3 : A = AA ↑ (S v)
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
e : v = n
============================
Γ' ⊢ P ↑ n : A [n ← P]
subgoal 2 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using ,)
subst. 8 subgoals, subgoal 1 (ID 3499)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
H4 : AA ↓ n ∈ Γ
============================
Γ' ⊢ P ↑ n : AA ↑ (S n) [n ← P]
subgoal 2 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using ,)
rewrite substP3; intuition.8 subgoals, subgoal 1 (ID 3500)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
H4 : AA ↓ n ∈ Γ
============================
Γ' ⊢ P ↑ n : AA ↑ n
subgoal 2 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using ,)
rewrite <- (nth_sub_eq H1 H4). 8 subgoals, subgoal 1 (ID 3552)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
H4 : AA ↓ n ∈ Γ
============================
Γ' ⊢ P ↑ n : A0 ↑ n
subgoal 2 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using ,)
eapply thinning_n. 10 subgoals, subgoal 1 (ID 3554)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
H4 : AA ↓ n ∈ Γ
============================
trunc n Γ' ?3553
subgoal 2 (ID 3555) is:
?3553 ⊢ P : A0
subgoal 3 (ID 3556) is:
Γ' ⊣
subgoal 4 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 5 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 9 (ID 3094) is:
Γ' ⊣
subgoal 10 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 open,)
eapply sub_trunc. 10 subgoals, subgoal 1 (ID 3560)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
H4 : AA ↓ n ∈ Γ
============================
sub_in_env ?3553 ?3557 ?3558 n ?3559 Γ'
subgoal 2 (ID 3555) is:
?3553 ⊢ P : A0
subgoal 3 (ID 3556) is:
Γ' ⊣
subgoal 4 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 5 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 6 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 7 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 8 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 9 (ID 3094) is:
Γ' ⊣
subgoal 10 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 open, ?3557 open, ?3558 open, ?3559 open,)
apply H1. 9 subgoals, subgoal 1 (ID 3555)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
H4 : AA ↓ n ∈ Γ
============================
Δ ⊢ P : A0
subgoal 2 (ID 3556) is:
Γ' ⊣
subgoal 3 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using ,)
trivial.8 subgoals, subgoal 1 (ID 3556)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
H4 : AA ↓ n ∈ Γ
============================
Γ' ⊣
subgoal 2 (ID 3412) is:
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using ,)
eapply H; eauto. 7 subgoals, subgoal 1 (ID 3412)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
Γ' ⊢ #(v - 1) : A [n ← P]
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using ,)
constructor. 8 subgoals, subgoal 1 (ID 3620)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
Γ' ⊣
subgoal 2 (ID 3621) is:
A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using ,)
eapply H; eauto. 7 subgoals, subgoal 1 (ID 3621)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
i : A ↓ v ⊂ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
destruct i as (AA & ? &?). 7 subgoals, subgoal 1 (ID 3689)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H3 : A = AA ↑ (S v)
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
A [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
subst.7 subgoals, subgoal 1 (ID 3692)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
AA ↑ (S v) [n ← P] ↓ v - 1 ⊂ Γ'
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
rewrite substP3; intuition. 7 subgoals, subgoal 1 (ID 3693)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
AA ↑ v ↓ v - 1 ⊂ Γ'
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
exists AA; split. 8 subgoals, subgoal 1 (ID 3757)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
AA ↑ v = AA ↑ (S (v - 1))
subgoal 2 (ID 3758) is:
AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
replace (S (v-1)) with v. 9 subgoals, subgoal 1 (ID 3762)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
AA ↑ v = AA ↑ v
subgoal 2 (ID 3759) is:
v = S (v - 1)
subgoal 3 (ID 3758) is:
AA ↓ v - 1 ∈ Γ'
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
trivial.8 subgoals, subgoal 1 (ID 3759)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
v = S (v - 1)
subgoal 2 (ID 3758) is:
AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
rewrite minus_Sn_m. 9 subgoals, subgoal 1 (ID 3764)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
v = S v - 1
subgoal 2 (ID 3765) is:
1 <= v
subgoal 3 (ID 3758) is:
AA ↓ v - 1 ∈ Γ'
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
intuition. 8 subgoals, subgoal 1 (ID 3765)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
1 <= v
subgoal 2 (ID 3758) is:
AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
destruct v. 9 subgoals, subgoal 1 (ID 3792)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ 0 ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < 0
============================
1 <= 0
subgoal 2 (ID 3797) is:
1 <= S v
subgoal 3 (ID 3758) is:
AA ↓ v - 1 ∈ Γ'
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
apply lt_n_O in l; elim l. 8 subgoals, subgoal 1 (ID 3797)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ S v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < S v
============================
1 <= S v
subgoal 2 (ID 3758) is:
AA ↓ v - 1 ∈ Γ'
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
intuition.7 subgoals, subgoal 1 (ID 3758)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
AA ↓ v - 1 ∈ Γ'
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using ,)
eapply nth_sub_sup. 9 subgoals, subgoal 1 (ID 3822)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
sub_in_env ?3818 ?3820 ?3821 ?3817 ?3819 Γ'
subgoal 2 (ID 3823) is:
?3817 <= v - 1
subgoal 3 (ID 3824) is:
AA ↓ S (v - 1) ∈ ?3819
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 open, ?3818 open, ?3819 open, ?3820 open, ?3821 open,)
apply H1. 8 subgoals, subgoal 1 (ID 3823)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
n <= v - 1
subgoal 2 (ID 3824) is:
AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
destruct v. 9 subgoals, subgoal 1 (ID 3833)
Γ : Env
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ 0 ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < 0
============================
n <= 0 - 1
subgoal 2 (ID 3838) is:
n <= S v - 1
subgoal 3 (ID 3824) is:
AA ↓ S (v - 1) ∈ Γ
subgoal 4 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 5 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 6 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 7 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 8 (ID 3094) is:
Γ' ⊣
subgoal 9 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
apply lt_n_O in l; elim l. 8 subgoals, subgoal 1 (ID 3838)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ S v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < S v
============================
n <= S v - 1
subgoal 2 (ID 3824) is:
AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
simpl. 8 subgoals, subgoal 1 (ID 3841)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ S v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < S v
============================
n <= v - 0
subgoal 2 (ID 3824) is:
AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
rewrite <- minus_n_O.8 subgoals, subgoal 1 (ID 3842)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ S v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < S v
============================
n <= v
subgoal 2 (ID 3824) is:
AA ↓ S (v - 1) ∈ Γ
subgoal 3 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
intuition. 7 subgoals, subgoal 1 (ID 3824)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
AA ↓ S (v - 1) ∈ Γ
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
rewrite <- pred_of_minus. 7 subgoals, subgoal 1 (ID 3860)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
AA ↓ S (pred v) ∈ Γ
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
rewrite <- (S_pred v n l). 7 subgoals, subgoal 1 (ID 3861)
Γ : Env
v : nat
w : Γ ⊣
H : forall (Δ : Env) (P A : Term) (n : nat) (Γ' : Env),
Δ ⊢ P : A -> sub_in_env Δ P A n Γ Γ' -> Γ' ⊣
AA : Term
H4 : AA ↓ v ∈ Γ
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Γ' : Env
n : nat
H1 : sub_in_env Δ P A0 n Γ Γ'
H2 : Γ ⊣
l : n < v
============================
AA ↓ v ∈ Γ
subgoal 2 (ID 3030) is:
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
trivial.6 subgoals, subgoal 1 (ID 3030)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !t
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ Π (A [n ← P]), B [(S n) ← P] : !u
subgoal 2 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 5 (ID 3094) is:
Γ' ⊣
subgoal 6 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using ,)
econstructor. 8 subgoals, subgoal 1 (ID 3867)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !t
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Rel ?3865 ?3866 u
subgoal 2 (ID 3868) is:
Γ' ⊢ A [n ← P] : !?3865
subgoal 3 (ID 3869) is:
A [n ← P] :: Γ' ⊢ B [(S n) ← P] : !?3866
subgoal 4 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 open, ?3866 open,)
apply r. 7 subgoals, subgoal 1 (ID 3868)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !t
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ A [n ← P] : !s
subgoal 2 (ID 3869) is:
A [n ← P] :: Γ' ⊢ B [(S n) ← P] : !t
subgoal 3 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using ,)
eapply H; eauto. 6 subgoals, subgoal 1 (ID 3869)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
t1 : A :: Γ ⊢ B : !t
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !t
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
A [n ← P] :: Γ' ⊢ B [(S n) ← P] : !t
subgoal 2 (ID 3052) is:
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 3 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 5 (ID 3094) is:
Γ' ⊣
subgoal 6 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using ,)
eapply H0; eauto.5 subgoals, subgoal 1 (ID 3052)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' ->
A :: Γ ⊣ -> Γ' ⊢ M [n ← P] : B [n ← P]
Δ : Env
P : Term
A0 : Term
H2 : Δ ⊢ P : A0
Γ' : Env
n : nat
H3 : sub_in_env Δ P A0 n Γ Γ'
H4 : Γ ⊣
============================
Γ' ⊢ λ [A [n ← P]], M [(S n) ← P] : Π (A [n ← P]), B [(S n) ← P]
subgoal 2 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 3 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 4 (ID 3094) is:
Γ' ⊣
subgoal 5 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using ,)
econstructor. 8 subgoals, subgoal 1 (ID 3911)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' ->
A :: Γ ⊣ -> Γ' ⊢ M [n ← P] : B [n ← P]
Δ : Env
P : Term
A0 : Term
H2 : Δ ⊢ P : A0
Γ' : Env
n : nat
H3 : sub_in_env Δ P A0 n Γ Γ'
H4 : Γ ⊣
============================
Rel ?3908 ?3909 ?3910
subgoal 2 (ID 3912) is:
Γ' ⊢ A [n ← P] : !?3908
subgoal 3 (ID 3913) is:
A [n ← P] :: Γ' ⊢ B [(S n) ← P] : !?3909
subgoal 4 (ID 3914) is:
A [n ← P] :: Γ' ⊢ M [(S n) ← P] : B [(S n) ← P]
subgoal 5 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 6 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 7 (ID 3094) is:
Γ' ⊣
subgoal 8 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 open, ?3909 open, ?3910 open,)
apply r. 7 subgoals, subgoal 1 (ID 3912)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' ->
A :: Γ ⊣ -> Γ' ⊢ M [n ← P] : B [n ← P]
Δ : Env
P : Term
A0 : Term
H2 : Δ ⊢ P : A0
Γ' : Env
n : nat
H3 : sub_in_env Δ P A0 n Γ Γ'
H4 : Γ ⊣
============================
Γ' ⊢ A [n ← P] : !s1
subgoal 2 (ID 3913) is:
A [n ← P] :: Γ' ⊢ B [(S n) ← P] : !s2
subgoal 3 (ID 3914) is:
A [n ← P] :: Γ' ⊢ M [(S n) ← P] : B [(S n) ← P]
subgoal 4 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 5 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 6 (ID 3094) is:
Γ' ⊣
subgoal 7 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using ,)
eapply H; eauto. 6 subgoals, subgoal 1 (ID 3913)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' ->
A :: Γ ⊣ -> Γ' ⊢ M [n ← P] : B [n ← P]
Δ : Env
P : Term
A0 : Term
H2 : Δ ⊢ P : A0
Γ' : Env
n : nat
H3 : sub_in_env Δ P A0 n Γ Γ'
H4 : Γ ⊣
============================
A [n ← P] :: Γ' ⊢ B [(S n) ← P] : !s2
subgoal 2 (ID 3914) is:
A [n ← P] :: Γ' ⊢ M [(S n) ← P] : B [(S n) ← P]
subgoal 3 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 4 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 5 (ID 3094) is:
Γ' ⊣
subgoal 6 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using ,)
eapply H0; eauto. 5 subgoals, subgoal 1 (ID 3914)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' -> A :: Γ ⊣ -> Γ' ⊢ B [n ← P] : !s2
t1 : A :: Γ ⊢ M : B
H1 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n (A :: Γ) Γ' ->
A :: Γ ⊣ -> Γ' ⊢ M [n ← P] : B [n ← P]
Δ : Env
P : Term
A0 : Term
H2 : Δ ⊢ P : A0
Γ' : Env
n : nat
H3 : sub_in_env Δ P A0 n Γ Γ'
H4 : Γ ⊣
============================
A [n ← P] :: Γ' ⊢ M [(S n) ← P] : B [(S n) ← P]
subgoal 2 (ID 3069) is:
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 3 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 4 (ID 3094) is:
Γ' ⊣
subgoal 5 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using ,)
eapply H1; eauto.4 subgoals, subgoal 1 (ID 3069)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' ->
Γ ⊣ -> Γ' ⊢ M [n ← P] : Π (A [n ← P]), B [(S n) ← P]
t0 : Γ ⊢ N : A
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ N [n ← P] : A [n ← P]
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ M [n ← P] · N [n ← P] : B [ ← N] [n ← P]
subgoal 2 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 3 (ID 3094) is:
Γ' ⊣
subgoal 4 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using ,)
rewrite subst_travers. 4 subgoals, subgoal 1 (ID 3970)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' ->
Γ ⊣ -> Γ' ⊢ M [n ← P] : Π (A [n ← P]), B [(S n) ← P]
t0 : Γ ⊢ N : A
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ N [n ← P] : A [n ← P]
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ M [n ← P] · N [n ← P] : (B [(n + 1) ← P]) [ ← N [n ← P]]
subgoal 2 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 3 (ID 3094) is:
Γ' ⊣
subgoal 4 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using ,)
econstructor.5 subgoals, subgoal 1 (ID 3977)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' ->
Γ ⊣ -> Γ' ⊢ M [n ← P] : Π (A [n ← P]), B [(S n) ← P]
t0 : Γ ⊢ N : A
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ N [n ← P] : A [n ← P]
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ M [n ← P] : Π (?3976), B [(n + 1) ← P]
subgoal 2 (ID 3978) is:
Γ' ⊢ N [n ← P] : ?3976
subgoal 3 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 4 (ID 3094) is:
Γ' ⊣
subgoal 5 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 open,)
replace (n+1) with (S n) by (rewrite plus_comm; trivial). 5 subgoals, subgoal 1 (ID 3982)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' ->
Γ ⊣ -> Γ' ⊢ M [n ← P] : Π (A [n ← P]), B [(S n) ← P]
t0 : Γ ⊢ N : A
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ N [n ← P] : A [n ← P]
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ M [n ← P] : Π (?3976), B [(S n) ← P]
subgoal 2 (ID 3978) is:
Γ' ⊢ N [n ← P] : ?3976
subgoal 3 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 4 (ID 3094) is:
Γ' ⊣
subgoal 5 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 open,)
eapply H; eauto.4 subgoals, subgoal 1 (ID 3978)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' ->
Γ ⊣ -> Γ' ⊢ M [n ← P] : Π (A [n ← P]), B [(S n) ← P]
t0 : Γ ⊢ N : A
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ N [n ← P] : A [n ← P]
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ N [n ← P] : A [n ← P]
subgoal 2 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 3 (ID 3094) is:
Γ' ⊣
subgoal 4 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using ,)
replace (n+1) with (S n) by (rewrite plus_comm; trivial). 4 subgoals, subgoal 1 (ID 4000)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' ->
Γ ⊣ -> Γ' ⊢ M [n ← P] : Π (A [n ← P]), B [(S n) ← P]
t0 : Γ ⊢ N : A
H0 : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ N [n ← P] : A [n ← P]
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ N [n ← P] : A [n ← P]
subgoal 2 (ID 3087) is:
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 3 (ID 3094) is:
Γ' ⊣
subgoal 4 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using ,)
eapply H0; eauto.3 subgoals, subgoal 1 (ID 3087)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ M [n ← P] : A [n ← P]
t0 : Γ ⊢ B : !s
H0 : forall (Δ : Env) (P A : Term),
Δ ⊢ P : A ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A n Γ Γ' -> Γ ⊣ -> Γ' ⊢ B [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ M [n ← P] : B [n ← P]
subgoal 2 (ID 3094) is:
Γ' ⊣
subgoal 3 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using ,)
econstructor. 5 subgoals, subgoal 1 (ID 4024)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ M [n ← P] : A [n ← P]
t0 : Γ ⊢ B : !s
H0 : forall (Δ : Env) (P A : Term),
Δ ⊢ P : A ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A n Γ Γ' -> Γ ⊣ -> Γ' ⊢ B [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
?4022 ≡ B [n ← P]
subgoal 2 (ID 4025) is:
Γ' ⊢ M [n ← P] : ?4022
subgoal 3 (ID 4026) is:
Γ' ⊢ B [n ← P] : !?4023
subgoal 4 (ID 3094) is:
Γ' ⊣
subgoal 5 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 open, ?4023 open,)
apply Betac_subst2. 5 subgoals, subgoal 1 (ID 4028)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ M [n ← P] : A [n ← P]
t0 : Γ ⊢ B : !s
H0 : forall (Δ : Env) (P A : Term),
Δ ⊢ P : A ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A n Γ Γ' -> Γ ⊣ -> Γ' ⊢ B [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
?4027 ≡ B
subgoal 2 (ID 4025) is:
Γ' ⊢ M [n ← P] : ?4027 [n ← P]
subgoal 3 (ID 4026) is:
Γ' ⊢ B [n ← P] : !?4023
subgoal 4 (ID 3094) is:
Γ' ⊣
subgoal 5 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 open, ?4027 open,)
apply b. 4 subgoals, subgoal 1 (ID 4025)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ M [n ← P] : A [n ← P]
t0 : Γ ⊢ B : !s
H0 : forall (Δ : Env) (P A : Term),
Δ ⊢ P : A ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A n Γ Γ' -> Γ ⊣ -> Γ' ⊢ B [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ M [n ← P] : A [n ← P]
subgoal 2 (ID 4026) is:
Γ' ⊢ B [n ← P] : !?4023
subgoal 3 (ID 3094) is:
Γ' ⊣
subgoal 4 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 open, ?4027 using ,)
eapply H; eauto. 3 subgoals, subgoal 1 (ID 4026)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ M [n ← P] : A [n ← P]
t0 : Γ ⊢ B : !s
H0 : forall (Δ : Env) (P A : Term),
Δ ⊢ P : A ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A n Γ Γ' -> Γ ⊣ -> Γ' ⊢ B [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H1 : Δ ⊢ P : A0
Γ' : Env
n : nat
H2 : sub_in_env Δ P A0 n Γ Γ'
H3 : Γ ⊣
============================
Γ' ⊢ B [n ← P] : !?4023
subgoal 2 (ID 3094) is:
Γ' ⊣
subgoal 3 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 open, ?4027 using , ?4029 using , ?4030 using ,)
eapply H0; eauto.2 subgoals, subgoal 1 (ID 3094)
Δ : Env
P : Term
A : Term
n : nat
Γ' : Env
H : Δ ⊢ P : A
H0 : sub_in_env Δ P A n nil Γ'
============================
Γ' ⊣
subgoal 2 (ID 3106) is:
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using ,)
inversion H0.1 subgoals, subgoal 1 (ID 3106)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
Δ : Env
P : Term
A0 : Term
n : nat
Γ' : Env
H0 : Δ ⊢ P : A0
H1 : sub_in_env Δ P A0 n (A :: Γ) Γ'
============================
Γ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using ,)
inversion H1; subst; clear H1. 2 subgoals, subgoal 1 (ID 4207)
A : Term
s : Sorts
P : Term
Γ' : Env
t : Γ' ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ'0 : Env) (n : nat),
sub_in_env Δ P A0 n Γ' Γ'0 -> Γ' ⊣ -> Γ'0 ⊢ A [n ← P] : !s
H0 : Γ' ⊢ P : A
============================
Γ' ⊣
subgoal 2 (ID 4208) is:
A [n0 ← P] :: Δ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using ,)
eauto.1 subgoals, subgoal 1 (ID 4208)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Δ' : Env
n0 : nat
H6 : sub_in_env Δ P A0 n0 Γ Δ'
============================
A [n0 ← P] :: Δ' ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using , ?4209 using , ?4210 using ,)
econstructor. 1 subgoals, subgoal 1 (ID 4276)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Δ' : Env
n0 : nat
H6 : sub_in_env Δ P A0 n0 Γ Δ'
============================
Δ' ⊢ A [n0 ← P] : !?4275
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using , ?4209 using , ?4210 using , ?4275 open,)
eapply H. 3 subgoals, subgoal 1 (ID 4279)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Δ' : Env
n0 : nat
H6 : sub_in_env Δ P A0 n0 Γ Δ'
============================
?4277 ⊢ P : ?4278
subgoal 2 (ID 4280) is:
sub_in_env ?4277 P ?4278 n0 Γ Δ'
subgoal 3 (ID 4281) is:
Γ ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using , ?4209 using , ?4210 using , ?4275 using , ?4277 open, ?4278 open,)
apply H0. 2 subgoals, subgoal 1 (ID 4280)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Δ' : Env
n0 : nat
H6 : sub_in_env Δ P A0 n0 Γ Δ'
============================
sub_in_env Δ P A0 n0 Γ Δ'
subgoal 2 (ID 4281) is:
Γ ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using , ?4209 using , ?4210 using , ?4275 using , ?4277 using , ?4278 using ,)
trivial. 1 subgoals, subgoal 1 (ID 4281)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : forall (Δ : Env) (P A0 : Term),
Δ ⊢ P : A0 ->
forall (Γ' : Env) (n : nat),
sub_in_env Δ P A0 n Γ Γ' -> Γ ⊣ -> Γ' ⊢ A [n ← P] : !s
Δ : Env
P : Term
A0 : Term
H0 : Δ ⊢ P : A0
Δ' : Env
n0 : nat
H6 : sub_in_env Δ P A0 n0 Γ Δ'
============================
Γ ⊣
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using , ?4209 using , ?4210 using , ?4275 using , ?4277 using , ?4278 using ,)
eauto.No more subgoals.
(dependent evars: ?3120 using ?3127 , ?3121 using ?3126 , ?3126 using , ?3127 using , ?3286 using , ?3287 using , ?3288 using , ?3289 using , ?3417 using , ?3418 using , ?3419 using , ?3420 using , ?3474 using , ?3475 using , ?3476 using , ?3553 using , ?3557 using , ?3558 using , ?3559 using , ?3561 using , ?3562 using , ?3563 using , ?3564 using , ?3622 using , ?3623 using , ?3624 using , ?3625 using , ?3817 using , ?3818 using , ?3819 using , ?3820 using , ?3821 using , ?3865 using , ?3866 using , ?3870 using , ?3871 using , ?3883 using , ?3884 using , ?3894 using , ?3908 using , ?3909 using , ?3910 using , ?3915 using , ?3916 using , ?3928 using , ?3929 using , ?3939 using , ?3949 using , ?3950 using , ?3960 using , ?3976 using , ?3985 using , ?3986 using , ?4003 using , ?4004 using , ?4022 using ?4027 , ?4023 using , ?4027 using , ?4029 using , ?4030 using , ?4042 using , ?4043 using , ?4209 using , ?4210 using , ?4275 using , ?4277 using , ?4278 using , ?4282 using , ?4283 using ,)
Qed.
Well-formation of contexts: if a context is valid, every term inside
is well-typed by a sort.
Reserved Notation "Γ ⊢' t : T"
(at level 80, t, T at level 30, no associativity) .
Inductive legacy_typ : Env -> Term -> Term -> Prop :=
| lcSort : forall s t, Ax s t -> nil ⊢' !s : !t
| lcVar : forall Γ A s, Γ ⊢' A : !s -> A :: Γ ⊢' #0 : A ↑ 1
| lcWeak : forall Γ M T A s, Γ ⊢' M : T -> Γ ⊢' A : !s ->
A :: Γ ⊢' M ↑ 1 : T ↑ 1
| lcPi : forall Γ A B s t u, Rel s t u -> Γ ⊢' A : !s ->
A :: Γ ⊢' B : !t -> Γ ⊢' Π(A), B : !u
| lcLa : forall Γ A B M s t u, Rel s t u -> Γ ⊢' A : !s ->
A :: Γ ⊢' B : !t -> A :: Γ ⊢' M : B -> Γ ⊢' λ[A],M : Π(A),B
| lcApp : forall Γ A B M N, Γ ⊢' M : Π(A),B -> Γ ⊢' N : A ->
Γ ⊢' M · N : B [ ← N]
| lCnv : forall Γ M A B s, Γ ⊢' M : A -> Γ ⊢' B : !s ->
A ≡ B -> Γ ⊢' M : B
where "Γ ⊢' M : T" := (legacy_typ Γ M T) : UT_scope.legacy_typ is defined
legacy_typ_ind is defined
Lemma legacy2typ : forall Γ M T, Γ ⊢' M : T -> (Γ ⊢ M : T /\ Γ ⊣).1 subgoals, subgoal 1 (ID 5063)
============================
forall (Γ : Env) (M T : Term), Γ ⊢' M : T -> (Γ ⊢ M : T) /\ Γ ⊣
(dependent evars:)
Proof.1 subgoals, subgoal 1 (ID 5063)
============================
forall (Γ : Env) (M T : Term), Γ ⊢' M : T -> (Γ ⊢ M : T) /\ Γ ⊣
(dependent evars:)
induction 1; intros.7 subgoals, subgoal 1 (ID 5105)
s : Sorts
t : Sorts
H : Ax s t
============================
(nil ⊢ !s : !t) /\ nil ⊣
subgoal 2 (ID 5110) is:
(A :: Γ ⊢ #0 : A ↑ 1) /\ A :: Γ ⊣
subgoal 3 (ID 5120) is:
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 4 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 5 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 6 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 7 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars:)
split; now constructor.6 subgoals, subgoal 1 (ID 5110)
Γ : Env
A : Term
s : Sorts
H : Γ ⊢' A : !s
IHlegacy_typ : (Γ ⊢ A : !s) /\ Γ ⊣
============================
(A :: Γ ⊢ #0 : A ↑ 1) /\ A :: Γ ⊣
subgoal 2 (ID 5120) is:
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 3 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 4 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 5 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 6 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars:)
destruct IHlegacy_typ.6 subgoals, subgoal 1 (ID 5181)
Γ : Env
A : Term
s : Sorts
H : Γ ⊢' A : !s
H0 : Γ ⊢ A : !s
H1 : Γ ⊣
============================
(A :: Γ ⊢ #0 : A ↑ 1) /\ A :: Γ ⊣
subgoal 2 (ID 5120) is:
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 3 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 4 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 5 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 6 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars:)
split.7 subgoals, subgoal 1 (ID 5183)
Γ : Env
A : Term
s : Sorts
H : Γ ⊢' A : !s
H0 : Γ ⊢ A : !s
H1 : Γ ⊣
============================
A :: Γ ⊢ #0 : A ↑ 1
subgoal 2 (ID 5184) is:
A :: Γ ⊣
subgoal 3 (ID 5120) is:
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 4 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 5 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 6 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 7 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars:)
constructor.8 subgoals, subgoal 1 (ID 5187)
Γ : Env
A : Term
s : Sorts
H : Γ ⊢' A : !s
H0 : Γ ⊢ A : !s
H1 : Γ ⊣
============================
A :: Γ ⊣
subgoal 2 (ID 5188) is:
A ↑ 1 ↓ 0 ⊂ A :: Γ
subgoal 3 (ID 5184) is:
A :: Γ ⊣
subgoal 4 (ID 5120) is:
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 5 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 6 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 7 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 8 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars:)
econstructor; now apply H0.7 subgoals, subgoal 1 (ID 5188)
Γ : Env
A : Term
s : Sorts
H : Γ ⊢' A : !s
H0 : Γ ⊢ A : !s
H1 : Γ ⊣
============================
A ↑ 1 ↓ 0 ⊂ A :: Γ
subgoal 2 (ID 5184) is:
A :: Γ ⊣
subgoal 3 (ID 5120) is:
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 4 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 5 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 6 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 7 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using ,)
now exists A; split.6 subgoals, subgoal 1 (ID 5184)
Γ : Env
A : Term
s : Sorts
H : Γ ⊢' A : !s
H0 : Γ ⊢ A : !s
H1 : Γ ⊣
============================
A :: Γ ⊣
subgoal 2 (ID 5120) is:
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 3 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 4 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 5 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 6 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using ,)
econstructor; now apply H0.5 subgoals, subgoal 1 (ID 5120)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢' M : T
H0 : Γ ⊢' A : !s
IHlegacy_typ1 : (Γ ⊢ M : T) /\ Γ ⊣
IHlegacy_typ2 : (Γ ⊢ A : !s) /\ Γ ⊣
============================
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 2 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 3 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 4 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 5 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using ,)
destruct IHlegacy_typ1, IHlegacy_typ2.5 subgoals, subgoal 1 (ID 6292)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢' M : T
H0 : Γ ⊢' A : !s
H1 : Γ ⊢ M : T
H2 : Γ ⊣
H3 : Γ ⊢ A : !s
H4 : Γ ⊣
============================
(A :: Γ ⊢ M ↑ 1 : T ↑ 1) /\ A :: Γ ⊣
subgoal 2 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 3 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 4 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 5 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using ,)
split.6 subgoals, subgoal 1 (ID 6294)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢' M : T
H0 : Γ ⊢' A : !s
H1 : Γ ⊢ M : T
H2 : Γ ⊣
H3 : Γ ⊢ A : !s
H4 : Γ ⊣
============================
A :: Γ ⊢ M ↑ 1 : T ↑ 1
subgoal 2 (ID 6295) is:
A :: Γ ⊣
subgoal 3 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 4 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 5 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 6 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using ,)
eapply weakening.8 subgoals, subgoal 1 (ID 6308)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢' M : T
H0 : Γ ⊢' A : !s
H1 : Γ ⊢ M : T
H2 : Γ ⊣
H3 : Γ ⊢ A : !s
H4 : Γ ⊣
============================
?6307 ⊢ M : T
subgoal 2 (ID 6311) is:
ins_in_env ?6309 ?6310 0 ?6307 (A :: Γ)
subgoal 3 (ID 6313) is:
?6309 ⊢ ?6310 : !?6312
subgoal 4 (ID 6295) is:
A :: Γ ⊣
subgoal 5 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 6 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 7 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 8 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 open, ?6309 open, ?6310 open, ?6312 open,)
now apply H1.7 subgoals, subgoal 1 (ID 6311)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢' M : T
H0 : Γ ⊢' A : !s
H1 : Γ ⊢ M : T
H2 : Γ ⊣
H3 : Γ ⊢ A : !s
H4 : Γ ⊣
============================
ins_in_env ?6309 ?6310 0 Γ (A :: Γ)
subgoal 2 (ID 6313) is:
?6309 ⊢ ?6310 : !?6312
subgoal 3 (ID 6295) is:
A :: Γ ⊣
subgoal 4 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 5 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 6 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 7 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 open, ?6310 open, ?6312 open,)
now constructor.6 subgoals, subgoal 1 (ID 6313)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢' M : T
H0 : Γ ⊢' A : !s
H1 : Γ ⊢ M : T
H2 : Γ ⊣
H3 : Γ ⊢ A : !s
H4 : Γ ⊣
============================
Γ ⊢ A : !?6312
subgoal 2 (ID 6295) is:
A :: Γ ⊣
subgoal 3 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 4 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 5 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 6 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 open,)
now apply H3.5 subgoals, subgoal 1 (ID 6295)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢' M : T
H0 : Γ ⊢' A : !s
H1 : Γ ⊢ M : T
H2 : Γ ⊣
H3 : Γ ⊢ A : !s
H4 : Γ ⊣
============================
A :: Γ ⊣
subgoal 2 (ID 5132) is:
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 3 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 4 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 5 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using ,)
econstructor; now apply H3.4 subgoals, subgoal 1 (ID 5132)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
H : Rel s t u
H0 : Γ ⊢' A : !s
H1 : A :: Γ ⊢' B : !t
IHlegacy_typ1 : (Γ ⊢ A : !s) /\ Γ ⊣
IHlegacy_typ2 : (A :: Γ ⊢ B : !t) /\ A :: Γ ⊣
============================
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 2 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 3 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 4 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
destruct IHlegacy_typ1, IHlegacy_typ2.4 subgoals, subgoal 1 (ID 6328)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
H : Rel s t u
H0 : Γ ⊢' A : !s
H1 : A :: Γ ⊢' B : !t
H2 : Γ ⊢ A : !s
H3 : Γ ⊣
H4 : A :: Γ ⊢ B : !t
H5 : A :: Γ ⊣
============================
(Γ ⊢ Π (A), B : !u) /\ Γ ⊣
subgoal 2 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 3 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 4 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
split; trivial.4 subgoals, subgoal 1 (ID 6330)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
H : Rel s t u
H0 : Γ ⊢' A : !s
H1 : A :: Γ ⊢' B : !t
H2 : Γ ⊢ A : !s
H3 : Γ ⊣
H4 : A :: Γ ⊢ B : !t
H5 : A :: Γ ⊣
============================
Γ ⊢ Π (A), B : !u
subgoal 2 (ID 5148) is:
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 3 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 4 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
now apply cPi with (s:=s) (t:=t).3 subgoals, subgoal 1 (ID 5148)
Γ : Env
A : Term
B : Term
M : Term
s : Sorts
t : Sorts
u : Sorts
H : Rel s t u
H0 : Γ ⊢' A : !s
H1 : A :: Γ ⊢' B : !t
H2 : A :: Γ ⊢' M : B
IHlegacy_typ1 : (Γ ⊢ A : !s) /\ Γ ⊣
IHlegacy_typ2 : (A :: Γ ⊢ B : !t) /\ A :: Γ ⊣
IHlegacy_typ3 : (A :: Γ ⊢ M : B) /\ A :: Γ ⊣
============================
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 2 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 3 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
destruct IHlegacy_typ1, IHlegacy_typ2, IHlegacy_typ3.3 subgoals, subgoal 1 (ID 9629)
Γ : Env
A : Term
B : Term
M : Term
s : Sorts
t : Sorts
u : Sorts
H : Rel s t u
H0 : Γ ⊢' A : !s
H1 : A :: Γ ⊢' B : !t
H2 : A :: Γ ⊢' M : B
H3 : Γ ⊢ A : !s
H4 : Γ ⊣
H5 : A :: Γ ⊢ B : !t
H6 : A :: Γ ⊣
H7 : A :: Γ ⊢ M : B
H8 : A :: Γ ⊣
============================
(Γ ⊢ λ [A], M : Π (A), B) /\ Γ ⊣
subgoal 2 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 3 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
split; trivial.3 subgoals, subgoal 1 (ID 9631)
Γ : Env
A : Term
B : Term
M : Term
s : Sorts
t : Sorts
u : Sorts
H : Rel s t u
H0 : Γ ⊢' A : !s
H1 : A :: Γ ⊢' B : !t
H2 : A :: Γ ⊢' M : B
H3 : Γ ⊢ A : !s
H4 : Γ ⊣
H5 : A :: Γ ⊢ B : !t
H6 : A :: Γ ⊣
H7 : A :: Γ ⊢ M : B
H8 : A :: Γ ⊣
============================
Γ ⊢ λ [A], M : Π (A), B
subgoal 2 (ID 5158) is:
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 3 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
now apply cLa with (s1:=s) (s2:=t) (s3:=u).2 subgoals, subgoal 1 (ID 5158)
Γ : Env
A : Term
B : Term
M : Term
N : Term
H : Γ ⊢' M : Π (A), B
H0 : Γ ⊢' N : A
IHlegacy_typ1 : (Γ ⊢ M : Π (A), B) /\ Γ ⊣
IHlegacy_typ2 : (Γ ⊢ N : A) /\ Γ ⊣
============================
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 2 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
destruct IHlegacy_typ1, IHlegacy_typ2.2 subgoals, subgoal 1 (ID 16110)
Γ : Env
A : Term
B : Term
M : Term
N : Term
H : Γ ⊢' M : Π (A), B
H0 : Γ ⊢' N : A
H1 : Γ ⊢ M : Π (A), B
H2 : Γ ⊣
H3 : Γ ⊢ N : A
H4 : Γ ⊣
============================
(Γ ⊢ M · N : B [ ← N]) /\ Γ ⊣
subgoal 2 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
split; trivial.2 subgoals, subgoal 1 (ID 16112)
Γ : Env
A : Term
B : Term
M : Term
N : Term
H : Γ ⊢' M : Π (A), B
H0 : Γ ⊢' N : A
H1 : Γ ⊢ M : Π (A), B
H2 : Γ ⊣
H3 : Γ ⊢ N : A
H4 : Γ ⊣
============================
Γ ⊢ M · N : B [ ← N]
subgoal 2 (ID 5170) is:
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
now apply cApp with (A := A).1 subgoals, subgoal 1 (ID 5170)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
H : Γ ⊢' M : A
H0 : Γ ⊢' B : !s
H1 : A ≡ B
IHlegacy_typ1 : (Γ ⊢ M : A) /\ Γ ⊣
IHlegacy_typ2 : (Γ ⊢ B : !s) /\ Γ ⊣
============================
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
destruct IHlegacy_typ1, IHlegacy_typ2.1 subgoals, subgoal 1 (ID 18331)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
H : Γ ⊢' M : A
H0 : Γ ⊢' B : !s
H1 : A ≡ B
H2 : Γ ⊢ M : A
H3 : Γ ⊣
H4 : Γ ⊢ B : !s
H5 : Γ ⊣
============================
(Γ ⊢ M : B) /\ Γ ⊣
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
split; trivial.1 subgoals, subgoal 1 (ID 18333)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
H : Γ ⊢' M : A
H0 : Γ ⊢' B : !s
H1 : A ≡ B
H2 : Γ ⊢ M : A
H3 : Γ ⊣
H4 : Γ ⊢ B : !s
H5 : Γ ⊣
============================
Γ ⊢ M : B
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
now apply Cnv with (A := A) (s:= s).No more subgoals.
(dependent evars: ?5191 using , ?6281 using , ?6300 using ?6307 , ?6301 using ?6309 , ?6302 using ?6310 , ?6303 using ?6312 , ?6307 using , ?6309 using , ?6310 using , ?6312 using , ?6317 using ,)
Qed.
Reserved Notation "Γ ⊣' " (at level 80, no associativity).
Inductive legacy_wf : Env -> Prop :=
| lwf_nil : nil ⊣'
| lwf_cons : forall Γ A s, Γ ⊢' A : !s -> A::Γ ⊣'
where "Γ ⊣'" := (legacy_wf Γ) : UT_scope.legacy_wf is defined
legacy_wf_ind is defined
Lemma wf_ltyp : forall Γ M T, Γ ⊢' M : T -> Γ ⊣'.1 subgoals, subgoal 1 (ID 21707)
============================
forall (Γ : Env) (M T : Term), Γ ⊢' M : T -> Γ ⊣'
(dependent evars:)
Proof.1 subgoals, subgoal 1 (ID 21707)
============================
forall (Γ : Env) (M T : Term), Γ ⊢' M : T -> Γ ⊣'
(dependent evars:)
induction 1; intros; trivial.3 subgoals, subgoal 1 (ID 21749)
s : Sorts
t : Sorts
H : Ax s t
============================
nil ⊣'
subgoal 2 (ID 21754) is:
A :: Γ ⊣'
subgoal 3 (ID 21764) is:
A :: Γ ⊣'
(dependent evars:)
now constructor.2 subgoals, subgoal 1 (ID 21754)
Γ : Env
A : Term
s : Sorts
H : Γ ⊢' A : !s
IHlegacy_typ : Γ ⊣'
============================
A :: Γ ⊣'
subgoal 2 (ID 21764) is:
A :: Γ ⊣'
(dependent evars:)
now apply lwf_cons with (s:=s).1 subgoals, subgoal 1 (ID 21764)
Γ : Env
M : Term
T : Term
A : Term
s : Sorts
H : Γ ⊢' M : T
H0 : Γ ⊢' A : !s
IHlegacy_typ1 : Γ ⊣'
IHlegacy_typ2 : Γ ⊣'
============================
A :: Γ ⊣'
(dependent evars:)
now apply lwf_cons with (s:=s).No more subgoals.
(dependent evars:)
Qed.
Lemma legacy_extend : forall Γ M T, Γ ⊣' -> nil ⊢' M : T ->
Γ ⊢' (M ↑ (length Γ)) : (T ↑ (length Γ)).1 subgoals, subgoal 1 (ID 22786)
============================
forall (Γ : Env) (M T : Term),
Γ ⊣' -> nil ⊢' M : T -> Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
(dependent evars:)
Proof.1 subgoals, subgoal 1 (ID 22786)
============================
forall (Γ : Env) (M T : Term),
Γ ⊣' -> nil ⊢' M : T -> Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
(dependent evars:)
intros Γ; induction Γ; intros; simpl.2 subgoals, subgoal 1 (ID 22803)
M : Term
T : Term
H : nil ⊣'
H0 : nil ⊢' M : T
============================
nil ⊢' M ↑ 0 : T ↑ 0
subgoal 2 (ID 22804) is:
a :: Γ ⊢' M ↑ (S (length Γ)) : T ↑ (S (length Γ))
(dependent evars:)
rewrite !lift0.2 subgoals, subgoal 1 (ID 22806)
M : Term
T : Term
H : nil ⊣'
H0 : nil ⊢' M : T
============================
nil ⊢' M : T
subgoal 2 (ID 22804) is:
a :: Γ ⊢' M ↑ (S (length Γ)) : T ↑ (S (length Γ))
(dependent evars:)
assumption.1 subgoals, subgoal 1 (ID 22804)
a : Term
Γ : list Term
IHΓ : forall M T : Term,
Γ ⊣' -> nil ⊢' M : T -> Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
M : Term
T : Term
H : a :: Γ ⊣'
H0 : nil ⊢' M : T
============================
a :: Γ ⊢' M ↑ (S (length Γ)) : T ↑ (S (length Γ))
(dependent evars:)
replace (M ↑ (S (length Γ))) with (M ↑ (length Γ)) ↑ 1 by apply lift_lift.1 subgoals, subgoal 1 (ID 22812)
a : Term
Γ : list Term
IHΓ : forall M T : Term,
Γ ⊣' -> nil ⊢' M : T -> Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
M : Term
T : Term
H : a :: Γ ⊣'
H0 : nil ⊢' M : T
============================
a :: Γ ⊢' M ↑ (length Γ) ↑ 1 : T ↑ (S (length Γ))
(dependent evars:)
replace (T ↑ (S (length Γ))) with (T ↑ (length Γ)) ↑ 1 by apply lift_lift.1 subgoals, subgoal 1 (ID 22819)
a : Term
Γ : list Term
IHΓ : forall M T : Term,
Γ ⊣' -> nil ⊢' M : T -> Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
M : Term
T : Term
H : a :: Γ ⊣'
H0 : nil ⊢' M : T
============================
a :: Γ ⊢' M ↑ (length Γ) ↑ 1 : T ↑ (length Γ) ↑ 1
(dependent evars:)
inversion H; subst; clear H.1 subgoals, subgoal 1 (ID 22869)
a : Term
Γ : list Term
IHΓ : forall M T : Term,
Γ ⊣' -> nil ⊢' M : T -> Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
M : Term
T : Term
H0 : nil ⊢' M : T
s : Sorts
H2 : Γ ⊢' a : !s
============================
a :: Γ ⊢' M ↑ (length Γ) ↑ 1 : T ↑ (length Γ) ↑ 1
(dependent evars:)
apply lcWeak with (s:=s); trivial.1 subgoals, subgoal 1 (ID 22870)
a : Term
Γ : list Term
IHΓ : forall M T : Term,
Γ ⊣' -> nil ⊢' M : T -> Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
M : Term
T : Term
H0 : nil ⊢' M : T
s : Sorts
H2 : Γ ⊢' a : !s
============================
Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
(dependent evars:)
apply IHΓ; trivial.1 subgoals, subgoal 1 (ID 22872)
a : Term
Γ : list Term
IHΓ : forall M T : Term,
Γ ⊣' -> nil ⊢' M : T -> Γ ⊢' M ↑ (length Γ) : T ↑ (length Γ)
M : Term
T : Term
H0 : nil ⊢' M : T
s : Sorts
H2 : Γ ⊢' a : !s
============================
Γ ⊣'
(dependent evars:)
now apply wf_ltyp in H2.No more subgoals.
(dependent evars:)
Qed.
Lemma legacy_var : forall Γ A v, Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A.1 subgoals, subgoal 1 (ID 23213)
============================
forall (Γ : Env) (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
(dependent evars:)
Proof.1 subgoals, subgoal 1 (ID 23213)
============================
forall (Γ : Env) (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
(dependent evars:)
intros Γ; induction Γ; intros; simpl.2 subgoals, subgoal 1 (ID 23230)
A : Term
v : nat
H : nil ⊣'
H0 : A ↓ v ⊂ nil
============================
nil ⊢' #v : A
subgoal 2 (ID 23231) is:
a :: Γ ⊢' #v : A
(dependent evars:)
destruct H0 as ( x & ? & ?).2 subgoals, subgoal 1 (ID 23239)
A : Term
v : nat
H : nil ⊣'
x : Term
H0 : A = x ↑ (S v)
H1 : x ↓ v ∈ nil
============================
nil ⊢' #v : A
subgoal 2 (ID 23231) is:
a :: Γ ⊢' #v : A
(dependent evars:)
now inversion H1.1 subgoals, subgoal 1 (ID 23231)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
A : Term
v : nat
H : a :: Γ ⊣'
H0 : A ↓ v ⊂ a :: Γ
============================
a :: Γ ⊢' #v : A
(dependent evars:)
inversion H; subst; clear H.1 subgoals, subgoal 1 (ID 23323)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
A : Term
v : nat
H0 : A ↓ v ⊂ a :: Γ
s : Sorts
H2 : Γ ⊢' a : !s
============================
a :: Γ ⊢' #v : A
(dependent evars:)
destruct H0 as (x & ? & ?).1 subgoals, subgoal 1 (ID 23334)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
A : Term
v : nat
x : Term
H : A = x ↑ (S v)
H0 : x ↓ v ∈ a :: Γ
s : Sorts
H2 : Γ ⊢' a : !s
============================
a :: Γ ⊢' #v : A
(dependent evars:)
inversion H0; subst; clear H0.2 subgoals, subgoal 1 (ID 23423)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
s : Sorts
H2 : Γ ⊢' a : !s
============================
a :: Γ ⊢' #0 : a ↑ 1
subgoal 2 (ID 23424) is:
a :: Γ ⊢' #(S n) : x ↑ (S (S n))
(dependent evars:)
subst.2 subgoals, subgoal 1 (ID 23423)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
s : Sorts
H2 : Γ ⊢' a : !s
============================
a :: Γ ⊢' #0 : a ↑ 1
subgoal 2 (ID 23424) is:
a :: Γ ⊢' #(S n) : x ↑ (S (S n))
(dependent evars:)
now apply lcVar with (s:=s).1 subgoals, subgoal 1 (ID 23424)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
x : Term
s : Sorts
H2 : Γ ⊢' a : !s
n : nat
H5 : x ↓ n ∈ Γ
============================
a :: Γ ⊢' #(S n) : x ↑ (S (S n))
(dependent evars:)
replace (x ↑ (S (S n))) with (x ↑ (S n)) ↑ 1 by apply lift_lift.1 subgoals, subgoal 1 (ID 23733)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
x : Term
s : Sorts
H2 : Γ ⊢' a : !s
n : nat
H5 : x ↓ n ∈ Γ
============================
a :: Γ ⊢' #(S n) : x ↑ (S n) ↑ 1
(dependent evars:)
change (#(S n)) with (#n)↑1.1 subgoals, subgoal 1 (ID 23736)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
x : Term
s : Sorts
H2 : Γ ⊢' a : !s
n : nat
H5 : x ↓ n ∈ Γ
============================
a :: Γ ⊢' #n ↑ 1 : x ↑ (S n) ↑ 1
(dependent evars:)
apply lcWeak with (s := s); trivial.1 subgoals, subgoal 1 (ID 23737)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
x : Term
s : Sorts
H2 : Γ ⊢' a : !s
n : nat
H5 : x ↓ n ∈ Γ
============================
Γ ⊢' #n : x ↑ (S n)
(dependent evars:)
apply IHΓ.2 subgoals, subgoal 1 (ID 23739)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
x : Term
s : Sorts
H2 : Γ ⊢' a : !s
n : nat
H5 : x ↓ n ∈ Γ
============================
Γ ⊣'
subgoal 2 (ID 23740) is:
x ↑ (S n) ↓ n ⊂ Γ
(dependent evars:)
now apply wf_ltyp in H2.1 subgoals, subgoal 1 (ID 23740)
a : Term
Γ : list Term
IHΓ : forall (A : Term) (v : nat), Γ ⊣' -> A ↓ v ⊂ Γ -> Γ ⊢' #v : A
x : Term
s : Sorts
H2 : Γ ⊢' a : !s
n : nat
H5 : x ↓ n ∈ Γ
============================
x ↑ (S n) ↓ n ⊂ Γ
(dependent evars:)
now exists x; split.No more subgoals.
(dependent evars:)
Qed.
Lemma typ2legacy : (forall Γ M T, Γ ⊢ M : T -> Γ ⊢' M : T ) /\
(forall Γ, Γ ⊣ -> Γ ⊣').1 subgoals, subgoal 1 (ID 24608)
============================
(forall (Γ : Env) (M T : Term), Γ ⊢ M : T -> Γ ⊢' M : T) /\
(forall Γ : Env, Γ ⊣ -> Γ ⊣')
(dependent evars:)
Proof.1 subgoals, subgoal 1 (ID 24608)
============================
(forall (Γ : Env) (M T : Term), Γ ⊢ M : T -> Γ ⊢' M : T) /\
(forall Γ : Env, Γ ⊣ -> Γ ⊣')
(dependent evars:)
apply typ_induc; intros.8 subgoals, subgoal 1 (ID 24622)
Γ : Env
s : Sorts
t : Sorts
a : Ax s t
w : Γ ⊣
H : Γ ⊣'
============================
Γ ⊢' !s : !t
subgoal 2 (ID 24628) is:
Γ ⊢' #v : A
subgoal 3 (ID 24639) is:
Γ ⊢' Π (A), B : !u
subgoal 4 (ID 24653) is:
Γ ⊢' λ [A], M : Π (A), B
subgoal 5 (ID 24662) is:
Γ ⊢' M · N : B [ ← N]
subgoal 6 (ID 24672) is:
Γ ⊢' M : B
subgoal 7 (ID 24615) is:
nil ⊣'
subgoal 8 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
change !s with (!s ↑ (length Γ)); change !t with (!t ↑ (length Γ)).8 subgoals, subgoal 1 (ID 24683)
Γ : Env
s : Sorts
t : Sorts
a : Ax s t
w : Γ ⊣
H : Γ ⊣'
============================
Γ ⊢' !s ↑ (length Γ) : !t ↑ (length Γ)
subgoal 2 (ID 24628) is:
Γ ⊢' #v : A
subgoal 3 (ID 24639) is:
Γ ⊢' Π (A), B : !u
subgoal 4 (ID 24653) is:
Γ ⊢' λ [A], M : Π (A), B
subgoal 5 (ID 24662) is:
Γ ⊢' M · N : B [ ← N]
subgoal 6 (ID 24672) is:
Γ ⊢' M : B
subgoal 7 (ID 24615) is:
nil ⊣'
subgoal 8 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
apply legacy_extend; trivial.8 subgoals, subgoal 1 (ID 24685)
Γ : Env
s : Sorts
t : Sorts
a : Ax s t
w : Γ ⊣
H : Γ ⊣'
============================
nil ⊢' !s : !t
subgoal 2 (ID 24628) is:
Γ ⊢' #v : A
subgoal 3 (ID 24639) is:
Γ ⊢' Π (A), B : !u
subgoal 4 (ID 24653) is:
Γ ⊢' λ [A], M : Π (A), B
subgoal 5 (ID 24662) is:
Γ ⊢' M · N : B [ ← N]
subgoal 6 (ID 24672) is:
Γ ⊢' M : B
subgoal 7 (ID 24615) is:
nil ⊣'
subgoal 8 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
now constructor.7 subgoals, subgoal 1 (ID 24628)
Γ : Env
A : Term
v : nat
w : Γ ⊣
H : Γ ⊣'
i : A ↓ v ⊂ Γ
============================
Γ ⊢' #v : A
subgoal 2 (ID 24639) is:
Γ ⊢' Π (A), B : !u
subgoal 3 (ID 24653) is:
Γ ⊢' λ [A], M : Π (A), B
subgoal 4 (ID 24662) is:
Γ ⊢' M · N : B [ ← N]
subgoal 5 (ID 24672) is:
Γ ⊢' M : B
subgoal 6 (ID 24615) is:
nil ⊣'
subgoal 7 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
now apply legacy_var.6 subgoals, subgoal 1 (ID 24639)
Γ : Env
A : Term
B : Term
s : Sorts
t : Sorts
u : Sorts
r : Rel s t u
t0 : Γ ⊢ A : !s
H : Γ ⊢' A : !s
t1 : A :: Γ ⊢ B : !t
H0 : A :: Γ ⊢' B : !t
============================
Γ ⊢' Π (A), B : !u
subgoal 2 (ID 24653) is:
Γ ⊢' λ [A], M : Π (A), B
subgoal 3 (ID 24662) is:
Γ ⊢' M · N : B [ ← N]
subgoal 4 (ID 24672) is:
Γ ⊢' M : B
subgoal 5 (ID 24615) is:
nil ⊣'
subgoal 6 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
now apply lcPi with (s:=s) (t:=t) (u:=u).5 subgoals, subgoal 1 (ID 24653)
Γ : Env
A : Term
B : Term
M : Term
s1 : Sorts
s2 : Sorts
s3 : Sorts
r : Rel s1 s2 s3
t : Γ ⊢ A : !s1
H : Γ ⊢' A : !s1
t0 : A :: Γ ⊢ B : !s2
H0 : A :: Γ ⊢' B : !s2
t1 : A :: Γ ⊢ M : B
H1 : A :: Γ ⊢' M : B
============================
Γ ⊢' λ [A], M : Π (A), B
subgoal 2 (ID 24662) is:
Γ ⊢' M · N : B [ ← N]
subgoal 3 (ID 24672) is:
Γ ⊢' M : B
subgoal 4 (ID 24615) is:
nil ⊣'
subgoal 5 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
now apply lcLa with (s:=s1) (t:=s2) (u:=s3).4 subgoals, subgoal 1 (ID 24662)
Γ : Env
M : Term
N : Term
A : Term
B : Term
t : Γ ⊢ M : Π (A), B
H : Γ ⊢' M : Π (A), B
t0 : Γ ⊢ N : A
H0 : Γ ⊢' N : A
============================
Γ ⊢' M · N : B [ ← N]
subgoal 2 (ID 24672) is:
Γ ⊢' M : B
subgoal 3 (ID 24615) is:
nil ⊣'
subgoal 4 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
now apply lcApp with (A:=A).3 subgoals, subgoal 1 (ID 24672)
Γ : Env
M : Term
A : Term
B : Term
s : Sorts
b : A ≡ B
t : Γ ⊢ M : A
H : Γ ⊢' M : A
t0 : Γ ⊢ B : !s
H0 : Γ ⊢' B : !s
============================
Γ ⊢' M : B
subgoal 2 (ID 24615) is:
nil ⊣'
subgoal 3 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
now apply lCnv with (A:=A) (s:=s).2 subgoals, subgoal 1 (ID 24615)
============================
nil ⊣'
subgoal 2 (ID 24677) is:
A :: Γ ⊣'
(dependent evars:)
now constructor.1 subgoals, subgoal 1 (ID 24677)
Γ : Env
A : Term
s : Sorts
t : Γ ⊢ A : !s
H : Γ ⊢' A : !s
============================
A :: Γ ⊣'
(dependent evars:)
now apply lwf_cons with (s:=s).No more subgoals.
(dependent evars:)
Qed.
End ut_typ_mod.Module ut_typ_mod is defined