]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/delayed_updating/reduction/ibfr_constructors.ma
update in delayed_updating
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / reduction / ibfr_constructors.ma
diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/ibfr_constructors.ma b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/ibfr_constructors.ma
deleted file mode 100644 (file)
index 112a98c..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-(**************************************************************************)
-(*       ___                                                              *)
-(*      ||M||                                                             *)
-(*      ||A||       A project by Andrea Asperti                           *)
-(*      ||T||                                                             *)
-(*      ||I||       Developers:                                           *)
-(*      ||T||         The HELM team.                                      *)
-(*      ||A||         http://helm.cs.unibo.it                             *)
-(*      \   /                                                             *)
-(*       \ /        This file is distributed under the terms of the       *)
-(*        v         GNU General Public License Version 2                  *)
-(*                                                                        *)
-(**************************************************************************)
-
-include "delayed_updating/reduction/ibfr.ma".
-include "delayed_updating/substitution/fsubst_constructors.ma".
-include "delayed_updating/substitution/fsubst_eq.ma".
-include "delayed_updating/substitution/lift_prototerm_eq.ma".
-include "delayed_updating/syntax/prototerm_constructors_eq.ma".
-
-(* IMMEDIATE BALANCED FOCUSED REDUCTION *************************************)
-
-(* Constructions with constructors for prototerm ****************************)
-
-lemma ibfr_abst_hd (t1) (t2) (r):
-      t1 āž”š¢š›šŸ[r] t2 ā†’ š›Œ.t1 āž”š¢š›šŸ[š—Ÿā——r] š›Œ.t2.
-#t1 #t2 #r *
-#p #b #q #m #n #Hr #Hb #Hm #Hn #Ht1 #Ht2 destruct
-@(ex6_5_intro ā€¦ (š—Ÿā——p) ā€¦ Hb Hm Hn) -Hb -Hm -Hn
-[ -Ht2 //
-| -Ht2 /2 width=1 by in_comp_abst_hd/
-| @(subset_eq_trans ā€¦ (abst_eq_repl ā€¦ Ht2)) -Ht1 -Ht2
-  @(subset_eq_canc_sn ā€¦ (fsubst_abst_hd ā€¦)) @abst_eq_repl
-  @fsubst_eq_repl // @lift_term_eq_repl_dx
-  >list_cons_shift @(subset_eq_canc_sn ā€¦ (grafted_abst_hd ā€¦ )) //
-]
-qed.
-
-lemma ibfr_appl_hd (v) (t1) (t2) (r):
-      t1 āž”š¢š›šŸ[r] t2 ā†’ ļ¼ v.t1 āž”š¢š›šŸ[š—”ā——r] ļ¼ v.t2.
-#v #t1 #t2 #r *
-#p #b #q #m #n #Hr #Hb #Hm #Hn #Ht1 #Ht2 destruct
-@(ex6_5_intro ā€¦ (š—”ā——p) ā€¦ Hb Hm Hn) -Hb -Hm -Hn
-[ -Ht2 //
-| -Ht2 /2 width=1 by in_comp_appl_hd/
-| @(subset_eq_trans ā€¦ (appl_eq_repl ā€¦ Ht2)) -Ht1 -Ht2 [|*: // ]
-  @(subset_eq_canc_sn ā€¦ (fsubst_appl_hd ā€¦)) @appl_eq_repl [ // ]
-  @fsubst_eq_repl // @lift_term_eq_repl_dx
-  >list_cons_shift @(subset_eq_canc_sn ā€¦ (grafted_appl_hd ā€¦ )) //
-]
-qed.
-
-lemma ibfr_appl_sd (v1) (v2) (t) (r):
-      v1 āž”š¢š›šŸ[r] v2 ā†’ ļ¼ v1.t āž”š¢š›šŸ[š—¦ā——r] ļ¼ v2.t.
-#v1 #v2 #t #r *
-#p #b #q #m #n #Hr #Hb #Hm #Hn #Hv1 #Hv2 destruct
-@(ex6_5_intro ā€¦ (š—¦ā——p) ā€¦ Hb Hm Hn) -Hb -Hm -Hn
-[ -Hv2 //
-| -Hv2 /2 width=1 by in_comp_appl_sd/
-| @(subset_eq_trans ????? (appl_eq_repl ā€¦)) [3: @Hv2 |2,4: // |5: skip ]
-  @(subset_eq_canc_sn ā€¦ (fsubst_appl_sd ā€¦)) @appl_eq_repl [| // ]
-  @fsubst_eq_repl // @lift_term_eq_repl_dx
-  >list_cons_shift @(subset_eq_canc_sn ā€¦ (grafted_appl_sd ā€¦ )) //
-]
-qed.
-
-lemma ibfr_beta_0 (v) (t) (q) (n):
-      q Ļµ š‚āØā’»,nā© ā†’ qā—–š—±ā†‘n Ļµ t ā†’
-      ļ¼ v.š›Œ.t āž”š¢š›šŸ[š—”ā——š—Ÿā——q] ļ¼ v.š›Œ.(t[ā‹”qā†šŸ ”[š®āØā†‘nā©]v]).
-#v #t #q #n #Hn #Ht
-@(ex6_5_intro ā€¦ (šž) (šž) q (šŸŽ) ā€¦ Hn) -Hn
-[ //
-| //
-| //
-| /3 width=1 by in_comp_appl_hd, in_comp_abst_hd/
-| @(subset_eq_canc_sn ā€¦ (fsubst_appl_hd ā€¦)) @appl_eq_repl [ // ]
-  @(subset_eq_canc_sn ā€¦ (fsubst_abst_hd ā€¦)) @abst_eq_repl
-  @fsubst_eq_repl // <nplus_zero_sn @lift_term_eq_repl_dx
-  >list_cons_comm @(subset_eq_canc_sn ā€¦ (grafted_appl_sd ā€¦ ))
-  @(subset_eq_canc_sn ā€¦ (grafted_empty_dx ā€¦ )) //
-]
-qed.
-
-lemma ibfr_beta_1 (v) (v1) (t) (q) (n):
-      q Ļµ š‚āØā’»,nā© ā†’ qā—–š—±ā†‘n Ļµ t ā†’
-      ļ¼ v.ļ¼ v1.š›Œ.š›Œ.t āž”š¢š›šŸ[š—”ā——š—”ā——š—Ÿā——š—Ÿā——q] ļ¼ v.ļ¼ v1.š›Œ.š›Œ.(t[ā‹”qā†šŸ ”[š®āØā†‘ā†‘nā©]v]).
-#v #v1 #t #q #n #Hn #Ht
-@(ex6_5_intro ā€¦ (šž) (š—”ā——š—Ÿā——šž) q (šŸ) ā€¦ Hn) -Hn
-[ //
-| /2 width=1 by pbc_empty, pbc_redex/
-| /3 width=1 by pcc_A_sn, pcc_L_sn, pcc_empty/
-| /5 width=1 by in_comp_appl_hd, in_comp_abst_hd/
-| @(subset_eq_canc_sn ā€¦ (fsubst_appl_hd ā€¦)) @appl_eq_repl [ // ]
-  @(subset_eq_canc_sn ā€¦ (fsubst_appl_hd ā€¦)) @appl_eq_repl [ // ]
-  @(subset_eq_canc_sn ā€¦ (fsubst_abst_hd ā€¦)) @abst_eq_repl
-  @(subset_eq_canc_sn ā€¦ (fsubst_abst_hd ā€¦)) @abst_eq_repl
-  @fsubst_eq_repl // <nplus_unit_sn @lift_term_eq_repl_dx
-  >list_cons_comm @(subset_eq_canc_sn ā€¦ (grafted_appl_sd ā€¦ ))
-  @(subset_eq_canc_sn ā€¦ (grafted_empty_dx ā€¦ )) //
-]
-qed.