From: Ferruccio Guidi Date: Thu, 19 May 2022 10:11:11 +0000 (+0200) Subject: update in ground X-Git-Tag: make_still_working~71 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=77479649510792efe4d9cbff508e118360862594;hp=9b4e20442ec5a4028cfe2b6fe836c94acdb033b8;p=helm.git update in ground + new notation for application of a relocation --- diff --git a/matita/matita/contribs/lambdadelta/apps_2/functional/flifts.ma b/matita/matita/contribs/lambdadelta/apps_2/functional/flifts.ma index 9a5db82f1..e015813b0 100644 --- a/matita/matita/contribs/lambdadelta/apps_2/functional/flifts.ma +++ b/matita/matita/contribs/lambdadelta/apps_2/functional/flifts.ma @@ -21,7 +21,7 @@ include "static_2/relocation/lifts.ma". rec definition flifts f U on U ≝ match U with [ TAtom I ⇒ match I with [ Sort _ ⇒ U - | LRef i ⇒ #(f@❨i❩) + | LRef i ⇒ #(f@⧣❨i❩) | GRef _ ⇒ U ] | TPair I V T ⇒ match I with @@ -38,7 +38,7 @@ interpretation "uniform functional relocation (term)" (* Basic properties *********************************************************) -lemma flifts_lref (f) (i): ↑*[f](#i) = #(f@❨i❩). +lemma flifts_lref (f) (i): ↑*[f](#i) = #(f@⧣❨i❩). // qed. lemma flifts_bind (f) (p) (I) (V) (T): ↑*[f](ⓑ[p,I]V.T) = ⓑ[p,I]↑*[f]V.↑*[⫯f]T. diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/at_2.ma b/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/at_2.ma index f17d53ff8..9eac0d04c 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/at_2.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/at_2.ma @@ -14,6 +14,6 @@ (* NOTATION FOR DELAYED UPDATING ********************************************) -notation "hvbox( @ break term 71 u . break term 70 t )" +notation "hvbox( @ break term 71 u . break term 70 t )" non associative with precedence 70 for @{ 'At $u $t }. diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr.ma b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr.ma index 849c5f32d..b7f900b6c 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr.ma @@ -28,7 +28,7 @@ include "ground/xoa/and_4.ma". definition dfr (p) (q): relation2 prototerm prototerm ≝ λt1,t2. ∃∃b,n. let r ≝ p●𝗔◗b●𝗟◗q in - ∧∧ (⊗b ϵ 𝐁 ∧ 𝟎 = ♭b) & ↑♭q = (▼[r]𝐢)@❨n❩ & r◖𝗱n ϵ t1 & + ∧∧ (⊗b ϵ 𝐁 ∧ 𝟎 = ♭b) & ↑♭q = (▼[r]𝐢)@⧣❨n❩ & r◖𝗱n ϵ t1 & t1[⋔r←𝛗(n+♭b).(t1⋔(p◖𝗦))] ⇔ t2 . diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma index 2d3fdbdf5..29c44898d 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma @@ -32,11 +32,11 @@ include "ground/relocation/tr_pap_pushs.ma". (* COMMENT axiom pippo (b) (q) (n): - ↑❘q❘ = (↑[q]𝐢)@❨n❩ → - ↑❘q❘+❘b❘= (↑[b●𝗟◗q]𝐢)@❨n+❘b❘❩. + ↑❘q❘ = (↑[q]𝐢)@⧣❨n❩ → + ↑❘q❘+❘b❘= (↑[b●𝗟◗q]𝐢)@⧣❨n+❘b❘❩. lemma unwind_rmap_tls_eq_id (p) (n): - ❘p❘ = ↑[p]𝐢@❨n❩ → + ❘p❘ = ↑[p]𝐢@⧣❨n❩ → (𝐢) ≗ ⇂*[n]↑[p]𝐢. #p @(list_ind_rcons … p) -p [ #n (tr_pap_eq_repl … (▼[p]f) … (unwind_rmap_decompose …)) (H2f … Hf) in ⊢ (???%); -H2f // diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/pr_ist_ist.ma b/matita/matita/contribs/lambdadelta/ground/relocation/pr_ist_ist.ma index de3ecfe4e..a65f972bb 100644 --- a/matita/matita/contribs/lambdadelta/ground/relocation/pr_ist_ist.ma +++ b/matita/matita/contribs/lambdadelta/ground/relocation/pr_ist_ist.ma @@ -23,7 +23,7 @@ include "ground/relocation/pr_ist.ma". (* Advanced constructions with pr_pat ***************************************) (*** at_dec *) -lemma pr_pat_dec (f) (i1) (i2): 𝐓❨f❩ → Decidable (@❨i1,f❩ ≘ i2). +lemma pr_pat_dec (f) (i1) (i2): 𝐓❨f❩ → Decidable (@⧣❨i1,f❩ ≘ i2). #f #i1 #i2 #Hf lapply (Hf i1) -Hf * #j2 #Hf elim (eq_pnat_dec i2 j2) [ #H destruct /2 width=1 by or_introl/ @@ -32,9 +32,9 @@ lemma pr_pat_dec (f) (i1) (i2): 𝐓❨f❩ → Decidable (@❨i1,f❩ ≘ i2). qed-. (*** is_at_dec *) -lemma is_pr_pat_dec (f) (i2): 𝐓❨f❩ → Decidable (∃i1. @❨i1,f❩ ≘ i2). +lemma is_pr_pat_dec (f) (i2): 𝐓❨f❩ → Decidable (∃i1. @⧣❨i1,f❩ ≘ i2). #f #i2 #Hf -lapply (dec_plt (λi1.@❨i1,f❩ ≘ i2) … (↑i2)) [| * ] +lapply (dec_plt (λi1.@⧣❨i1,f❩ ≘ i2) … (↑i2)) [| * ] [ /2 width=1 by pr_pat_dec/ | * /3 width=2 by ex_intro, or_introl/ | #H @or_intror * #i1 #Hi12 @@ -46,7 +46,7 @@ qed-. (*** at_ext *) corec theorem pr_eq_ext_pat (f1) (f2): 𝐓❨f1❩ → 𝐓❨f2❩ → - (∀i,i1,i2. @❨i,f1❩ ≘ i1 → @❨i,f2❩ ≘ i2 → i1 = i2) → + (∀i,i1,i2. @⧣❨i,f1❩ ≘ i1 → @⧣❨i,f2❩ ≘ i2 → i1 = i2) → f1 ≐ f2. cases (pr_map_split_tl f1) #H1 cases (pr_map_split_tl f2) #H2 diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/pr_nat.ma b/matita/matita/contribs/lambdadelta/ground/relocation/pr_nat.ma index f61913c80..13154a1bb 100644 --- a/matita/matita/contribs/lambdadelta/ground/relocation/pr_nat.ma +++ b/matita/matita/contribs/lambdadelta/ground/relocation/pr_nat.ma @@ -19,7 +19,7 @@ include "ground/relocation/pr_pat.ma". (* NON-NEGATIVE APPLICATION FOR PARTIAL RELOCATION MAPS *********************) definition pr_nat: relation3 pr_map nat nat ≝ - λf,l1,l2. @❨↑l1,f❩ ≘ ↑l2. + λf,l1,l2. @⧣❨↑l1,f❩ ≘ ↑l2. interpretation "relational non-negative application (partial relocation maps)" @@ -46,7 +46,7 @@ lemma pr_nat_next (f) (l1) (l2) (g) (k2): qed. lemma pr_nat_pred_bi (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → @↑❨↓i1,f❩ ≘ ↓i2. + @⧣❨i1,f❩ ≘ i2 → @↑❨↓i1,f❩ ≘ ↓i2. #f #i1 #i2 >(npsucc_pred i1) in ⊢ (%→?); >(npsucc_pred i2) in ⊢ (%→?); // diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/pr_pat.ma b/matita/matita/contribs/lambdadelta/ground/relocation/pr_pat.ma index 104d37c74..0eee75321 100644 --- a/matita/matita/contribs/lambdadelta/ground/relocation/pr_pat.ma +++ b/matita/matita/contribs/lambdadelta/ground/relocation/pr_pat.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -include "ground/notation/relations/rat_3.ma". +include "ground/notation/relations/ratsharp_3.ma". include "ground/xoa/ex_3_2.ma". include "ground/arith/pnat.ma". include "ground/relocation/pr_tl.ma". @@ -34,19 +34,19 @@ coinductive pr_pat: relation3 pr_map pnat pnat ≝ interpretation "relational positive application (partial relocation maps)" - 'RAt i1 f i2 = (pr_pat f i1 i2). + 'RAtSharp i1 f i2 = (pr_pat f i1 i2). (*** H_at_div *) definition H_pr_pat_div: relation4 pr_map pr_map pr_map pr_map ≝ λf2,g2,f1,g1. - ∀jf,jg,j. @❨jf,f2❩ ≘ j → @❨jg,g2❩ ≘ j → - ∃∃j0. @❨j0,f1❩ ≘ jf & @❨j0,g1❩ ≘ jg. + ∀jf,jg,j. @⧣❨jf,f2❩ ≘ j → @⧣❨jg,g2❩ ≘ j → + ∃∃j0. @⧣❨j0,f1❩ ≘ jf & @⧣❨j0,g1❩ ≘ jg. (* Basic inversions *********************************************************) (*** at_inv_ppx *) lemma pr_pat_inv_unit_push (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g. 𝟏 = i1 → ⫯g = f → 𝟏 = i2. + @⧣❨i1,f❩ ≘ i2 → ∀g. 𝟏 = i1 → ⫯g = f → 𝟏 = i2. #f #i1 #i2 * -f -i1 -i2 // [ #f #i1 #i2 #_ #g #j1 #j2 #_ * #_ #x #H destruct | #f #i1 #i2 #_ #g #j2 * #_ #x #_ #H elim (eq_inv_pr_push_next … H) @@ -55,8 +55,8 @@ qed-. (*** at_inv_npx *) lemma pr_pat_inv_succ_push (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g,j1. ↑j1 = i1 → ⫯g = f → - ∃∃j2. @❨j1,g❩ ≘ j2 & ↑j2 = i2. + @⧣❨i1,f❩ ≘ i2 → ∀g,j1. ↑j1 = i1 → ⫯g = f → + ∃∃j2. @⧣❨j1,g❩ ≘ j2 & ↑j2 = i2. #f #i1 #i2 * -f -i1 -i2 [ #f #g #j1 #j2 #_ * #_ #x #x1 #H destruct | #f #i1 #i2 #Hi #g #j1 #j2 * * * #x #x1 #H #Hf >(eq_inv_pr_push_bi … Hf) -g destruct /2 width=3 by ex2_intro/ @@ -66,8 +66,8 @@ qed-. (*** at_inv_xnx *) lemma pr_pat_inv_next (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g. ↑g = f → - ∃∃j2. @❨i1,g❩ ≘ j2 & ↑j2 = i2. + @⧣❨i1,f❩ ≘ i2 → ∀g. ↑g = f → + ∃∃j2. @⧣❨i1,g❩ ≘ j2 & ↑j2 = i2. #f #i1 #i2 * -f -i1 -i2 [ #f #g #j1 #j2 * #_ #_ #x #H elim (eq_inv_pr_next_push … H) | #f #i1 #i2 #_ #g #j1 #j2 * #_ #_ #x #H elim (eq_inv_pr_next_push … H) @@ -79,50 +79,50 @@ qed-. (*** at_inv_ppn *) lemma pr_pat_inv_unit_push_succ (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g,j2. 𝟏 = i1 → ⫯g = f → ↑j2 = i2 → ⊥. + @⧣❨i1,f❩ ≘ i2 → ∀g,j2. 𝟏 = i1 → ⫯g = f → ↑j2 = i2 → ⊥. #f #i1 #i2 #Hf #g #j2 #H1 #H <(pr_pat_inv_unit_push … Hf … H1 H) -f -g -i1 -i2 #H destruct qed-. (*** at_inv_npp *) lemma pr_pat_inv_succ_push_unit (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g,j1. ↑j1 = i1 → ⫯g = f → 𝟏 = i2 → ⊥. + @⧣❨i1,f❩ ≘ i2 → ∀g,j1. ↑j1 = i1 → ⫯g = f → 𝟏 = i2 → ⊥. #f #i1 #i2 #Hf #g #j1 #H1 #H elim (pr_pat_inv_succ_push … Hf … H1 H) -f -i1 #x2 #Hg * -i2 #H destruct qed-. (*** at_inv_npn *) lemma pr_pat_inv_succ_push_succ (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g,j1,j2. ↑j1 = i1 → ⫯g = f → ↑j2 = i2 → @❨j1,g❩ ≘ j2. + @⧣❨i1,f❩ ≘ i2 → ∀g,j1,j2. ↑j1 = i1 → ⫯g = f → ↑j2 = i2 → @⧣❨j1,g❩ ≘ j2. #f #i1 #i2 #Hf #g #j1 #j2 #H1 #H elim (pr_pat_inv_succ_push … Hf … H1 H) -f -i1 #x2 #Hg * -i2 #H destruct // qed-. (*** at_inv_xnp *) lemma pr_pat_inv_next_unit (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g. ↑g = f → 𝟏 = i2 → ⊥. + @⧣❨i1,f❩ ≘ i2 → ∀g. ↑g = f → 𝟏 = i2 → ⊥. #f #i1 #i2 #Hf #g #H elim (pr_pat_inv_next … Hf … H) -f #x2 #Hg * -i2 #H destruct qed-. (*** at_inv_xnn *) lemma pr_pat_inv_next_succ (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g,j2. ↑g = f → ↑j2 = i2 → @❨i1,g❩ ≘ j2. + @⧣❨i1,f❩ ≘ i2 → ∀g,j2. ↑g = f → ↑j2 = i2 → @⧣❨i1,g❩ ≘ j2. #f #i1 #i2 #Hf #g #j2 #H elim (pr_pat_inv_next … Hf … H) -f #x2 #Hg * -i2 #H destruct // qed-. (*** at_inv_pxp *) lemma pr_pat_inv_unit_bi (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → 𝟏 = i1 → 𝟏 = i2 → ∃g. ⫯g = f. + @⧣❨i1,f❩ ≘ i2 → 𝟏 = i1 → 𝟏 = i2 → ∃g. ⫯g = f. #f elim (pr_map_split_tl … f) /2 width=2 by ex_intro/ #H #i1 #i2 #Hf #H1 #H2 cases (pr_pat_inv_next_unit … Hf … H H2) qed-. (*** at_inv_pxn *) lemma pr_pat_inv_unit_succ (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀j2. 𝟏 = i1 → ↑j2 = i2 → - ∃∃g. @❨i1,g❩ ≘ j2 & ↑g = f. + @⧣❨i1,f❩ ≘ i2 → ∀j2. 𝟏 = i1 → ↑j2 = i2 → + ∃∃g. @⧣❨i1,g❩ ≘ j2 & ↑g = f. #f elim (pr_map_split_tl … f) #H #i1 #i2 #Hf #j2 #H1 #H2 [ elim (pr_pat_inv_unit_push_succ … Hf … H1 H H2) @@ -132,7 +132,7 @@ qed-. (*** at_inv_nxp *) lemma pr_pat_inv_succ_unit (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀j1. ↑j1 = i1 → 𝟏 = i2 → ⊥. + @⧣❨i1,f❩ ≘ i2 → ∀j1. ↑j1 = i1 → 𝟏 = i2 → ⊥. #f elim (pr_map_split_tl f) #H #i1 #i2 #Hf #j1 #H1 #H2 [ elim (pr_pat_inv_succ_push_unit … Hf … H1 H H2) @@ -142,9 +142,9 @@ qed-. (*** at_inv_nxn *) lemma pr_pat_inv_succ_bi (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀j1,j2. ↑j1 = i1 → ↑j2 = i2 → - ∨∨ ∃∃g. @❨j1,g❩ ≘ j2 & ⫯g = f - | ∃∃g. @❨i1,g❩ ≘ j2 & ↑g = f. + @⧣❨i1,f❩ ≘ i2 → ∀j1,j2. ↑j1 = i1 → ↑j2 = i2 → + ∨∨ ∃∃g. @⧣❨j1,g❩ ≘ j2 & ⫯g = f + | ∃∃g. @⧣❨i1,g❩ ≘ j2 & ↑g = f. #f elim (pr_map_split_tl f) * /4 width=7 by pr_pat_inv_next_succ, pr_pat_inv_succ_push_succ, ex2_intro, or_intror, or_introl/ qed-. @@ -152,9 +152,9 @@ qed-. (* Note: the following inversion lemmas must be checked *) (*** at_inv_xpx *) lemma pr_pat_inv_push (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g. ⫯g = f → + @⧣❨i1,f❩ ≘ i2 → ∀g. ⫯g = f → ∨∨ ∧∧ 𝟏 = i1 & 𝟏 = i2 - | ∃∃j1,j2. @❨j1,g❩ ≘ j2 & ↑j1 = i1 & ↑j2 = i2. + | ∃∃j1,j2. @⧣❨j1,g❩ ≘ j2 & ↑j1 = i1 & ↑j2 = i2. #f * [2: #i1 ] #i2 #Hf #g #H [ elim (pr_pat_inv_succ_push … Hf … H) -f /3 width=5 by or_intror, ex3_2_intro/ | >(pr_pat_inv_unit_push … Hf … H) -f /3 width=1 by conj, or_introl/ @@ -163,15 +163,15 @@ qed-. (*** at_inv_xpp *) lemma pr_pat_inv_push_unit (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g. ⫯g = f → 𝟏 = i2 → 𝟏 = i1. + @⧣❨i1,f❩ ≘ i2 → ∀g. ⫯g = f → 𝟏 = i2 → 𝟏 = i1. #f #i1 #i2 #Hf #g #H elim (pr_pat_inv_push … Hf … H) -f * // #j1 #j2 #_ #_ * -i2 #H destruct qed-. (*** at_inv_xpn *) lemma pr_pat_inv_push_succ (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀g,j2. ⫯g = f → ↑j2 = i2 → - ∃∃j1. @❨j1,g❩ ≘ j2 & ↑j1 = i1. + @⧣❨i1,f❩ ≘ i2 → ∀g,j2. ⫯g = f → ↑j2 = i2 → + ∃∃j1. @⧣❨j1,g❩ ≘ j2 & ↑j1 = i1. #f #i1 #i2 #Hf #g #j2 #H elim (pr_pat_inv_push … Hf … H) -f * [ #_ * -i2 #H destruct | #x1 #x2 #Hg #H1 * -i2 #H destruct /2 width=3 by ex2_intro/ @@ -180,7 +180,7 @@ qed-. (*** at_inv_xxp *) lemma pr_pat_inv_unit_dx (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → 𝟏 = i2 → + @⧣❨i1,f❩ ≘ i2 → 𝟏 = i2 → ∃∃g. 𝟏 = i1 & ⫯g = f. #f elim (pr_map_split_tl f) #H #i1 #i2 #Hf #H2 @@ -191,9 +191,9 @@ qed-. (*** at_inv_xxn *) lemma pr_pat_inv_succ_dx (f) (i1) (i2): - @❨i1,f❩ ≘ i2 → ∀j2. ↑j2 = i2 → - ∨∨ ∃∃g,j1. @❨j1,g❩ ≘ j2 & ↑j1 = i1 & ⫯g = f - | ∃∃g. @❨i1,g❩ ≘ j2 & ↑g = f. + @⧣❨i1,f❩ ≘ i2 → ∀j2. ↑j2 = i2 → + ∨∨ ∃∃g,j1. @⧣❨j1,g❩ ≘ j2 & ↑j1 = i1 & ⫯g = f + | ∃∃g. @⧣❨i1,g❩ ≘ j2 & ↑g = f. #f elim (pr_map_split_tl f) #H #i1 #i2 #Hf #j2 #H2 [ elim (pr_pat_inv_push_succ … Hf … H H2) -i2 /3 width=5 by or_introl, ex3_2_intro/ diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/pr_pat_basic.ma b/matita/matita/contribs/lambdadelta/ground/relocation/pr_pat_basic.ma index ca6abde33..ebe55c37e 100644 --- a/matita/matita/contribs/lambdadelta/ground/relocation/pr_pat_basic.ma +++ b/matita/matita/contribs/lambdadelta/ground/relocation/pr_pat_basic.ma @@ -20,14 +20,14 @@ include "ground/relocation/pr_nat_basic.ma". (*** at_basic_lt *) lemma pr_pat_basic_lt (m) (n) (i): - ninj i ≤ m → @❨i, 𝐛❨m,n❩❩ ≘ i. + ninj i ≤ m → @⧣❨i, 𝐛❨m,n❩❩ ≘ i. #m #n #i >(npsucc_pred i) #Hmi /2 width=1 by pr_nat_basic_lt/ qed. (*** at_basic_ge *) lemma pr_pat_basic_ge (m) (n) (i): - m < ninj i → @❨i, 𝐛❨m,n❩❩ ≘ i+n. + m < ninj i → @⧣❨i, 𝐛❨m,n❩❩ ≘ i+n. #m #n #i >(npsucc_pred i) #Hmi nsucc_inj nsucc_inj nsucc_inj (tr_pushs_id p) /2 width=1 by tr_pap_pushs_le/ qed. diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/tr_pap.ma b/matita/matita/contribs/lambdadelta/ground/relocation/tr_pap.ma index ac2d3fb38..670dbd8ca 100644 --- a/matita/matita/contribs/lambdadelta/ground/relocation/tr_pap.ma +++ b/matita/matita/contribs/lambdadelta/ground/relocation/tr_pap.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -include "ground/notation/functions/apply_2.ma". +include "ground/notation/functions/atsharp_2.ma". include "ground/arith/pnat_plus.ma". include "ground/relocation/tr_map.ma". @@ -29,16 +29,16 @@ defined. interpretation "functional positive application (total relocation maps)" - 'Apply f i = (tr_pap i f). + 'AtSharp f i = (tr_pap i f). (* Basic constructions ******************************************************) (*** apply_O1 *) lemma tr_pap_unit (f): - ∀p. p = (p⨮f)@❨𝟏❩. + ∀p. p = (p⨮f)@⧣❨𝟏❩. // qed. (*** apply_S1 *) lemma tr_pap_succ (f): - ∀p,i. f@❨i❩+p = (p⨮f)@❨↑i❩. + ∀p,i. f@⧣❨i❩+p = (p⨮f)@⧣❨↑i❩. // qed. diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/tr_pap_eq.ma b/matita/matita/contribs/lambdadelta/ground/relocation/tr_pap_eq.ma index 28a5af264..42d838882 100644 --- a/matita/matita/contribs/lambdadelta/ground/relocation/tr_pap_eq.ma +++ b/matita/matita/contribs/lambdadelta/ground/relocation/tr_pap_eq.ma @@ -21,7 +21,7 @@ include "ground/relocation/tr_pap.ma". (*** apply_eq_repl *) theorem tr_pap_eq_repl (i): - stream_eq_repl … (λf1,f2. f1@❨i❩ = f2@❨i❩). + stream_eq_repl … (λf1,f2. f1@⧣❨i❩ = f2@⧣❨i❩). #i elim i -i [2: #i #IH ] * #p1 #f1 * #p2 #f2 #H elim (stream_eq_inv_cons_bi … H) -H [1,8: |*: // ] #Hp #Hf //