An XML DTD for CL


<!-- A DTD for XML instantiations of the Common Logic language -->

<!--"theory" is taken as the root element, as the DTD can then be applied to 
sets of formulas.-->

<!ELEMENT theory (formula*)>

<!ELEMENT formula (and | or | implies | iff | not | forall | exists | atom)>

<!ELEMENT and (formula*)>

<!ELEMENT or (formula*)>

<!ELEMENT implies (formula)>

<!ELEMENT iff (formula)>

<!ELEMENT not (formula)>

<!ELEMENT forall (varlist, formula)>

<!ELEMENT exists (varlist, varlist*, formula)>

<!ELEMENT atom ((con | var | fnterm), (con | var | fnterm | seqvar)*)>

<!ELEMENT fnterm ((con | var | fnterm), (con | var | fnterm | seqvar)*)>

<!ELEMENT varlist (var | seqvar | sortvar)*>

<!ELEMENT sortvar (var, con)>

<!ELEMENT con (#PCDATA)>

<!ELEMENT var (#PCDATA)>

<!ELEMENT seqvar (#PCDATA)>