]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/dtd/theoryobject.dtd
ocaml 3.09 transition
[helm.git] / helm / dtd / theoryobject.dtd
index 7c20e003eff20d90f51922996a2c8030b4b342d8..1a8cb131d190ec09313e6e1bcb770f5f71d7b75f 100644 (file)
 <!-- DTD FOR THEORY OBJECTS AT LEVEL OF MATHML CONTENT:              -->
 <!-- First draft: May 9 2000, Irene Schena                           -->
 <!-- Second draft: March 15 2001, Irene Schena                       -->
+<!-- Third draft: May 3 2001, Irene Schena                           -->
 <!--*****************************************************************-->
 
-<!-- DA AGGIUNGERE: 
-CONJECTURE (teo da dim)
-EXERCISE
-EXAMPLE -->
-
 <!ENTITY % cicobj SYSTEM "cicobject.dtd">
 
 %cicobj;
 
-<!ENTITY % theorystructure '(THEOREM|LEMMA|COROLLARY|AXIOM|FACT|DEFINITION|
-                           VARIABLE|SECTION)*'>
-
-<!-- Theory -->
-
-<!ELEMENT Theory (%theorystructure;)>
-<!ATTLIST Theory
-          name CDATA #REQUIRED 
-          uri CDATA #REQUIRED>
-
-<!-- Theory Items -->
-
-<!ELEMENT THEOREM (type)>
-<!ATTLIST THEOREM
-          name CDATA #REQUIRED 
-          uri CDATA #REQUIRED>
-
-<!ELEMENT LEMMA (type)>
-<!ATTLIST LEMMA
-          name CDATA #REQUIRED 
-          uri CDATA #REQUIRED>
+<!ENTITY % theorystructure
+  '(ht:AXIOM|ht:DEFINITION|ht:THEOREM|ht:VARIABLE|ht:SECTION|ht:MUTUAL)*'>
 
-<!ELEMENT COROLLARY (type)>
-<!ATTLIST COROLLARY
-          name CDATA #REQUIRED 
+<!ELEMENT ht:SECTION (%theorystructure;)>
+<!ATTLIST ht:SECTION
           uri CDATA #REQUIRED>
 
-<!ELEMENT AXIOM (Axiom)>
-<!ATTLIST AXIOM
-          name CDATA #REQUIRED 
-          uri CDATA #REQUIRED>
+<!ELEMENT ht:MUTUAL (ht:DEFINITION,ht:DEFINITION+)>
 
-<!ELEMENT FACT (type)>
-<!ATTLIST FACT
-          name CDATA #REQUIRED 
-          uri CDATA #REQUIRED>
-
-<!ELEMENT DEFINITION (Definition|InductiveDefinition)>
-<!ATTLIST DEFINITION
-          name CDATA #REQUIRED 
-          uri CDATA #REQUIRED>
-
-<!ELEMENT VARIABLE (Variable)>
-<!ATTLIST VARIABLE
-          name CDATA #REQUIRED 
-          uri CDATA #REQUIRED>
+<!-- Theory Items -->
 
-<!ELEMENT SECTION (%theorystructure;)>
-<!ATTLIST SECTION
-          uri CDATA #REQUIRED>
+<!ELEMENT ht:AXIOM (Axiom)>
+<!ATTLIST ht:AXIOM
+          uri CDATA #REQUIRED
+          as (Axiom|Declaration) #REQUIRED
+          typesetting ( paragraph | in-line ) paragraph
+          heading ( true | false ) true
+          uri_base ( true | false ) true
+          notation ( true | false ) false
+          params ( true | false ) false
+          type ( true | false ) true >
+
+<!ELEMENT ht:DEFINITION (Definition|InductiveDefinition)>
+<!ATTLIST ht:DEFINITION
+          uri CDATA #REQUIRED
+          as (Definition|InteractiveDefinition|Inductive|CoInductive
+             |Record) #REQUIRED
+          <!-- Should the definition take a whole new paragraph
+               or be integrated in the sentence? -->
+          typesetting ( paragraph | inline ) paragraph
+          <!-- Include the text "Definition "? -->
+          heading ( true | false ) true
+          <!-- Include the name of the definition, i.e.
+               the non-path part of its URI? -->
+          uri_base ( true | false ) true
+          <!-- Include the notation for this object? -->
+          notation ( true | false ) false
+          <!-- Include the section parameters / variables of
+               this definition? -->
+          params ( true | false ) false
+          <!-- For parametrised (co)inductive definitions,
+               include the parameters of the definition? -->
+          Params ( true | false ) true
+          <!-- Show the type?  -->
+          type ( true | false ) true
+          <!-- Show the body?  -->
+          body ( true | false ) true >
+
+<!ELEMENT ht:THEOREM (type)>
+<!ATTLIST ht:THEOREM
+          uri CDATA #REQUIRED
+          as (Theorem|Lemma|Corollary|Fact|Remark) #REQUIRED
+          typesetting ( paragraph | in-line ) paragraph
+          heading ( true | false ) true
+          uri_base ( true | false ) true
+          notation ( true | false ) false
+          params ( true | false ) false
+          type ( true | false ) true
+          body ( true | false ) true >
+
+<!ELEMENT ht:VARIABLE (Variable)>
+<!ATTLIST ht:VARIABLE
+          uri CDATA #REQUIRED
+          as (Assumption|Hypothesis|LocalDefinition|LocalFact) #REQUIRED
+          typesetting ( paragraph | in-line ) paragraph
+          heading ( true | false ) true
+          uri_base ( true | false ) true
+          notation ( true | false ) false
+          params ( true | false ) false
+          Params ( true | false ) true
+          type ( true | false ) true
+          body ( true | false ) true >