X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_1%2Fgetl%2Ffwd.ma;h=7390775d31d6dbec7e5c7406af4242b028aa649c;hb=57ae1762497a5f3ea75740e2908e04adb8642cc2;hp=b378f61fc55862e5bb3643960a68be53fc2d4c25;hpb=88a68a9c334646bc17314d5327cd3b790202acd6;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_1/getl/fwd.ma b/matita/matita/contribs/lambdadelta/basic_1/getl/fwd.ma index b378f61fc..7390775d3 100644 --- a/matita/matita/contribs/lambdadelta/basic_1/getl/fwd.ma +++ b/matita/matita/contribs/lambdadelta/basic_1/getl/fwd.ma @@ -14,13 +14,23 @@ (* This file was automatically generated: do not edit *********************) -include "Basic-1/getl/defs.ma". +include "basic_1/getl/defs.ma". -include "Basic-1/drop/fwd.ma". +include "basic_1/drop/fwd.ma". -include "Basic-1/clear/fwd.ma". +include "basic_1/clear/fwd.ma". -theorem getl_gen_all: +implied lemma getl_ind: + \forall (h: nat).(\forall (c1: C).(\forall (c2: C).(\forall (P: +Prop).(((\forall (e: C).((drop h O c1 e) \to ((clear e c2) \to P)))) \to +((getl h c1 c2) \to P))))) +\def + \lambda (h: nat).(\lambda (c1: C).(\lambda (c2: C).(\lambda (P: +Prop).(\lambda (f: ((\forall (e: C).((drop h O c1 e) \to ((clear e c2) \to +P))))).(\lambda (g: (getl h c1 c2)).(match g with [(getl_intro x x0 x1) +\Rightarrow (f x x0 x1)])))))). + +lemma getl_gen_all: \forall (c1: C).(\forall (c2: C).(\forall (i: nat).((getl i c1 c2) \to (ex2 C (\lambda (e: C).(drop i O c1 e)) (\lambda (e: C).(clear e c2)))))) \def @@ -29,11 +39,8 @@ c2)).(getl_ind i c1 c2 (ex2 C (\lambda (e: C).(drop i O c1 e)) (\lambda (e: C).(clear e c2))) (\lambda (e: C).(\lambda (H0: (drop i O c1 e)).(\lambda (H1: (clear e c2)).(ex_intro2 C (\lambda (e0: C).(drop i O c1 e0)) (\lambda (e0: C).(clear e0 c2)) e H0 H1)))) H)))). -(* COMMENTS -Initial nodes: 95 -END *) -theorem getl_gen_sort: +lemma getl_gen_sort: \forall (n: nat).(\forall (h: nat).(\forall (x: C).((getl h (CSort n) x) \to (\forall (P: Prop).P)))) \def @@ -46,11 +53,8 @@ e x)) P (\lambda (x0: C).(\lambda (H1: (drop h O (CSort n) x0)).(\lambda (H2: (eq nat O O)).(let H6 \def (eq_ind C x0 (\lambda (c: C).(clear c x)) H2 (CSort n) H3) in (clear_gen_sort x n H6 P))))) (drop_gen_sort n h O x0 H1))))) H0)))))). -(* COMMENTS -Initial nodes: 179 -END *) -theorem getl_gen_O: +lemma getl_gen_O: \forall (e: C).(\forall (x: C).((getl O e x) \to (clear e x))) \def \lambda (e: C).(\lambda (x: C).(\lambda (H: (getl O e x)).(let H0 \def @@ -58,11 +62,8 @@ theorem getl_gen_O: (\lambda (e0: C).(clear e0 x)) (clear e x) (\lambda (x0: C).(\lambda (H1: (drop O O e x0)).(\lambda (H2: (clear x0 x)).(let H3 \def (eq_ind_r C x0 (\lambda (c: C).(clear c x)) H2 e (drop_gen_refl e x0 H1)) in H3)))) H0)))). -(* COMMENTS -Initial nodes: 99 -END *) -theorem getl_gen_S: +lemma getl_gen_S: \forall (k: K).(\forall (c: C).(\forall (x: C).(\forall (u: T).(\forall (h: nat).((getl (S h) (CHead c k u) x) \to (getl (r k h) c x)))))) \def @@ -72,11 +73,8 @@ nat).(\lambda (H: (getl (S h) (CHead c k u) x)).(let H0 \def (getl_gen_all k u) e)) (\lambda (e: C).(clear e x)) (getl (r k h) c x) (\lambda (x0: C).(\lambda (H1: (drop (S h) O (CHead c k u) x0)).(\lambda (H2: (clear x0 x)).(getl_intro (r k h) c x x0 (drop_gen_drop k c x0 u h H1) H2)))) H0))))))). -(* COMMENTS -Initial nodes: 145 -END *) -theorem getl_gen_2: +lemma getl_gen_2: \forall (c1: C).(\forall (c2: C).(\forall (i: nat).((getl i c1 c2) \to (ex_3 B C T (\lambda (b: B).(\lambda (c: C).(\lambda (v: T).(eq C c2 (CHead c (Bind b) v))))))))) @@ -97,11 +95,8 @@ x0) x2) (\lambda (c: C).(ex_3 B C T (\lambda (b: B).(\lambda (c0: C).(\lambda B).(\lambda (c: C).(\lambda (v: T).(eq C (CHead x1 (Bind x0) x2) (CHead c (Bind b) v))))) x0 x1 x2 (refl_equal C (CHead x1 (Bind x0) x2))) c2 H4)))))) H3))))) H0))))). -(* COMMENTS -Initial nodes: 325 -END *) -theorem getl_gen_flat: +lemma getl_gen_flat: \forall (f: F).(\forall (e: C).(\forall (d: C).(\forall (v: T).(\forall (i: nat).((getl i (CHead e (Flat f) v) d) \to (getl i e d)))))) \def @@ -112,11 +107,8 @@ e d))) (\lambda (H: (getl O (CHead e (Flat f) v) d)).(getl_intro O e d e H)))) (\lambda (n: nat).(\lambda (_: (((getl n (CHead e (Flat f) v) d) \to (getl n e d)))).(\lambda (H0: (getl (S n) (CHead e (Flat f) v) d)).(getl_gen_S (Flat f) e d v n H0)))) i))))). -(* COMMENTS -Initial nodes: 155 -END *) -theorem getl_gen_bind: +lemma getl_gen_bind: \forall (b: B).(\forall (e: C).(\forall (d: C).(\forall (v: T).(\forall (i: nat).((getl i (CHead e (Bind b) v) d) \to (or (land (eq nat i O) (eq C d (CHead e (Bind b) v))) (ex2 nat (\lambda (j: nat).(eq nat i (S j))) (\lambda @@ -142,7 +134,21 @@ v))) (ex2 nat (\lambda (j: nat).(eq nat (S n) (S j))) (\lambda (j: nat).(getl j e d))) (ex_intro2 nat (\lambda (j: nat).(eq nat (S n) (S j))) (\lambda (j: nat).(getl j e d)) n (refl_equal nat (S n)) (getl_gen_S (Bind b) e d v n H0)))))) i))))). -(* COMMENTS -Initial nodes: 525 -END *) + +theorem getl_mono: + \forall (c: C).(\forall (x1: C).(\forall (h: nat).((getl h c x1) \to +(\forall (x2: C).((getl h c x2) \to (eq C x1 x2)))))) +\def + \lambda (c: C).(\lambda (x1: C).(\lambda (h: nat).(\lambda (H: (getl h c +x1)).(\lambda (x2: C).(\lambda (H0: (getl h c x2)).(let H1 \def (getl_gen_all +c x2 h H0) in (ex2_ind C (\lambda (e: C).(drop h O c e)) (\lambda (e: +C).(clear e x2)) (eq C x1 x2) (\lambda (x: C).(\lambda (H2: (drop h O c +x)).(\lambda (H3: (clear x x2)).(let H4 \def (getl_gen_all c x1 h H) in +(ex2_ind C (\lambda (e: C).(drop h O c e)) (\lambda (e: C).(clear e x1)) (eq +C x1 x2) (\lambda (x0: C).(\lambda (H5: (drop h O c x0)).(\lambda (H6: (clear +x0 x1)).(let H7 \def (eq_ind C x (\lambda (c0: C).(drop h O c c0)) H2 x0 +(drop_mono c x O h H2 x0 H5)) in (let H8 \def (eq_ind_r C x0 (\lambda (c0: +C).(drop h O c c0)) H7 x (drop_mono c x O h H2 x0 H5)) in (let H9 \def +(eq_ind_r C x0 (\lambda (c0: C).(clear c0 x1)) H6 x (drop_mono c x O h H2 x0 +H5)) in (clear_mono x x1 H9 x2 H3))))))) H4))))) H1))))))).