]> matita.cs.unibo.it Git - helm.git/commitdiff
Branch V7_3_new_exportation closed.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Mon, 19 Jan 2004 11:28:09 +0000 (11:28 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Mon, 19 Jan 2004 11:28:09 +0000 (11:28 +0000)
helm/dtd/cic.dtd
helm/dtd/cicobject.dtd
helm/dtd/cictypes.dtd

index 47280b845aa191e8359c5ae42b109340679dfc98..97e6cd6b1239cf29dfdc9a185d5dc32eb05419e2 100644 (file)
@@ -1,46 +1,15 @@
 <?xml encoding="ISO-8859-1"?>
 
-<!-- Copyright (C) 2000, HELM Team                                     -->
-<!--                                                                   -->
-<!-- This file is part of HELM, an Hypertextual, Electronic            -->
-<!-- Library of Mathematics, developed at the Computer Science         -->
-<!-- Department, University of Bologna, Italy.                         -->
-<!--                                                                   -->
-<!-- HELM is free software; you can redistribute it and/or             -->
-<!-- modify it under the terms of the GNU General Public License       -->
-<!-- as published by the Free Software Foundation; either version 2    -->
-<!-- of the License, or (at your option) any later version.            -->
-<!--                                                                   -->
-<!-- HELM is distributed in the hope that it will be useful,           -->
-<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of    -->
-<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     -->
-<!-- GNU General Public License for more details.                      -->
-<!--                                                                   -->
-<!-- You should have received a copy of the GNU General Public License -->
-<!-- along with HELM; if not, write to the Free Software               -->
-<!-- Foundation, Inc., 59 Temple Place - Suite 330, Boston,            -->
-<!-- MA  02111-1307, USA.                                              -->
-<!--                                                                   -->
-<!-- For details, see the HELM World-Wide-Web page,                    -->
-<!-- http://cs.unibo.it/helm/.                                         -->
-
-<!--*****************************************************************-->
-<!-- DTD FOR CIC OBJECTS:                                            -->
-<!--  First draft: September 1999, Claudio Sacerdoti Coen            -->
-<!--  Revised: February 3 2000, Claudio Sacerdoti Coen, Irene Schena -->
-<!--  Last Revision: April 4 2000, Claudio Sacerdoti Coen            -->
-<!--  Last Revision: June 19 2000, Claudio Sacerdoti Coen            -->
-<!--  Last Revision: June 20 2000, Claudio Sacerdoti Coen            -->
-<!--*****************************************************************-->
+<!-- DTD FOR CIC OBJECTS: -->
 
 <!-- CIC term declaration -->
 
 <!ENTITY % term '(LAMBDA|CAST|PROD|REL|SORT|APPLY|VAR|META|IMPLICIT|CONST|
-                  LETIN|MUTIND|MUTCONSTRUCT|MUTCASE|FIX|COFIX)'>
+                  LETIN|MUTIND|MUTCONSTRUCT|MUTCASE|FIX|COFIX|instantiate)'>
 
 <!-- CIC sorts -->
 
-<!ENTITY % sort '(Prop|Set|Type)'>
+<!ENTITY % sort '(Prop|Set|Type|CProp)'>
 
 <!-- CIC sequents -->
 
 
 <!-- CIC objects: -->
 
-<!ELEMENT Definition (body, type)>
-<!ATTLIST Definition
+<!-- CSC: so far params is equal to the one of the only body.  -->
+<!ELEMENT ConstantType %term;>
+<!ATTLIST ConstantType
           name       CDATA      #REQUIRED
           params     CDATA      #REQUIRED
-          paramMode  (POSSIBLE) #IMPLIED
           id         ID         #REQUIRED>
 
-<!ELEMENT Axiom (type)>
-<!ATTLIST Axiom
-          name   CDATA #REQUIRED
-          params CDATA #REQUIRED
-          id     ID    #REQUIRED>
+<!ELEMENT ConstantBody %term;>
+<!ATTLIST ConstantBody
+          for        CDATA      #REQUIRED
+          params     CDATA      #REQUIRED
+          id         ID         #REQUIRED>
 
-<!ELEMENT CurrentProof (Conjecture*,body,type)>
+<!ELEMENT CurrentProof (Conjecture*,body)>
 <!ATTLIST CurrentProof
-          name CDATA #REQUIRED
-          id   ID    #REQUIRED>
+          of         CDATA      #REQUIRED
+          id         ID         #REQUIRED>
 
 <!ELEMENT InductiveDefinition (InductiveType+)>
 <!ATTLIST InductiveDefinition
@@ -74,8 +43,9 @@
 
 <!ELEMENT Variable (body?,type)>
 <!ATTLIST Variable
-          name CDATA #REQUIRED
-          id   ID    #REQUIRED>
+          name   CDATA #REQUIRED
+          params CDATA #REQUIRED
+          id     ID    #REQUIRED>
 
 <!ELEMENT Sequent %sequent;>
 <!ATTLIST Sequent
@@ -87,7 +57,8 @@
 <!ELEMENT InductiveType (arity,Constructor*)>
 <!ATTLIST InductiveType
           name      CDATA        #REQUIRED
-          inductive (true|false) #REQUIRED>
+          inductive (true|false) #REQUIRED
+          id        ID           #REQUIRED>
 
 <!ELEMENT Conjecture %sequent;>
 <!ATTLIST Conjecture
 
 <!-- CIC terms: -->
 
-<!ELEMENT LAMBDA (source,target)>
+<!ELEMENT LAMBDA (decl*,target)>
 <!ATTLIST LAMBDA
-          id   ID     #REQUIRED
           sort %sort; #REQUIRED>
 
-<!ELEMENT LETIN (term,letintarget)>
+<!ELEMENT LETIN (def*,target)>
 <!ATTLIST LETIN
-          id   ID     #REQUIRED
           sort %sort; #REQUIRED>
 
-<!ELEMENT PROD (source,target)>
+<!ELEMENT PROD (decl*,target)>
 <!ATTLIST PROD
-          id   ID     #REQUIRED
           type %sort; #REQUIRED>
 
 <!ELEMENT CAST (term,type)>
           value  NMTOKEN #REQUIRED
           binder CDATA   #REQUIRED
           id     ID      #REQUIRED
+          idref  IDREF   #REQUIRED
           sort   %sort;  #REQUIRED>
 
 <!ELEMENT SORT EMPTY>
 
 <!ELEMENT VAR EMPTY>
 <!ATTLIST VAR
-          relUri CDATA  #REQUIRED
-          id     ID     #REQUIRED
-          sort   %sort; #REQUIRED>
+          uri  CDATA  #REQUIRED
+          id   ID     #REQUIRED
+          sort %sort; #REQUIRED>
 
 <!-- The substitutions are ordered by increasing DeBrujin  -->
 <!-- index. An empty substitution means that that index is -->
 <!ELEMENT FixFunction (type,body)>
 <!ATTLIST FixFunction
           name     CDATA   #REQUIRED
+          id       ID      #REQUIRED
           recIndex NMTOKEN #REQUIRED>
 
 <!ELEMENT CofixFunction (type,body)>
 <!ATTLIST CofixFunction
+          id       ID      #REQUIRED
           name     CDATA   #REQUIRED>
 
 <!ELEMENT substitution ((%term;)?)>
 
+<!-- Explicit named substitutions: -->
+
+<!ELEMENT instantiate ((CONST|MUTIND|MUTCONSTRUCT|VAR),arg+)>
+<!ATTLIST instantiate
+          id ID #IMPLIED>
+
 <!-- Sintactic sugar for CIC terms and for CIC objects: -->
 
-<!ELEMENT source %term;>
+<!ELEMENT arg %term;>
+<!ATTLIST arg
+          relUri CDATA #REQUIRED>
 
-<!ELEMENT target %term;>
-<!ATTLIST target
-          binder CDATA #IMPLIED>
+<!ELEMENT decl %term;>
+<!ATTLIST decl
+          id     ID     #REQUIRED
+          type   %sort; #REQUIRED
+          binder CDATA  #IMPLIED>
+          
+<!ELEMENT def %term;>
+<!ATTLIST def
+          id     ID     #REQUIRED
+          sort   %sort; #REQUIRED
+          binder CDATA  #IMPLIED>
 
-<!ELEMENT letintarget %term;>
-<!ATTLIST letintarget
-          binder CDATA #REQUIRED>
+<!ELEMENT target %term;>
 
 <!ELEMENT term %term;>
 
index d78251c1d99b25c2dc1ef7745aa6ee66a3cd783f..10f001df645f8e0ea6bc1c6e585a6ad3f15f96c5 100644 (file)
@@ -90,7 +90,9 @@
 <!ATTLIST Param
           name CDATA #REQUIRED>
 
-<!ELEMENT Params (#PCDATA)*>
+<!ELEMENT Params (param)*>
+
+<!ELEMENT param %term;>
 
 <!ELEMENT Decl %term;>
 <!ATTLIST Decl
index 6fd4a60f68e6f274ff8fdb1d146ceb914167ff2b..c5e1996581857ea28ced2465cdaef2ce6d648a2c 100644 (file)
 <!ATTLIST InnerTypes
           of  CDATA      #REQUIRED>
 
-<!-- synthesized type, expected type -->
-<!-- CSC: some syntactic sugar would help -->
-<!ELEMENT TYPE (%term;,%term;?)>
+<!ELEMENT TYPE (synthesized,expected?)>
 <!ATTLIST TYPE
           of  NMTOKEN #REQUIRED>
+
+<!ELEMENT synthesized %term;>
+
+<!ELEMENT expected %term;>