X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Freduction%2Fdbfr_unprotected.ma;h=753d38c684100ddfd25a544e61283d4dceb6dfb4;hb=f31020f1ae14e28c246b6cd9cf91b5864f4f536a;hp=7c92760210cf1efaf2e1bb7edf61ba51e3870519;hpb=cd2f5b59215ea771ac137b9a7b115a05175f45d5;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_unprotected.ma b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_unprotected.ma index 7c9276021..753d38c68 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_unprotected.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_unprotected.ma @@ -12,32 +12,33 @@ (* *) (**************************************************************************) +include "delayed_updating/reduction/dbfr_constructors.ma". include "delayed_updating/reduction/ibfr_constructors.ma". +include "delayed_updating/unwind/unwind2_prototerm_constructors.ma". include "delayed_updating/substitution/lift_prototerm_constructors.ma". include "ground/arith/pnat_two.ma". (* DELAYED BALANCED FOCUSED REDUCTION ***************************************) -(* Prerequisites ************************************************************) +(* Example of unprotected balanced β-reduction ******************************) -lemma list_rcons_prop_1 (A) (a1) (a2): - ⓔ ⨭ a1 ⨭{A} a2 = a1 ⨮ (ⓔ ⨭ a2). -// qed. +definition l3_t: prototerm ≝ + (@(⧣𝟏).@(𝛌.⧣𝟏).𝛌.⧣𝟏). -(* Example of unprotected balanced β-reduction ******************************) +definition l3_i1: prototerm ≝ + (@(⧣𝟏).@(𝛌.⧣𝟏).𝛌.𝛌.⧣𝟏). -definition l3_t0: prototerm ≝ - (𝛌.@(⧣𝟏).@(𝛌.@(⧣𝟐).⧣𝟏).𝛌.⧣𝟏). +definition l3_i2: prototerm ≝ + (@(⧣𝟏).@(𝛌.⧣𝟏).𝛌.𝛌.⧣↑𝟐). -definition l3_t1: prototerm ≝ - (𝛌.@(⧣𝟏).@(𝛌.@(⧣𝟐).⧣𝟏).𝛌.(𝛌.@(⧣↑𝟐).⧣𝟏)). +definition l3_d1: prototerm ≝ + (@(⧣𝟏).@(𝛌.⧣𝟏).𝛌.𝛕𝟏.𝛌.⧣𝟏). -definition l3_t2: prototerm ≝ - (𝛌.@(⧣𝟏).@(𝛌.@(⧣𝟐).⧣𝟏).𝛌.(𝛌.@(⧣↑𝟐).⧣↑𝟐)). +definition l3_d2: prototerm ≝ + (@(⧣𝟏).@(𝛌.⧣𝟏).𝛌.𝛕𝟏.𝛌.𝛕𝟏.⧣𝟏). -lemma l3_t01: - l3_t0 ➡𝐢𝐛𝐟[𝗟◗𝗔◗𝗔◗𝗟◗𝐞] l3_t1. -@ibfr_abst_hd +lemma l3_ti1: + l3_t ➡𝐢𝐛𝐟[𝗔◗𝗔◗𝗟◗𝐞] l3_i1. @ibfr_appl_hd @ibfr_eq_trans [| @ibfr_beta_0 // ] @appl_eq_repl [ // ] @@ -45,24 +46,40 @@ lemma l3_t01: @(subset_eq_canc_sn … (fsubst_empty_rc …)) @(subset_eq_canc_sn … (lift_term_abst …)) @abst_eq_repl -@(subset_eq_canc_sn … (lift_term_appl … )) -@appl_eq_repl @(subset_eq_canc_sn … (lift_term_oref_pap … )) // qed. -lemma l3_t12: - l3_t1 ➡𝐢𝐛𝐟[𝗟◗𝗔◗𝗔◗𝗟◗𝗟◗𝗔◗𝐞] l3_t2. -@ibfr_abst_hd -@ibfr_eq_trans -[| @(ibfr_beta_1 … (𝟎)) [|