X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Fsyntax%2Fpreterm.ma;h=6406d1dd7e50900f498b1832728315c5701e89e9;hb=41a54a797af98d2867d4bf979d424283fb44a1fc;hp=44d923d9bb742b2b8b49fc247031c9e8c40916d4;hpb=2e4a7c54ef77c10cb1cef4b59518c473245ea935;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/preterm.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/preterm.ma index 44d923d9b..6406d1dd7 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/preterm.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/preterm.ma @@ -12,25 +12,30 @@ (* *) (**************************************************************************) -include "ground/lib/subset.ma". -include "delayed_updating/syntax/path.ma". -include "delayed_updating/notation/functions/uptriangle_1.ma". +include "delayed_updating/syntax/prototerm.ma". +include "delayed_updating/syntax/path_structure.ma". +include "delayed_updating/notation/functions/class_t_0.ma". (* PRETERM ******************************************************************) -(* Note: preterms are subsets of complete paths *) -definition preterm: Type[0] ≝ 𝒫❨path❩. - -definition preterm_root: preterm → preterm ≝ - λt,p. ∃q. p;;q ϵ t. +(* Note: a preterm is a prototerm satislying the condition below *) +(* Note: different root paths have different structure *) +definition structure_injective: predicate prototerm ≝ + λt. ∀p1,p2. p1 ϵ ▵t → p2 ϵ ▵t → ⊗p1 = ⊗p2 → p1 = p2 +. interpretation - "root (preterm)" - 'UpTriangle t = (preterm_root t). + "preterm (prototerm)" + 'ClassT = (structure_injective). -(* Basic constructions ******************************************************) +(* Basic inversions *********************************************************) -lemma preterm_in_comp_root (p) (t): - p ϵ t → p ϵ ▵t. -/2 width=2 by ex_intro/ -qed. +lemma preterm_in_root_append_inv_structure_empty_dx (t) (p) (q): + p●q ϵ ▵t → t ϵ 𝐓 → 𝐞 = ⊗q → 𝐞 = q. +#t #p #q #Hpq #Ht #Hq +lapply (Ht p ?? Hpq ?) +[