From cd2f5b59215ea771ac137b9a7b115a05175f45d5 Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Mon, 14 Nov 2022 23:13:29 +0100 Subject: [PATCH] update in delayed_updating + example of unprotected balanced reduction continued --- .../reduction/dbfr_unprotected.ma | 26 +++++++++++++++++++ .../reduction/ibfr_constructors.ma | 26 +++++++++++++++++-- 2 files changed, 50 insertions(+), 2 deletions(-) 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 a0e5a6944..7c9276021 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_unprotected.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dbfr_unprotected.ma @@ -18,6 +18,12 @@ include "ground/arith/pnat_two.ma". (* DELAYED BALANCED FOCUSED REDUCTION ***************************************) +(* Prerequisites ************************************************************) + +lemma list_rcons_prop_1 (A) (a1) (a2): + ⓔ ⨭ a1 ⨭{A} a2 = a1 ⨮ (ⓔ ⨭ a2). +// qed. + (* Example of unprotected balanced β-reduction ******************************) definition l3_t0: prototerm ≝ @@ -26,6 +32,9 @@ definition l3_t0: prototerm ≝ definition l3_t1: prototerm ≝ (𝛌.@(⧣𝟏).@(𝛌.@(⧣𝟐).⧣𝟏).𝛌.(𝛌.@(⧣↑𝟐).⧣𝟏)). +definition l3_t2: prototerm ≝ + (𝛌.@(⧣𝟏).@(𝛌.@(⧣𝟐).⧣𝟏).𝛌.(𝛌.@(⧣↑𝟐).⧣↑𝟐)). + lemma l3_t01: l3_t0 ➡𝐢𝐛𝐟[𝗟◗𝗔◗𝗔◗𝗟◗𝐞] l3_t1. @ibfr_abst_hd @@ -40,3 +49,20 @@ lemma l3_t01: @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 … (𝟎)) [| list_cons_comm @(subset_eq_canc_sn … (grafted_appl_sd … )) + @(subset_eq_canc_sn … (grafted_empty_dx … )) // +] +qed. -- 2.39.2