c t t0)).(\lambda (H2: (sty1 g c t1 t0)).(\lambda (t3: T).(\lambda (H3: (sty0
g c t0 t3)).(sty1_sing g c t1 t0 H2 t3 H3)))))) t2 H0))))))).
-theorem sty1_bind:
+lemma sty1_bind:
\forall (g: G).(\forall (b: B).(\forall (c: C).(\forall (v: T).(\forall (t1:
T).(\forall (t2: T).((sty1 g (CHead c (Bind b) v) t1 t2) \to (sty1 g c (THead
(Bind b) v t1) (THead (Bind b) v t2))))))))
(Bind b) v) t t3)).(sty1_sing g c (THead (Bind b) v t1) (THead (Bind b) v t)
H1 (THead (Bind b) v t3) (sty0_bind g b c v t t3 H2))))))) t2 H))))))).
-theorem sty1_appl:
+lemma sty1_appl:
\forall (g: G).(\forall (c: C).(\forall (v: T).(\forall (t1: T).(\forall
(t2: T).((sty1 g c t1 t2) \to (sty1 g c (THead (Flat Appl) v t1) (THead (Flat
Appl) v t2)))))))
t3)).(sty1_sing g c (THead (Flat Appl) v t1) (THead (Flat Appl) v t) H1
(THead (Flat Appl) v t3) (sty0_appl g c v t t3 H2))))))) t2 H)))))).
-theorem sty1_lift:
+lemma sty1_lift:
\forall (g: G).(\forall (e: C).(\forall (t1: T).(\forall (t2: T).((sty1 g e
t1 t2) \to (\forall (c: C).(\forall (h: nat).(\forall (d: nat).((drop h d c
e) \to (sty1 g c (lift h d t1) (lift h d t2))))))))))
(H3: (drop h d c e)).(sty1_sing g c (lift h d t1) (lift h d t) (H1 c h d H3)
(lift h d t3) (sty0_lift g e t t3 H2 c h d H3))))))))))) t2 H))))).
-theorem sty1_correct:
+lemma sty1_correct:
\forall (g: G).(\forall (c: C).(\forall (t1: T).(\forall (t: T).((sty1 g c
t1 t) \to (ex T (\lambda (t2: T).(sty0 g c t t2)))))))
\def
t0)).(\lambda (_: (ex T (\lambda (t2: T).(sty0 g c t0 t2)))).(\lambda (t2:
T).(\lambda (H2: (sty0 g c t0 t2)).(sty0_correct g c t0 t2 H2)))))) t H))))).
-theorem sty1_abbr:
+lemma sty1_abbr:
\forall (g: G).(\forall (c: C).(\forall (d: C).(\forall (v: T).(\forall (i:
nat).((getl i c (CHead d (Bind Abbr) v)) \to (\forall (w: T).((sty1 g d v w)
\to (sty1 g c (TLRef i) (lift (S i) O w)))))))))
(sty0_lift g d t t2 H3 c (S i) O (getl_drop Abbr c d v i H)))))))) w
H0)))))))).
-theorem sty1_cast2:
+lemma sty1_cast2:
\forall (g: G).(\forall (c: C).(\forall (t1: T).(\forall (t2: T).((sty1 g c
t1 t2) \to (\forall (v1: T).(\forall (v2: T).((sty0 g c v1 v2) \to (ex2 T
(\lambda (v3: T).(sty1 g c v1 v3)) (\lambda (v3: T).(sty1 g c (THead (Flat