Class TPTPParser


  • public class TPTPParser
    extends net.sf.tweety.commons.Parser<FolBeliefSet,​FolFormula>
    This class implements a parser for the TPTP syntax that parses single fol formulas and knowledge bases (TPTP problem files or axiom files). TPTP files consist of any of the following in any order and separated by newlines:
    • formulas
    • comments, i.e. lines starting with "%"
    • includes of other TPTP files, i.e. lines like "include('path/to/file',[optional,formula,names])"
    The syntax for first-order logic formulas is 'fof(name,role,formula,source,[useful_info]).':
    • name is the name of the formula
    • role is anything out of {axiom, hypothesis, definition, assumption, lemma, theorem, corollary conjecture, negated_conjecture}
    • formula is the actual formula
    • The other arguments are optional and ignored by this parser.
    Supported operators and pre-defined predicates in formulas:
    Negation: ~ formula
    Conjunction: formula & formula
    Disjunction: formula | formula
    Implication: formula => formula
    formula <= formula
    Equivalence: formula <=> formula
    Universal quantifier: ! [Variable1,Variable2,...] : (formula)
    Existential quantifier: ? [Variable1,Variable2,...] : (formula)
    Tautology: $true
    Contradiction: $false
    Equality: = (TODO soon to be added)
    Inequality: != (TODO soon to be added)
    Author:
    Anna Gessler
    • Constructor Detail

      • TPTPParser

        public TPTPParser()
    • Method Detail

      • setSignature

        public void setSignature​(FolSignature signature)
        Sets the signature for this parser.
        Parameters:
        signature - a fol signature.
      • getSignature

        public FolSignature getSignature()
        Returns the signature of this parser.
        Returns:
        the signature of this parser.
      • setFormulaNames

        public void setFormulaNames​(String formulaNames)
        Set the regular expression that restricts which formulas will be parsed. Formulas with names that do not match the expression will not be parsed.
        Parameters:
        formulaNames - the regex for formula names
      • setFormulaRoles

        public void setFormulaRoles​(String formulaRoles)
        Set the regular expression that restricts which formulas will be parsed. Formulas with roles that do not match the expression will not be parsed.
        Parameters:
        formulaRoles - the regex for formula roles
      • resetFormulaRoles

        public void resetFormulaRoles()
        Reset the regular expression that restricts which formulas will be parsed to the default value, meaning formulas of any TPTP roles will be parsed. Possible TPTP roles are axiom, hypothesis, definition, assumption, lemma, theorem, corollary, conjecture and negated_conjecture.
      • resetFormulaNames

        public void resetFormulaNames()
        Reset the regular expression that restricts which formulas will be parsed to the default value, meaning formulas of all names will be parsed.
      • setIncludePath

        public void setIncludePath​(String includePath)
        Set the location of included files.
        Parameters:
        includePath - path that will be prepended to the paths of all included problem files.