X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Frelocation%2Fpr_isu.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Frelocation%2Fpr_isu.ma;h=5fdee719f0e85e465ff780c327557bbe42bd4ae6;hb=f8b4eb67c2437f7b5174d7dca46e102e0ac0d19d;hp=0000000000000000000000000000000000000000;hpb=8bbe582d87984526f40182c4409cbfd43108cb79;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/pr_isu.ma b/matita/matita/contribs/lambdadelta/ground/relocation/pr_isu.ma new file mode 100644 index 000000000..5fdee719f --- /dev/null +++ b/matita/matita/contribs/lambdadelta/ground/relocation/pr_isu.ma @@ -0,0 +1,56 @@ +(**************************************************************************) +(* ___ *) +(* ||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 "ground/notation/relations/predicate_u_1.ma". +include "ground/relocation/pr_isi.ma". + +(* UNIFORMITY CONDITION FOR PARTIAL RELOCATION MAPS *************************) + +(*** isuni *) +inductive pr_isu: predicate pr_map ≝ +(*** isuni_isid *) +| pr_isu_isi (f): 𝐈❪f❫ → pr_isu f +(*** isuni_next *) +| pr_isu_next (f): pr_isu f → ∀g. ↑f = g → pr_isu g +. + +interpretation + "uniformity condition (partial relocation maps)" + 'PredicateU f = (pr_isu f). + +(* Basic inversions *********************************************************) + +(*** isuni_inv_push *) +lemma pr_isu_inv_push (g): 𝐔❪g❫ → ∀f. ⫯f = g → 𝐈❪f❫. +#g * -g +[ /2 width=3 by pr_isi_inv_push/ +| #f #_ #g #H #x #Hx destruct + elim (eq_inv_pr_push_next … Hx) +] +qed-. + +(*** isuni_inv_next *) +lemma pr_isu_inv_next (g): 𝐔❪g❫ → ∀f. ↑f = g → 𝐔❪f❫. +#g * -g #f #Hf +[ #x #Hx elim (pr_isi_inv_next … Hf … Hx) +| #g #H #x #Hx destruct + >(eq_inv_pr_next_bi … Hx) -x // +] +qed-. + +(* Basic destructions *******************************************************) + +(*** isuni_fwd_push *) +lemma pr_isu_fwd_push (g): 𝐔❪g❫ → ∀f. ⫯f = g → 𝐔❪f❫. +/3 width=3 by pr_isu_inv_push, pr_isu_isi/ qed-.