X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_1%2FC%2Fprops.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_1%2FC%2Fprops.ma;h=6a35f3d9b88ac70c144832b27409a8f3df329428;hb=6d1bb99e7f355d826c07285ba46b6b13a4abaefc;hp=878abb3bcad5dc03c7927690106fbfed05aefbe3;hpb=538c5526a6b3c3af44f92c9cc67d82f28995da96;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_1/C/props.ma b/matita/matita/contribs/lambdadelta/basic_1/C/props.ma index 878abb3bc..6a35f3d9b 100644 --- a/matita/matita/contribs/lambdadelta/basic_1/C/props.ma +++ b/matita/matita/contribs/lambdadelta/basic_1/C/props.ma @@ -14,103 +14,107 @@ (* This file was automatically generated: do not edit *********************) -include "Basic-1/C/defs.ma". +include "basic_1/C/fwd.ma". -include "Basic-1/T/props.ma". +include "basic_1/T/props.ma". + +theorem cle_r: + \forall (c: C).(cle c c) +\def + \lambda (c: C).(let TMP_3 \def (\lambda (c0: C).(let TMP_1 \def (cweight c0) +in (let TMP_2 \def (cweight c0) in (le TMP_1 TMP_2)))) in (let TMP_4 \def +(\lambda (_: nat).(le_O_n O)) in (let TMP_8 \def (\lambda (c0: C).(\lambda +(_: (le (cweight c0) (cweight c0))).(\lambda (_: K).(\lambda (t: T).(let +TMP_5 \def (cweight c0) in (let TMP_6 \def (tweight t) in (let TMP_7 \def +(plus TMP_5 TMP_6) in (le_n TMP_7)))))))) in (C_ind TMP_3 TMP_4 TMP_8 c)))). + +theorem cle_head: + \forall (c1: C).(\forall (c2: C).((cle c1 c2) \to (\forall (u1: T).(\forall +(u2: T).((tle u1 u2) \to (\forall (k: K).(cle (CHead c1 k u1) (CHead c2 k +u2)))))))) +\def + \lambda (c1: C).(\lambda (c2: C).(\lambda (H: (le (cweight c1) (cweight +c2))).(\lambda (u1: T).(\lambda (u2: T).(\lambda (H0: (le (tweight u1) +(tweight u2))).(\lambda (_: K).(let TMP_1 \def (cweight c1) in (let TMP_2 +\def (cweight c2) in (let TMP_3 \def (tweight u1) in (let TMP_4 \def (tweight +u2) in (le_plus_plus TMP_1 TMP_2 TMP_3 TMP_4 H H0))))))))))). + +theorem cle_trans_head: + \forall (c1: C).(\forall (c2: C).((cle c1 c2) \to (\forall (k: K).(\forall +(u: T).(cle c1 (CHead c2 k u)))))) +\def + \lambda (c1: C).(\lambda (c2: C).(\lambda (H: (le (cweight c1) (cweight +c2))).(\lambda (_: K).(\lambda (u: T).(let TMP_1 \def (cweight c1) in (let +TMP_2 \def (cweight c2) in (let TMP_3 \def (tweight u) in (le_plus_trans +TMP_1 TMP_2 TMP_3 H)))))))). theorem clt_cong: \forall (c: C).(\forall (d: C).((clt c d) \to (\forall (k: K).(\forall (t: T).(clt (CHead c k t) (CHead d k t)))))) \def \lambda (c: C).(\lambda (d: C).(\lambda (H: (lt (cweight c) (cweight -d))).(\lambda (_: K).(\lambda (t: T).(lt_reg_r (cweight c) (cweight d) -(tweight t) H))))). -(* COMMENTS -Initial nodes: 33 -END *) +d))).(\lambda (_: K).(\lambda (t: T).(let TMP_1 \def (cweight c) in (let +TMP_2 \def (cweight d) in (let TMP_3 \def (tweight t) in (lt_reg_r TMP_1 +TMP_2 TMP_3 H)))))))). theorem clt_head: \forall (k: K).(\forall (c: C).(\forall (u: T).(clt c (CHead c k u)))) \def - \lambda (_: K).(\lambda (c: C).(\lambda (u: T).(eq_ind_r nat (plus (cweight -c) O) (\lambda (n: nat).(lt n (plus (cweight c) (tweight u)))) -(le_lt_plus_plus (cweight c) (cweight c) O (tweight u) (le_n (cweight c)) -(tweight_lt u)) (cweight c) (plus_n_O (cweight c))))). -(* COMMENTS -Initial nodes: 69 -END *) - -theorem clt_wf__q_ind: - \forall (P: ((C \to Prop))).(((\forall (n: nat).((\lambda (P0: ((C \to -Prop))).(\lambda (n0: nat).(\forall (c: C).((eq nat (cweight c) n0) \to (P0 -c))))) P n))) \to (\forall (c: C).(P c))) -\def - let Q \def (\lambda (P: ((C \to Prop))).(\lambda (n: nat).(\forall (c: -C).((eq nat (cweight c) n) \to (P c))))) in (\lambda (P: ((C \to -Prop))).(\lambda (H: ((\forall (n: nat).(\forall (c: C).((eq nat (cweight c) -n) \to (P c)))))).(\lambda (c: C).(H (cweight c) c (refl_equal nat (cweight -c)))))). -(* COMMENTS -Initial nodes: 61 -END *) - -theorem clt_wf_ind: - \forall (P: ((C \to Prop))).(((\forall (c: C).(((\forall (d: C).((clt d c) -\to (P d)))) \to (P c)))) \to (\forall (c: C).(P c))) -\def - let Q \def (\lambda (P: ((C \to Prop))).(\lambda (n: nat).(\forall (c: -C).((eq nat (cweight c) n) \to (P c))))) in (\lambda (P: ((C \to -Prop))).(\lambda (H: ((\forall (c: C).(((\forall (d: C).((lt (cweight d) -(cweight c)) \to (P d)))) \to (P c))))).(\lambda (c: C).(clt_wf__q_ind -(\lambda (c0: C).(P c0)) (\lambda (n: nat).(lt_wf_ind n (Q (\lambda (c0: -C).(P c0))) (\lambda (n0: nat).(\lambda (H0: ((\forall (m: nat).((lt m n0) -\to (Q (\lambda (c0: C).(P c0)) m))))).(\lambda (c0: C).(\lambda (H1: (eq nat -(cweight c0) n0)).(let H2 \def (eq_ind_r nat n0 (\lambda (n1: nat).(\forall -(m: nat).((lt m n1) \to (\forall (c1: C).((eq nat (cweight c1) m) \to (P -c1)))))) H0 (cweight c0) H1) in (H c0 (\lambda (d: C).(\lambda (H3: (lt -(cweight d) (cweight c0))).(H2 (cweight d) H3 d (refl_equal nat (cweight -d))))))))))))) c)))). -(* COMMENTS -Initial nodes: 179 -END *) + \lambda (_: K).(\lambda (c: C).(\lambda (u: T).(let TMP_1 \def (cweight c) +in (let TMP_2 \def (plus TMP_1 O) in (let TMP_6 \def (\lambda (n: nat).(let +TMP_3 \def (cweight c) in (let TMP_4 \def (tweight u) in (let TMP_5 \def +(plus TMP_3 TMP_4) in (lt n TMP_5))))) in (let TMP_7 \def (tweight u) in (let +TMP_8 \def (cweight c) in (let TMP_9 \def (tweight_lt u) in (let TMP_10 \def +(lt_reg_l O TMP_7 TMP_8 TMP_9) in (let TMP_11 \def (cweight c) in (let TMP_12 +\def (cweight c) in (let TMP_13 \def (plus_n_O TMP_12) in (eq_ind_r nat TMP_2 +TMP_6 TMP_10 TMP_11 TMP_13))))))))))))). theorem chead_ctail: \forall (c: C).(\forall (t: T).(\forall (k: K).(ex_3 K C T (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(eq C (CHead c k t) (CTail h u d)))))))) \def - \lambda (c: C).(C_ind (\lambda (c0: C).(\forall (t: T).(\forall (k: K).(ex_3 -K C T (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(eq C (CHead c0 k t) -(CTail h u d))))))))) (\lambda (n: nat).(\lambda (t: T).(\lambda (k: -K).(ex_3_intro K C T (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(eq C -(CHead (CSort n) k t) (CTail h u d))))) k (CSort n) t (refl_equal C (CHead -(CSort n) k t)))))) (\lambda (c0: C).(\lambda (H: ((\forall (t: T).(\forall -(k: K).(ex_3 K C T (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(eq C -(CHead c0 k t) (CTail h u d)))))))))).(\lambda (k: K).(\lambda (t: -T).(\lambda (t0: T).(\lambda (k0: K).(let H_x \def (H t k) in (let H0 \def -H_x in (ex_3_ind K C T (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(eq C -(CHead c0 k t) (CTail h u d))))) (ex_3 K C T (\lambda (h: K).(\lambda (d: -C).(\lambda (u: T).(eq C (CHead (CHead c0 k t) k0 t0) (CTail h u d)))))) -(\lambda (x0: K).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H1: (eq C (CHead -c0 k t) (CTail x0 x2 x1))).(eq_ind_r C (CTail x0 x2 x1) (\lambda (c1: -C).(ex_3 K C T (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(eq C (CHead -c1 k0 t0) (CTail h u d))))))) (ex_3_intro K C T (\lambda (h: K).(\lambda (d: -C).(\lambda (u: T).(eq C (CHead (CTail x0 x2 x1) k0 t0) (CTail h u d))))) x0 -(CHead x1 k0 t0) x2 (refl_equal C (CHead (CTail x0 x2 x1) k0 t0))) (CHead c0 -k t) H1))))) H0))))))))) c). -(* COMMENTS -Initial nodes: 395 -END *) + \lambda (c: C).(let TMP_4 \def (\lambda (c0: C).(\forall (t: T).(\forall (k: +K).(let TMP_3 \def (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(let TMP_1 +\def (CHead c0 k t) in (let TMP_2 \def (CTail h u d) in (eq C TMP_1 +TMP_2)))))) in (ex_3 K C T TMP_3))))) in (let TMP_13 \def (\lambda (n: +nat).(\lambda (t: T).(\lambda (k: K).(let TMP_8 \def (\lambda (h: K).(\lambda +(d: C).(\lambda (u: T).(let TMP_5 \def (CSort n) in (let TMP_6 \def (CHead +TMP_5 k t) in (let TMP_7 \def (CTail h u d) in (eq C TMP_6 TMP_7))))))) in +(let TMP_9 \def (CSort n) in (let TMP_10 \def (CSort n) in (let TMP_11 \def +(CHead TMP_10 k t) in (let TMP_12 \def (refl_equal C TMP_11) in (ex_3_intro K +C T TMP_8 k TMP_9 t TMP_12))))))))) in (let TMP_38 \def (\lambda (c0: +C).(\lambda (H: ((\forall (t: T).(\forall (k: K).(ex_3 K C T (\lambda (h: +K).(\lambda (d: C).(\lambda (u: T).(eq C (CHead c0 k t) (CTail h u +d)))))))))).(\lambda (k: K).(\lambda (t: T).(\lambda (t0: T).(\lambda (k0: +K).(let H_x \def (H t k) in (let H0 \def H_x in (let TMP_16 \def (\lambda (h: +K).(\lambda (d: C).(\lambda (u: T).(let TMP_14 \def (CHead c0 k t) in (let +TMP_15 \def (CTail h u d) in (eq C TMP_14 TMP_15)))))) in (let TMP_20 \def +(\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(let TMP_17 \def (CHead c0 k +t) in (let TMP_18 \def (CHead TMP_17 k0 t0) in (let TMP_19 \def (CTail h u d) +in (eq C TMP_18 TMP_19))))))) in (let TMP_21 \def (ex_3 K C T TMP_20) in (let +TMP_37 \def (\lambda (x0: K).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H1: +(eq C (CHead c0 k t) (CTail x0 x2 x1))).(let TMP_22 \def (CTail x0 x2 x1) in +(let TMP_26 \def (\lambda (c1: C).(let TMP_25 \def (\lambda (h: K).(\lambda +(d: C).(\lambda (u: T).(let TMP_23 \def (CHead c1 k0 t0) in (let TMP_24 \def +(CTail h u d) in (eq C TMP_23 TMP_24)))))) in (ex_3 K C T TMP_25))) in (let +TMP_30 \def (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(let TMP_27 \def +(CTail x0 x2 x1) in (let TMP_28 \def (CHead TMP_27 k0 t0) in (let TMP_29 \def +(CTail h u d) in (eq C TMP_28 TMP_29))))))) in (let TMP_31 \def (CHead x1 k0 +t0) in (let TMP_32 \def (CTail x0 x2 x1) in (let TMP_33 \def (CHead TMP_32 k0 +t0) in (let TMP_34 \def (refl_equal C TMP_33) in (let TMP_35 \def (ex_3_intro +K C T TMP_30 x0 TMP_31 x2 TMP_34) in (let TMP_36 \def (CHead c0 k t) in +(eq_ind_r C TMP_22 TMP_26 TMP_35 TMP_36 H1)))))))))))))) in (ex_3_ind K C T +TMP_16 TMP_21 TMP_37 H0))))))))))))) in (C_ind TMP_4 TMP_13 TMP_38 c)))). theorem clt_thead: \forall (k: K).(\forall (u: T).(\forall (c: C).(clt c (CTail k u c)))) \def - \lambda (k: K).(\lambda (u: T).(\lambda (c: C).(C_ind (\lambda (c0: C).(clt -c0 (CTail k u c0))) (\lambda (n: nat).(clt_head k (CSort n) u)) (\lambda (c0: -C).(\lambda (H: (clt c0 (CTail k u c0))).(\lambda (k0: K).(\lambda (t: -T).(clt_cong c0 (CTail k u c0) H k0 t))))) c))). -(* COMMENTS -Initial nodes: 71 -END *) + \lambda (k: K).(\lambda (u: T).(\lambda (c: C).(let TMP_2 \def (\lambda (c0: +C).(let TMP_1 \def (CTail k u c0) in (clt c0 TMP_1))) in (let TMP_4 \def +(\lambda (n: nat).(let TMP_3 \def (CSort n) in (clt_head k TMP_3 u))) in (let +TMP_6 \def (\lambda (c0: C).(\lambda (H: (clt c0 (CTail k u c0))).(\lambda +(k0: K).(\lambda (t: T).(let TMP_5 \def (CTail k u c0) in (clt_cong c0 TMP_5 +H k0 t)))))) in (C_ind TMP_2 TMP_4 TMP_6 c)))))). theorem c_tail_ind: \forall (P: ((C \to Prop))).(((\forall (n: nat).(P (CSort n)))) \to @@ -119,21 +123,25 @@ c))))))) \to (\forall (c: C).(P c)))) \def \lambda (P: ((C \to Prop))).(\lambda (H: ((\forall (n: nat).(P (CSort n))))).(\lambda (H0: ((\forall (c: C).((P c) \to (\forall (k: K).(\forall (t: -T).(P (CTail k t c)))))))).(\lambda (c: C).(clt_wf_ind (\lambda (c0: C).(P -c0)) (\lambda (c0: C).(C_ind (\lambda (c1: C).(((\forall (d: C).((clt d c1) -\to (P d)))) \to (P c1))) (\lambda (n: nat).(\lambda (_: ((\forall (d: -C).((clt d (CSort n)) \to (P d))))).(H n))) (\lambda (c1: C).(\lambda (_: -((((\forall (d: C).((clt d c1) \to (P d)))) \to (P c1)))).(\lambda (k: -K).(\lambda (t: T).(\lambda (H2: ((\forall (d: C).((clt d (CHead c1 k t)) \to -(P d))))).(let H_x \def (chead_ctail c1 t k) in (let H3 \def H_x in (ex_3_ind -K C T (\lambda (h: K).(\lambda (d: C).(\lambda (u: T).(eq C (CHead c1 k t) -(CTail h u d))))) (P (CHead c1 k t)) (\lambda (x0: K).(\lambda (x1: -C).(\lambda (x2: T).(\lambda (H4: (eq C (CHead c1 k t) (CTail x0 x2 -x1))).(eq_ind_r C (CTail x0 x2 x1) (\lambda (c2: C).(P c2)) (let H5 \def -(eq_ind C (CHead c1 k t) (\lambda (c2: C).(\forall (d: C).((clt d c2) \to (P -d)))) H2 (CTail x0 x2 x1) H4) in (H0 x1 (H5 x1 (clt_thead x0 x2 x1)) x0 x2)) -(CHead c1 k t) H4))))) H3)))))))) c0)) c)))). -(* COMMENTS -Initial nodes: 295 -END *) +T).(P (CTail k t c)))))))).(\lambda (c: C).(let TMP_1 \def (\lambda (c0: +C).(P c0)) in (let TMP_20 \def (\lambda (c0: C).(let TMP_2 \def (\lambda (c1: +C).(((\forall (d: C).((clt d c1) \to (P d)))) \to (P c1))) in (let TMP_3 \def +(\lambda (n: nat).(\lambda (_: ((\forall (d: C).((clt d (CSort n)) \to (P +d))))).(H n))) in (let TMP_19 \def (\lambda (c1: C).(\lambda (_: ((((\forall +(d: C).((clt d c1) \to (P d)))) \to (P c1)))).(\lambda (k: K).(\lambda (t: +T).(\lambda (H2: ((\forall (d: C).((clt d (CHead c1 k t)) \to (P d))))).(let +H_x \def (chead_ctail c1 t k) in (let H3 \def H_x in (let TMP_6 \def (\lambda +(h: K).(\lambda (d: C).(\lambda (u: T).(let TMP_4 \def (CHead c1 k t) in (let +TMP_5 \def (CTail h u d) in (eq C TMP_4 TMP_5)))))) in (let TMP_7 \def (CHead +c1 k t) in (let TMP_8 \def (P TMP_7) in (let TMP_18 \def (\lambda (x0: +K).(\lambda (x1: C).(\lambda (x2: T).(\lambda (H4: (eq C (CHead c1 k t) +(CTail x0 x2 x1))).(let TMP_9 \def (CTail x0 x2 x1) in (let TMP_10 \def +(\lambda (c2: C).(P c2)) in (let TMP_11 \def (CHead c1 k t) in (let TMP_12 +\def (\lambda (c2: C).(\forall (d: C).((clt d c2) \to (P d)))) in (let TMP_13 +\def (CTail x0 x2 x1) in (let H5 \def (eq_ind C TMP_11 TMP_12 H2 TMP_13 H4) +in (let TMP_14 \def (clt_thead x0 x2 x1) in (let TMP_15 \def (H5 x1 TMP_14) +in (let TMP_16 \def (H0 x1 TMP_15 x0 x2) in (let TMP_17 \def (CHead c1 k t) +in (eq_ind_r C TMP_9 TMP_10 TMP_16 TMP_17 H4))))))))))))))) in (ex_3_ind K C +T TMP_6 TMP_8 TMP_18 H3)))))))))))) in (C_ind TMP_2 TMP_3 TMP_19 c0))))) in +(clt_wf_ind TMP_1 TMP_20 c)))))).