XML Sucks (for this application)

XML

TPTP

<scl:formula  xmlns:scl="http://scluripart">
  <scl:quantifier scl:name="exists" 
  scl:variable="x">
     <scl:connective scl:name="implies">
        <scl:predicate scl:name="p">
            <scl:term scl:name="x"/>
            <scl:term scl:name="1"/>
        </scl:predicate>  
        <scl:predicate scl:name="equal">
            <scl:term scl:name="x"/>
            <scl:term scl:name="1"/>
        </scl:predicate>        
     </scl:connective>                      
  </scl:quantifier>
</scl:formula> 
fof(the_name,axiom,
    ? [X] :
      ( p(X,1)
     => equal(X,1) ) ). 

Pros

  • Free parser with every language
  • Parsers build you a data structure
  • Extensible, without affecting tools

Pros

  • Human readable, writable, editable
  • Focussed, but extensible
  • Low storage overhead

Cons

  • Requires special tools to read and write
    • Cannot explicitly examine and edit
    • Tools hide bugs
    • Tools are not robust to bugs
  • High storage overhead (without compression)
  • Not focussed on logic - too generic
    • No semantic error checking
    • Non-specialized data structure

Cons

  • Write your own parser
  • Write your own printer
  • Build your own data structure
  • Too verbose (for some)