Packages

  • package root

    This is the documentation for the Scala TPTP parser used, e.g., by the Leo-III prover.

    This is the documentation for the Scala TPTP parser used, e.g., by the Leo-III prover.

    Package structure

    The leo package contains two sub-packages as follows:

    Usage (in short)

    The leo.modules.input.TPTPParser offers several parsing methods:

    Exemplary use case

    import leo.modules.input.{TPTPParser => Parser}
    import TPTPParser.TPTPParseException
    import leo.datastructures.TPTP.THF
    
    try {
     val result = Parser.problem(io.Source.fromFile("/path/to/file"))
     println(s"Parsed ${result.formulas.size} formulae and ${result.includes.size} include statements.")
     // ...
     val annotatedFormula = Parser.annotatedTHF("thf(f, axiom, ![X:$i]: (p @ X)).")
     println(s"${annotatedFormula.name} is an ${annotatedFormula.role}.")
     // ...
     val formula = Parser.thf("![X:$i]: (p @ X)")
     formula match {
       case THF.FunctionTerm(f, args) => // ...
       case THF.QuantifiedFormula(quantifier, variableList, body) => // ...
       case THF.Variable(name) => // ...
       case THF.UnaryFormula(connective, body) => // ...
       case THF.BinaryFormula(connective, left, right) => // ...
       case THF.Tuple(elements) => // ...
       case THF.ConditionalTerm(condition, thn, els) => // ...
       case THF.LetTerm(typing, binding, body) => // ...
       case THF.DefinedTH1ConstantTerm(constant) => // ...
       case THF.ConnectiveTerm(conn) => // ...
       case THF.DistinctObject(name) => // ...
       case THF.NumberTerm(value) => // ...
     }
     // ...
    } catch {
     case e: TPTPParseException => println(s"Parse error at line ${e.line}:${e.offset}: ${e.getMessage}")
    }
    Definition Classes
    root
  • package leo
    Definition Classes
    root
  • package modules
    Definition Classes
    leo
  • package input
    Definition Classes
    modules
  • object TPTPParser

    Parser for TPTP-based input languages for automated theorem proving, including ...

    Parser for TPTP-based input languages for automated theorem proving, including ...

    • THF (TH0/TH1): Monomorphic and polymorphic higher-order logic,
    • TFF (TF0/TF1): Monomorphic and polymorphic typed first-order logic, including extended TFF (TFX),
    • FOF: Untyped first-order logic,
    • TCF: Typed clause-normal form,
    • CNF: (Untyped) clause-normal form, and
    • TPI: TPTP Process Instruction language.

    Both annotated as well as "plain" (meant here: not annotated) formulas can be read. An annotated formula (here, as an example: annotated THF formula) is of form thf(name, role, formula, annotations) whereas the plain formula is the formula part of this instance.

    The parser translated plain formulas into an abstract syntax tree defined at datastructures.TPTP, resp. its corresponding specializations for the respective language dialect:

    Annotated formulas are additionally wrapped in an datastructures.TPTP.AnnotatedFormula object as follows:

    Whole TPTP files are represented by datastructures.TPTP.Problem objects. Note that include directives etc. are parsed as-is and are represented by an datastructures.TPTP.Include entry in the datastructures.TPTP.Problem representation. In particular, they are not parsed recursively. This has to be implemented externally (e.g., by recursive calls to the parser).

    Parsing errors will cause TPTPParser.TPTPParseExceptions.

    Definition Classes
    input
    Since

    January 2021

    Note

    For the original implementation of this parser v7.4.0.3 of the TPTP syntax was used, but it's being updated constantly to keep track with TPTP language updates.

    See also

    Original TPTP syntax definition at http://tptp.org/TPTP/SyntaxBNF.html.

  • TPTPLexer
  • TPTPParseException
  • TPTPParser

final class TPTPParser extends AnyRef

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TPTPParser
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new TPTPParser(tokens: TPTPLexer)

Type Members

  1. type Token = (TPTPLexerTokenType, String, LineNo, Offset)
  2. type TokenType = TPTPLexer.TPTPLexerTokenType.Value

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def EOF(): Unit
  5. def annotatedCNF(): CNFAnnotated

    Parse an annotated CNF formula.

    Parse an annotated CNF formula.

    returns

    Representation of the annotated formula as CNFAnnotated

    Exceptions thrown

    TPTPParseException if the underlying input does not represent a valid annotated CNF formula

  6. def annotatedFOF(): FOFAnnotated

    Parse an annotated FOF formula.

    Parse an annotated FOF formula.

    returns

    Representation of the annotated formula as FOFAnnotated

    Exceptions thrown

    TPTPParseException if the underlying input does not represent a valid annotated FOF formula

  7. def annotatedFormula(): AnnotatedFormula
  8. def annotatedTCF(): TCFAnnotated

    Parse an annotated TCF formula.

    Parse an annotated TCF formula.

    returns

    Representation of the annotated formula as TCFAnnotated

    Exceptions thrown

    TPTPParseException if the underlying input does not represent a valid annotated TCF formula

  9. def annotatedTFF(tfx: Boolean): TFFAnnotated

    Parse an annotated TFF formula.

    Parse an annotated TFF formula.

    tfx

    If set to true, accept TFX formulas as well (default); otherwise exclude TFX inputs.

    returns

    Representation of the annotated formula as TFFAnnotated

    Exceptions thrown

    TPTPParseException if the underlying input does not represent a valid annotated TFF formula

  10. def annotatedTHF(): THFAnnotated

    Parse an annotated THF formula.

    Parse an annotated THF formula.

    returns

    Representation of the annotated formula as THFAnnotated

    Exceptions thrown

    TPTPParseException if the underlying input does not represent a valid annotated THF formula

  11. def annotatedTPI(): TPIAnnotated

    Parse an annotated TPI formula.

    Parse an annotated TPI formula.

    returns

    Representation of the annotated formula as TPIAnnotated

    Exceptions thrown

    TPTPParseException if the underlying input does not represent a valid annotated TPI formula

  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  14. def cnfLogicFormula(): Formula
  15. def comment(): Comment
  16. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  18. def fofLogicFormula(): Formula
  19. def fofTerm(): Term
  20. def fofUnitFormula(): Formula
  21. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  22. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  23. def include(): (String, Seq[String])
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  28. def role(): String
  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. def tcfFormula(): Statement
  31. def tcfLogicFormula(): Formula
  32. def tffFormula(tfx: Boolean): Statement
  33. def tffLogicFormula(tfx: Boolean): Formula
  34. def tffTerm(tfx: Boolean): Term
  35. def thfLogicFormula(): Formula
  36. def toString(): String
    Definition Classes
    AnyRef → Any
  37. def tptpFile(): Problem
  38. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  40. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped