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 TPTPLexer extends BufferedIterator[TPTPLexerToken]

A token stream of leo.modules.input.TPTPParser.TPTPLexer.TPTPLexerTokens that represents a TPTP input.

Linear Supertypes
BufferedIterator[TPTPLexerToken], Iterator[TPTPLexerToken], IterableOnceOps[TPTPLexerToken, Iterator, Iterator[TPTPLexerToken]], IterableOnce[TPTPLexerToken], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TPTPLexer
  2. BufferedIterator
  3. Iterator
  4. IterableOnceOps
  5. IterableOnce
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new TPTPLexer(input: Source)

    input

    The Source underlying the token stream

Type Members

  1. class GroupedIterator[B >: A] extends AbstractIterator[Seq[B]]
    Definition Classes
    Iterator

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ++[B >: TPTPLexerToken](xs: => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator
    Annotations
    @inline()
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def addString(b: StringBuilder): b.type
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  6. final def addString(b: StringBuilder, sep: String): b.type
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  7. def addString(b: StringBuilder, start: String, sep: String, end: String): b.type
    Definition Classes
    IterableOnceOps
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def buffered: TPTPLexer.this.type
    Definition Classes
    BufferedIterator → Iterator
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  11. def collect[B](pf: PartialFunction[TPTPLexerToken, B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  12. def collectFirst[B](pf: PartialFunction[TPTPLexerToken, B]): Option[B]
    Definition Classes
    IterableOnceOps
  13. def concat[B >: TPTPLexerToken](xs: => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator
  14. def contains(elem: Any): Boolean
    Definition Classes
    Iterator
  15. def copyToArray[B >: TPTPLexerToken](xs: Array[B], start: Int, len: Int): Int
    Definition Classes
    IterableOnceOps
  16. def copyToArray[B >: TPTPLexerToken](xs: Array[B], start: Int): Int
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  17. def copyToArray[B >: TPTPLexerToken](xs: Array[B]): Int
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  18. def corresponds[B](that: IterableOnce[B])(p: (TPTPLexerToken, B) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  19. def count(p: (TPTPLexerToken) => Boolean): Int
    Definition Classes
    IterableOnceOps
  20. def distinct: Iterator[TPTPLexerToken]
    Definition Classes
    Iterator
  21. def distinctBy[B](f: (TPTPLexerToken) => B): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator
  22. def drop(n: Int): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnceOps
  23. def dropWhile(p: (TPTPLexerToken) => Boolean): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnceOps
  24. def duplicate: (Iterator[TPTPLexerToken], Iterator[TPTPLexerToken])
    Definition Classes
    Iterator
  25. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  27. def exists(p: (TPTPLexerToken) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  28. def filter(p: (TPTPLexerToken) => Boolean): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnceOps
  29. def filterNot(p: (TPTPLexerToken) => Boolean): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnceOps
  30. def find(p: (TPTPLexerToken) => Boolean): Option[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  31. def flatMap[B](f: (TPTPLexerToken) => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  32. def flatten[B](implicit ev: (TPTPLexerToken) => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  33. def fold[A1 >: TPTPLexerToken](z: A1)(op: (A1, A1) => A1): A1
    Definition Classes
    IterableOnceOps
  34. def foldLeft[B](z: B)(op: (B, TPTPLexerToken) => B): B
    Definition Classes
    IterableOnceOps
  35. def foldRight[B](z: B)(op: (TPTPLexerToken, B) => B): B
    Definition Classes
    IterableOnceOps
  36. def forall(p: (TPTPLexerToken) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  37. def foreach[U](f: (TPTPLexerToken) => U): Unit
    Definition Classes
    IterableOnceOps
  38. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  39. def grouped[B >: TPTPLexerToken](size: Int): GroupedIterator[B]
    Definition Classes
    Iterator
  40. def hasNext: Boolean
    Definition Classes
    TPTPLexer → Iterator
  41. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  42. def head: TPTPLexerToken
    Definition Classes
    TPTPLexer → BufferedIterator
  43. def headOption: Option[TPTPLexerToken]
    Definition Classes
    BufferedIterator
  44. def indexOf[B >: TPTPLexerToken](elem: B, from: Int): Int
    Definition Classes
    Iterator
  45. def indexOf[B >: TPTPLexerToken](elem: B): Int
    Definition Classes
    Iterator
  46. def indexWhere(p: (TPTPLexerToken) => Boolean, from: Int): Int
    Definition Classes
    Iterator
  47. def isEmpty: Boolean
    Definition Classes
    Iterator → IterableOnceOps
    Annotations
    @deprecatedOverriding()
  48. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  49. def isTraversableAgain: Boolean
    Definition Classes
    IterableOnceOps
  50. final def iterator: Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnce
    Annotations
    @inline()
  51. def knownSize: Int
    Definition Classes
    IterableOnce
  52. final def length: Int
    Definition Classes
    Iterator
    Annotations
    @inline()
  53. def map[B](f: (TPTPLexerToken) => B): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  54. def max[B >: TPTPLexerToken](implicit ord: Ordering[B]): TPTPLexerToken
    Definition Classes
    IterableOnceOps
  55. def maxBy[B](f: (TPTPLexerToken) => B)(implicit cmp: Ordering[B]): TPTPLexerToken
    Definition Classes
    IterableOnceOps
  56. def maxByOption[B](f: (TPTPLexerToken) => B)(implicit cmp: Ordering[B]): Option[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  57. def maxOption[B >: TPTPLexerToken](implicit ord: Ordering[B]): Option[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  58. def min[B >: TPTPLexerToken](implicit ord: Ordering[B]): TPTPLexerToken
    Definition Classes
    IterableOnceOps
  59. def minBy[B](f: (TPTPLexerToken) => B)(implicit cmp: Ordering[B]): TPTPLexerToken
    Definition Classes
    IterableOnceOps
  60. def minByOption[B](f: (TPTPLexerToken) => B)(implicit cmp: Ordering[B]): Option[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  61. def minOption[B >: TPTPLexerToken](implicit ord: Ordering[B]): Option[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  62. final def mkString: String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  63. final def mkString(sep: String): String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  64. final def mkString(start: String, sep: String, end: String): String
    Definition Classes
    IterableOnceOps
  65. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  66. def next(): TPTPLexerToken
    Definition Classes
    TPTPLexer → Iterator
  67. def nextOption(): Option[TPTPLexerToken]
    Definition Classes
    Iterator
  68. def nonEmpty: Boolean
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  69. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  70. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  71. def padTo[B >: TPTPLexerToken](len: Int, elem: B): Iterator[B]
    Definition Classes
    Iterator
  72. def partition(p: (TPTPLexerToken) => Boolean): (Iterator[TPTPLexerToken], Iterator[TPTPLexerToken])
    Definition Classes
    Iterator
  73. def patch[B >: TPTPLexerToken](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]
    Definition Classes
    Iterator
  74. def peek(i: Int): TPTPLexerToken
  75. def peek(): TPTPLexerToken
  76. def product[B >: TPTPLexerToken](implicit num: Numeric[B]): B
    Definition Classes
    IterableOnceOps
  77. def reduce[B >: TPTPLexerToken](op: (B, B) => B): B
    Definition Classes
    IterableOnceOps
  78. def reduceLeft[B >: TPTPLexerToken](op: (B, TPTPLexerToken) => B): B
    Definition Classes
    IterableOnceOps
  79. def reduceLeftOption[B >: TPTPLexerToken](op: (B, TPTPLexerToken) => B): Option[B]
    Definition Classes
    IterableOnceOps
  80. def reduceOption[B >: TPTPLexerToken](op: (B, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  81. def reduceRight[B >: TPTPLexerToken](op: (TPTPLexerToken, B) => B): B
    Definition Classes
    IterableOnceOps
  82. def reduceRightOption[B >: TPTPLexerToken](op: (TPTPLexerToken, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  83. def reversed: Iterable[TPTPLexerToken]
    Attributes
    protected
    Definition Classes
    IterableOnceOps
  84. def safePeek(i: Int): TPTPLexerToken
  85. def sameElements[B >: TPTPLexerToken](that: IterableOnce[B]): Boolean
    Definition Classes
    Iterator
  86. def scanLeft[B](z: B)(op: (B, TPTPLexerToken) => B): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  87. def size: Int
    Definition Classes
    IterableOnceOps
  88. def slice(from: Int, until: Int): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnceOps
  89. def sliceIterator(from: Int, until: Int): Iterator[TPTPLexerToken]
    Attributes
    protected
    Definition Classes
    Iterator
  90. def sliding[B >: TPTPLexerToken](size: Int, step: Int): GroupedIterator[B]
    Definition Classes
    Iterator
  91. def span(p: (TPTPLexerToken) => Boolean): (Iterator[TPTPLexerToken], Iterator[TPTPLexerToken])
    Definition Classes
    Iterator → IterableOnceOps
  92. def splitAt(n: Int): (Iterator[TPTPLexerToken], Iterator[TPTPLexerToken])
    Definition Classes
    IterableOnceOps
  93. def stepper[S <: Stepper[_]](implicit shape: StepperShape[TPTPLexerToken, S]): S
    Definition Classes
    IterableOnce
  94. def sum[B >: TPTPLexerToken](implicit num: Numeric[B]): B
    Definition Classes
    IterableOnceOps
  95. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  96. def take(n: Int): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnceOps
  97. def takeWhile(p: (TPTPLexerToken) => Boolean): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnceOps
  98. def tapEach[U](f: (TPTPLexerToken) => U): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator → IterableOnceOps
  99. def to[C1](factory: Factory[TPTPLexerToken, C1]): C1
    Definition Classes
    IterableOnceOps
  100. def toArray[B >: TPTPLexerToken](implicit arg0: ClassTag[B]): Array[B]
    Definition Classes
    IterableOnceOps
  101. final def toBuffer[B >: TPTPLexerToken]: Buffer[B]
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  102. def toIndexedSeq: IndexedSeq[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  103. def toList: List[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  104. def toMap[K, V](implicit ev: <:<[TPTPLexerToken, (K, V)]): Map[K, V]
    Definition Classes
    IterableOnceOps
  105. def toSeq: Seq[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  106. def toSet[B >: TPTPLexerToken]: Set[B]
    Definition Classes
    IterableOnceOps
  107. def toString(): String
    Definition Classes
    Iterator → AnyRef → Any
  108. def toVector: Vector[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
  109. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  110. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  111. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  112. def withFilter(p: (TPTPLexerToken) => Boolean): Iterator[TPTPLexerToken]
    Definition Classes
    Iterator
  113. def zip[B](that: IterableOnce[B]): Iterator[(TPTPLexerToken, B)]
    Definition Classes
    Iterator
  114. def zipAll[A1 >: TPTPLexerToken, B](that: IterableOnce[B], thisElem: A1, thatElem: B): Iterator[(A1, B)]
    Definition Classes
    Iterator
  115. def zipWithIndex: Iterator[(TPTPLexerToken, Int)]
    Definition Classes
    Iterator → IterableOnceOps

Deprecated Value Members

  1. final def /:[B](z: B)(op: (B, TPTPLexerToken) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldLeft instead of /:

  2. final def :\[B](z: B)(op: (TPTPLexerToken, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldRight instead of :\

  3. def aggregate[B](z: => B)(seqop: (B, TPTPLexerToken) => B, combop: (B, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) aggregate is not relevant for sequential collections. Use foldLeft(z)(seqop) instead.

  4. final def copyToBuffer[B >: TPTPLexerToken](dest: Buffer[B]): Unit
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use dest ++= coll instead

  5. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated
  6. final def hasDefiniteSize: Boolean
    Definition Classes
    Iterator → IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) hasDefiniteSize on Iterator is the same as isEmpty

  7. def scanRight[B](z: B)(op: (TPTPLexerToken, B) => B): Iterator[B]
    Definition Classes
    Iterator
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Call scanRight on an Iterable instead.

  8. def seq: TPTPLexer.this.type
    Definition Classes
    Iterator
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Iterator.seq always returns the iterator itself

  9. final def toIterator: Iterator[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .iterator instead of .toIterator

  10. final def toStream: Stream[TPTPLexerToken]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .to(LazyList) instead of .toStream

Inherited from BufferedIterator[TPTPLexerToken]

Inherited from Iterator[TPTPLexerToken]

Inherited from IterableOnceOps[TPTPLexerToken, Iterator, Iterator[TPTPLexerToken]]

Inherited from IterableOnce[TPTPLexerToken]

Inherited from AnyRef

Inherited from Any

Ungrouped