<!--*****************************************************************-->
<!-- 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 -->
<!--*****************************************************************-->
<!ENTITY % cicobj SYSTEM "cicobject.dtd">
%cicobj;
-<!-- THEORY section: -->
+<!ENTITY % theorystructure
+ '(ht:AXIOM|ht:DEFINITION|ht:THEOREM|ht:VARIABLE|ht:SECTION|ht:MUTUAL)*'>
-<!ELEMENT SECTION (SECTION|Definition|Axiom|InductiveDefinition|Variable)*>
+<!ELEMENT ht:SECTION (%theorystructure;)>
+<!ATTLIST ht:SECTION
+ uri CDATA #REQUIRED>
+
+<!ELEMENT ht:MUTUAL (ht:DEFINITION,ht:DEFINITION+)>
+
+<!-- Theory Items -->
+
+<!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 >