X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fs_computation%2Ffqup_weight.ma;h=69af2d03323e1b56740a28bb849afc0c104d173b;hp=ec05d1e98572341dd8cc8896257629afec3f4622;hb=222044da28742b24584549ba86b1805a87def070;hpb=5275f55f5ec528edbb223834f3ec2cf1d3ce9b84 diff --git a/matita/matita/contribs/lambdadelta/basic_2/s_computation/fqup_weight.ma b/matita/matita/contribs/lambdadelta/basic_2/s_computation/fqup_weight.ma index ec05d1e98..69af2d033 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/s_computation/fqup_weight.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/s_computation/fqup_weight.ma @@ -19,24 +19,26 @@ include "basic_2/s_computation/fqup.ma". (* Forward lemmas with weight for closures **********************************) -lemma fqup_fwd_fw: ∀G1,G2,L1,L2,T1,T2. - ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2, T2⦄ → ♯{G2, L2, T2} < ♯{G1, L1, T1}. -#G1 #G2 #L1 #L2 #T1 #T2 #H @(fqup_ind … H) -G2 -L2 -T2 +lemma fqup_fwd_fw: ∀b,G1,G2,L1,L2,T1,T2. ⦃G1, L1, T1⦄ ⊐+[b] ⦃G2, L2, T2⦄ → + ♯{G2, L2, T2} < ♯{G1, L1, T1}. +#b #G1 #G2 #L1 #L2 #T1 #T2 #H @(fqup_ind … H) -G2 -L2 -T2 /3 width=3 by fqu_fwd_fw, transitive_lt/ qed-. (* Advanced eliminators *****************************************************) -lemma fqup_wf_ind: ∀R:relation3 …. ( - ∀G1,L1,T1. (∀G2,L2,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2, T2⦄ → R G2 L2 T2) → - R G1 L1 T1 - ) → ∀G1,L1,T1. R G1 L1 T1. -#R #HR @(f3_ind … fw) #x #IHx #G1 #L1 #T1 #H destruct /4 width=1 by fqup_fwd_fw/ +lemma fqup_wf_ind: ∀b. ∀Q:relation3 …. ( + ∀G1,L1,T1. (∀G2,L2,T2. ⦃G1, L1, T1⦄ ⊐+[b] ⦃G2, L2, T2⦄ → Q G2 L2 T2) → + Q G1 L1 T1 + ) → ∀G1,L1,T1. Q G1 L1 T1. +#b #Q #HQ @(f3_ind … fw) #x #IHx #G1 #L1 #T1 #H destruct +/4 width=2 by fqup_fwd_fw/ qed-. -lemma fqup_wf_ind_eq: ∀R:relation3 …. ( - ∀G1,L1,T1. (∀G2,L2,T2. ⦃G1, L1, T1⦄ ⊐+ ⦃G2, L2, T2⦄ → R G2 L2 T2) → - ∀G2,L2,T2. G1 = G2 → L1 = L2 → T1 = T2 → R G2 L2 T2 - ) → ∀G1,L1,T1. R G1 L1 T1. -#R #HR @(f3_ind … fw) #x #IHx #G1 #L1 #T1 #H destruct /4 width=7 by fqup_fwd_fw/ +lemma fqup_wf_ind_eq: ∀b. ∀Q:relation3 …. ( + ∀G1,L1,T1. (∀G2,L2,T2. ⦃G1, L1, T1⦄ ⊐+[b] ⦃G2, L2, T2⦄ → Q G2 L2 T2) → + ∀G2,L2,T2. G1 = G2 → L1 = L2 → T1 = T2 → Q G2 L2 T2 + ) → ∀G1,L1,T1. Q G1 L1 T1. +#b #Q #HQ @(f3_ind … fw) #x #IHx #G1 #L1 #T1 #H destruct +/4 width=7 by fqup_fwd_fw/ qed-.