]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/delayed_updating/syntax/preterm.ma
update in delayed_updating
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / syntax / preterm.ma
index 1da2d0174a8ddc1f188b5dadbc9131620bfc4968..44d923d9bb742b2b8b49fc247031c9e8c40916d4 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
+include "ground/lib/subset.ma".
 include "delayed_updating/syntax/path.ma".
-include "delayed_updating/notation/relations/up_down_arrow_epsilon_2.ma".
-include "delayed_updating/notation/relations/up_arrow_epsilon_2.ma".
+include "delayed_updating/notation/functions/uptriangle_1.ma".
 
 (* PRETERM ******************************************************************)
 
-definition preterm: Type[0] ≝ predicate path.
+(* Note: preterms are subsets of complete paths *)
+definition preterm: Type[0] ≝ 𝒫❨path❩.
 
-definition preterm_in_comp: relation2 path preterm ≝
-           λp,t. t p.
+definition preterm_root: preterm → preterm ≝
+           λt,p. ∃q. p;;q ϵ t.
 
 interpretation
-  "belongs to complete (preterm)"
-  'UpDownArrowEpsilon p t = (preterm_in_comp p t).
-
-definition preterm_in_root: relation2 path preterm ≝
-           λp,t. ∃q. p;;q ϵ⬦ t.
-
-interpretation
-  "belongs to root (preterm)"
-  'UpArrowEpsilon p t = (preterm_in_root p t).
+  "root (preterm)"
+  'UpTriangle t = (preterm_root t).
 
 (* Basic constructions ******************************************************)
 
 lemma preterm_in_comp_root (p) (t):
-      p ϵ⬦ t → p ϵ▵ t.
+      p ϵ t → p ϵ ▵t.
 /2 width=2 by ex_intro/
 qed.