]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_1/subst/props.ma
update in basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_1 / subst / props.ma
index 3bad044e3198e9cb33d31e6bd5b1c4f489e7cbee..3ba9fc8e6ccbe24e20841cff90670ce3e4eb0a11 100644 (file)
 
 (* This file was automatically generated: do not edit *********************)
 
-include "Basic-1/subst/fwd.ma".
+include "basic_1/subst/defs.ma".
 
-include "Basic-1/subst0/defs.ma".
+include "basic_1/subst0/fwd.ma".
 
-include "Basic-1/lift/props.ma".
+lemma subst_sort:
+ \forall (v: T).(\forall (d: nat).(\forall (k: nat).(eq T (subst d v (TSort 
+k)) (TSort k))))
+\def
+ \lambda (_: T).(\lambda (_: nat).(\lambda (k: nat).(refl_equal T (TSort 
+k)))).
+
+lemma subst_lref_lt:
+ \forall (v: T).(\forall (d: nat).(\forall (i: nat).((lt i d) \to (eq T 
+(subst d v (TLRef i)) (TLRef i)))))
+\def
+ \lambda (v: T).(\lambda (d: nat).(\lambda (i: nat).(\lambda (H: (lt i 
+d)).(eq_ind_r bool true (\lambda (b: bool).(eq T (match b with [true 
+\Rightarrow (TLRef i) | false \Rightarrow (match (blt d i) with [true 
+\Rightarrow (TLRef (pred i)) | false \Rightarrow (lift d O v)])]) (TLRef i))) 
+(refl_equal T (TLRef i)) (blt i d) (lt_blt d i H))))).
+
+lemma subst_lref_eq:
+ \forall (v: T).(\forall (i: nat).(eq T (subst i v (TLRef i)) (lift i O v)))
+\def
+ \lambda (v: T).(\lambda (i: nat).(eq_ind_r bool false (\lambda (b: bool).(eq 
+T (match b with [true \Rightarrow (TLRef i) | false \Rightarrow (match b with 
+[true \Rightarrow (TLRef (pred i)) | false \Rightarrow (lift i O v)])]) (lift 
+i O v))) (refl_equal T (lift i O v)) (blt i i) (le_bge i i (le_n i)))).
+
+lemma subst_lref_gt:
+ \forall (v: T).(\forall (d: nat).(\forall (i: nat).((lt d i) \to (eq T 
+(subst d v (TLRef i)) (TLRef (pred i))))))
+\def
+ \lambda (v: T).(\lambda (d: nat).(\lambda (i: nat).(\lambda (H: (lt d 
+i)).(eq_ind_r bool false (\lambda (b: bool).(eq T (match b with [true 
+\Rightarrow (TLRef i) | false \Rightarrow (match (blt d i) with [true 
+\Rightarrow (TLRef (pred i)) | false \Rightarrow (lift d O v)])]) (TLRef 
+(pred i)))) (eq_ind_r bool true (\lambda (b: bool).(eq T (match b with [true 
+\Rightarrow (TLRef (pred i)) | false \Rightarrow (lift d O v)]) (TLRef (pred 
+i)))) (refl_equal T (TLRef (pred i))) (blt d i) (lt_blt i d H)) (blt i d) 
+(le_bge d i (lt_le_weak d i H)))))).
+
+lemma subst_head:
+ \forall (k: K).(\forall (w: T).(\forall (u: T).(\forall (t: T).(\forall (d: 
+nat).(eq T (subst d w (THead k u t)) (THead k (subst d w u) (subst (s k d) w 
+t)))))))
+\def
+ \lambda (k: K).(\lambda (w: T).(\lambda (u: T).(\lambda (t: T).(\lambda (d: 
+nat).(refl_equal T (THead k (subst d w u) (subst (s k d) w t))))))).
 
-theorem subst_lift_SO:
+lemma subst_lift_SO:
  \forall (v: T).(\forall (t: T).(\forall (d: nat).(eq T (subst d v (lift (S 
 O) d t)) t)))
 \def
@@ -49,17 +93,17 @@ t0)))).(\lambda (t1: T).(\lambda (H0: ((\forall (d: nat).(eq T (subst d v
 (lift (S O) d t1)) t1)))).(\lambda (d: nat).(eq_ind_r T (THead k (lift (S O) 
 d t0) (lift (S O) (s k d) t1)) (\lambda (t2: T).(eq T (subst d v t2) (THead k 
 t0 t1))) (eq_ind_r T (THead k (subst d v (lift (S O) d t0)) (subst (s k d) v 
-(lift (S O) (s k d) t1))) (\lambda (t2: T).(eq T t2 (THead k t0 t1))) 
-(f_equal3 K T T T THead k k (subst d v (lift (S O) d t0)) t0 (subst (s k d) v 
-(lift (S O) (s k d) t1)) t1 (refl_equal K k) (H d) (H0 (s k d))) (subst d v 
-(THead k (lift (S O) d t0) (lift (S O) (s k d) t1))) (subst_head k v (lift (S 
-O) d t0) (lift (S O) (s k d) t1) d)) (lift (S O) d (THead k t0 t1)) 
-(lift_head k t0 t1 (S O) d)))))))) t)).
-(* COMMENTS
-Initial nodes: 879
-END *)
+(lift (S O) (s k d) t1))) (\lambda (t2: T).(eq T t2 (THead k t0 t1))) (sym_eq 
+T (THead k t0 t1) (THead k (subst d v (lift (S O) d t0)) (subst (s k d) v 
+(lift (S O) (s k d) t1))) (sym_eq T (THead k (subst d v (lift (S O) d t0)) 
+(subst (s k d) v (lift (S O) (s k d) t1))) (THead k t0 t1) (f_equal3 K T T T 
+THead k k (subst d v (lift (S O) d t0)) t0 (subst (s k d) v (lift (S O) (s k 
+d) t1)) t1 (refl_equal K k) (H d) (H0 (s k d))))) (subst d v (THead k (lift 
+(S O) d t0) (lift (S O) (s k d) t1))) (subst_head k v (lift (S O) d t0) (lift 
+(S O) (s k d) t1) d)) (lift (S O) d (THead k t0 t1)) (lift_head k t0 t1 (S O) 
+d)))))))) t)).
 
-theorem subst_subst0:
+lemma subst_subst0:
  \forall (v: T).(\forall (t1: T).(\forall (t2: T).(\forall (d: nat).((subst0 
 d v t1 t2) \to (eq T (subst d v t1) (subst d v t2))))))
 \def
@@ -110,7 +154,4 @@ i) v0 t4)))) (refl_equal T (THead k (subst i v0 u2) (subst (s k i) v0 t4)))
 (subst (s k i) v0 t3) H3) (subst i v0 u1) H1) (subst i v0 (THead k u2 t4)) 
 (subst_head k v0 u2 t4 i)) (subst i v0 (THead k u1 t3)) (subst_head k v0 u1 
 t3 i))))))))))))) d v t1 t2 H))))).
-(* COMMENTS
-Initial nodes: 1363
-END *)