X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fgrammar%2Fcl_weight.ma;h=aa20d64db45300fba99e5c01762adbf50f8d8bce;hb=06d5ff2316426acfb16a9cc9784d40ce19351771;hp=35796b6ba78ed0c2d3b1c1400b8a05decf0a6a74;hpb=fba384e357ed3c8781fc018c2c16f2b40df144af;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/grammar/cl_weight.ma b/matita/matita/contribs/lambdadelta/basic_2/grammar/cl_weight.ma index 35796b6ba..aa20d64db 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/grammar/cl_weight.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/grammar/cl_weight.ma @@ -12,52 +12,38 @@ (* *) (**************************************************************************) +include "basic_2/notation/functions/weight_3.ma". include "basic_2/grammar/lenv_weight.ma". -include "basic_2/grammar/cl_shift.ma". +include "basic_2/grammar/genv.ma". (* WEIGHT OF A CLOSURE ******************************************************) -definition fw: lenv → term → ? ≝ λL,T. ♯{L} + ♯{T}. +(* activate genv *) +definition fw: genv → lenv → term → ? ≝ λG,L,T. ♯{L} + ♯{T}. -interpretation "weight (closure)" 'Weight L T = (fw L T). +interpretation "weight (closure)" 'Weight G L T = (fw G L T). (* Basic properties *********************************************************) (* Basic_1: was: flt_shift *) -lemma fw_shift: ∀a,K,I,V,T. ♯{K. ⓑ{I} V, T} < ♯{K, ⓑ{a,I} V. T}. +lemma fw_shift: ∀a,I,G,K,V,T. ♯{G, K.ⓑ{I}V, T} < ♯{G, K, ⓑ{a,I}V.T}. normalize // qed. -lemma tw_shift: ∀L,T. ♯{L, T} ≤ ♯{L @@ T}. -#L elim L // -#K #I #V #IHL #T -@transitive_le [3: @IHL |2: /2 width=2/ | skip ] +lemma fw_tpair_sn: ∀I,G,L,V,T. ♯{G, L, V} < ♯{G, L, ②{I}V.T}. +normalize in ⊢ (?→?→?→?→?→?%%); // qed. -lemma fw_tpair_sn: ∀I,L,V,T. ♯{L, V} < ♯{L, ②{I}V.T}. -normalize in ⊢ (?→?→?→?→?%%); // +lemma fw_tpair_dx: ∀I,G,L,V,T. ♯{G, L, T} < ♯{G, L, ②{I}V.T}. +normalize in ⊢ (?→?→?→?→?→?%%); // qed. -lemma fw_tpair_dx: ∀I,L,V,T. ♯{L, T} < ♯{L, ②{I}V.T}. -normalize in ⊢ (?→?→?→?→?%%); // -qed. - -lemma fw_tpair_dx_sn: ∀I1,I2,L,V1,V2,T. ♯{L, V2} < ♯{L, ②{I1}V1.②{I2}V2.T}. -normalize in ⊢ (?→?→?→?→?→?→?%%); /2 width=1/ -qed. - -lemma fw_tpair_sn_sn_shift: ∀I,I1,I2,L,V1,V2,T. - ♯{L.ⓑ{I}V1, T} < ♯{L, ②{I1}V1.②{I2}V2.T}. -normalize in ⊢ (?→?→?→?→?→?→?→?%%); /3 width=1/ -qed. - -lemma fw_tpair_sn_dx_shift: ∀I,I1,I2,L,V1,V2,T. - ♯{L.ⓑ{I}V2, T} < ♯{L, ②{I1}V1.②{I2}V2.T}. -normalize in ⊢ (?→?→?→?→?→?→?→?%%); /2 width=1/ +lemma fw_lpair_sn: ∀I,G,L,V,T. ♯{G, L, V} < ♯{G, L.ⓑ{I}V, T}. +normalize /3 width=1 by monotonic_lt_plus_l, monotonic_le_plus_r/ (**) (* auto too slow without trace *) qed. (* Basic_1: removed theorems 7: - flt_thead_sx flt_thead_dx flt_arith0 flt_arith1 flt_arith2 flt_trans - flt_wf_ind + flt_thead_sx flt_thead_dx flt_trans + flt_arith0 flt_arith1 flt_arith2 flt_wf_ind *) (* Basic_1: removed local theorems 1: q_ind *)