]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/mathql/xmathql.dtd
ocaml 3.09 transition
[helm.git] / helm / mathql / xmathql.dtd
index bcff12560dcdff29eee10b572e51561f23dac911..96b52a22b17c4f3a2a2a155374c597026748d883 100644 (file)
@@ -52,8 +52,8 @@
 
 <!-- MathQL query expression declaration -->
 
-<!ENTITY % setexpr '(Rvar|Lvar|Ref|Pattern|Select|LetIn|Relation|
-                      TypeOf|SuperTypeOf|SubTypeOf|Union|Intersect|Diff)'>
+<!ENTITY % setexpr '(Rvar|Svar|Ref|Pattern|Select|LetSIn|LetVIn|Relation|
+                     Union|Intersect|Diff)'>
 
 <!-- MathQL boolean expression declaration -->
 
 
 <!-- MathQL string-set expression declaration -->
 
-<!ENTITY % functexpr '(FUN|PROPERTY|SUPERPROPERTY|SUBPROPERTY)'>
-
-<!ENTITY % stringsetexpr '(CONST|CONSTLIST|REFOF|BINDER|%functexpr;)'>
+<!ENTITY % functexpr '(FUN|PROPERTY)'>
 
+<!ENTITY % stringsetexpr '(CONST|CONSTLIST|REFOF|BINDER|VVAR|%functexpr;)'>
 
 <!-- MathQL query top-element -->
 
 
 <!ELEMENT Select (In, Where)>
 
-<!ELEMENT LetIn (%setexpr;, Target)>
-
-<!ELEMENT Relation (%setexpr;, Attr+)>
-<!ATTLIST Relation
-          name CDATA #REQUIRED>
-
-<!ELEMENT TypeOf %setexpr;>
-<!ATTLIST TypeOf
-          binder CDATA #REQUIRED>
+<!ELEMENT LetSIn (%setexpr;, Starget)>
 
-<!ELEMENT SuperTypeOf %setexpr;>
-<!ATTLIST SuperTypeOf
-          binder CDATA #REQUIRED>
+<!ELEMENT LetVIn (%stringsetexpr;, Vtarget)>
 
-<!ELEMENT SubTypeOf %setexpr;>
-<!ATTLIST SubTypeOf
-          binder CDATA #REQUIRED>
+<!ELEMENT Relation (PName?,%setexpr;, Attr+)>
+<!ATTLIST Relation
+          name CDATA #REQUIRED
+          refine (sub|super) #IMPLIED>
 
 <!ELEMENT Union (%setexpr;, %setexpr;)>
 
 <!ATTLIST Where
           rvar CDATA #REQUIRED>
 
-<!ELEMENT Target %setexpr;>
-<!ATTLIST Target
+<!ELEMENT Starget %setexpr;>
+<!ATTLIST Starget
           svar CDATA #REQUIRED>
 
+<!ELEMENT Vtarget %setexpr;>
+<!ATTLIST Vtarget
+          vvar CDATA #REQUIRED>
+
 <!ELEMENT Attr EMPTY>
 <!ATTLIST Attr 
           binder CDATA #REQUIRED>
 
+<!ELEMENT PName (CONST+)>
+
 <!-- MathQL boolean expressions -->
 
 <!ELEMENT BOOL EMPTY>
 
 <!ELEMENT REFOF %setexpr;>
 
+<!ELEMENT VVAR %stringsetexpr;>
+
 <!ELEMENT BINDER (Rvar)>
 <!ATTLIST BINDER
           name CDATA #REQUIRED>
 
-<!ELEMENT FUN (Rvar)>
+<!ELEMENT FUN %stringsetexpr;>
 <!ATTLIST FUN
           name CDATA #REQUIRED>
 
-<!ELEMENT PROPERTY (Rvar)>
+<!ELEMENT PROPERTY (Refine?,%stringsetexpr;)>
 <!ATTLIST PROPERTY
           name CDATA #REQUIRED>
-
-<!ELEMENT SUPERPROPERTY (Rvar)>
-<!ATTLIST SUPERPROPERTY
-          name CDATA #REQUIRED>
-
-<!ELEMENT SUBPROPERTY (Rvar)>
-<!ATTLIST SUBPROPERTY
-          name CDATA #REQUIRED>
\ No newline at end of file