You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.0 KiB
97 lines
2.0 KiB
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
|
|
ns="http://relaxng.org/ns/proofsystem">
|
|
|
|
<start>
|
|
<element name="proofSystem">
|
|
<oneOrMore>
|
|
<element name="rule">
|
|
<attribute name="name"/>
|
|
<zeroOrMore>
|
|
<ref name="antecedent"/>
|
|
</zeroOrMore>
|
|
<ref name="consequent"/>
|
|
</element>
|
|
</oneOrMore>
|
|
</element>
|
|
</start>
|
|
|
|
<define name="formula">
|
|
<element name="formula">
|
|
<choice>
|
|
<ref name="judgement"/>
|
|
<ref name="expr"/>
|
|
</choice>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="consequent">
|
|
<ref name="judgement"/>
|
|
</define>
|
|
|
|
<define name="antecedent">
|
|
<ref name="judgement"/>
|
|
</define>
|
|
|
|
<define name="judgement">
|
|
<choice>
|
|
<element name="judgement">
|
|
<attribute name="name"/>
|
|
<zeroOrMore>
|
|
<ref name="expr"/>
|
|
</zeroOrMore>
|
|
</element>
|
|
<element name="not">
|
|
<ref name="judgement"/>
|
|
</element>
|
|
</choice>
|
|
</define>
|
|
|
|
<define name="expr">
|
|
<choice>
|
|
<element name="var">
|
|
<attribute name="range"/>
|
|
<optional>
|
|
<attribute name="index"/>
|
|
</optional>
|
|
<optional>
|
|
<attribute name="sub"/>
|
|
</optional>
|
|
</element>
|
|
<element name="function">
|
|
<attribute name="name"/>
|
|
<zeroOrMore>
|
|
<ref name="expr"/>
|
|
</zeroOrMore>
|
|
</element>
|
|
<element name="element">
|
|
<attribute name="name"/>
|
|
<zeroOrMore>
|
|
<element name="attribute">
|
|
<attribute name="name"/>
|
|
<ref name="expr"/>
|
|
</element>
|
|
</zeroOrMore>
|
|
<optional>
|
|
<ref name="context"/>
|
|
</optional>
|
|
<zeroOrMore>
|
|
<ref name="expr"/>
|
|
</zeroOrMore>
|
|
</element>
|
|
<element name="group">
|
|
<zeroOrMore>
|
|
<ref name="expr"/>
|
|
</zeroOrMore>
|
|
</element>
|
|
<element name="string"><text/></element>
|
|
</choice>
|
|
</define>
|
|
|
|
<define name="context">
|
|
<element name="context">
|
|
<ref name="expr"/>
|
|
</element>
|
|
</define>
|
|
|
|
</grammar>
|