X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fgrammar%2Fcl_weight.ma;h=2a98026260c12c63b5953448775dc02db4ebc718;hb=90ee1e85245752414b93826aabe388409571187a;hp=d9569d4d57ffd3a236d7d591c72688a435b6160b;hpb=e8998d29ab83e7b6aa495a079193705b2f6743d3;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 d9569d4d5..2a9802626 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/grammar/cl_weight.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/grammar/cl_weight.ma @@ -17,52 +17,51 @@ include "basic_2/grammar/cl_shift.ma". (* WEIGHT OF A CLOSURE ******************************************************) -definition fw: lenv → term → ? ≝ λL,T. #{L} + #{T}. +definition fw: lenv → term → ? ≝ λL,T. ♯{L} + ♯{T}. interpretation "weight (closure)" 'Weight L T = (fw L T). (* Basic properties *********************************************************) -(* Basic_1: was: flt_wf__q_ind *) - -(* Basic_1: was: flt_wf_ind *) -axiom fw_ind: ∀R:relation2 lenv term. - (∀L2,T2. (∀L1,T1. #{L1,T1} < #{L2,T2} → R L1 T1) → R L2 T2) → - ∀L,T. R L T. - (* 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,K,I,V,T. ♯{K. ⓑ{I} V, T} < ♯{K, ⓑ{a,I} V. T}. normalize // qed. -lemma tw_shift: ∀L,T. #{L, T} ≤ #{L @@ T}. +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 ] qed. -lemma fw_tpair_sn: ∀I,L,V,T. #{L, V} < #{L, ②{I}V.T}. +lemma fw_tpair_sn: ∀I,L,V,T. ♯{L, V} < ♯{L, ②{I}V.T}. normalize in ⊢ (?→?→?→?→?%%); // qed. -lemma fw_tpair_dx: ∀I,L,V,T. #{L, T} < #{L, ②{I}V.T}. +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/ +lemma fw_tpair_dx_sn: ∀I1,I2,L,V1,V2,T. ♯{L, V2} < ♯{L, ②{I1}V1.②{I2}V2.T}. +normalize in ⊢ (?→?→?→?→?→?→?%%); /2 width=1 by monotonic_le_plus_r/ (**) (* auto too slow without trace *) 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/ + ♯{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/ + ♯{L.ⓑ{I}V2, T} < ♯{L, ②{I1}V1.②{I2}V2.T}. +normalize in ⊢ (?→?→?→?→?→?→?→?%%); /2 width=1 by monotonic_le_plus_r/ (**) (* auto too slow without trace *) +qed. + +lemma fw_lpair_sn: ∀I,L,V,T. ♯{L, V} < ♯{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 6: +(* Basic_1: removed theorems 7: flt_thead_sx flt_thead_dx flt_arith0 flt_arith1 flt_arith2 flt_trans + flt_wf_ind *) +(* Basic_1: removed local theorems 1: q_ind *)