package fol
- Alphabetic
- Public
- All
Type Members
- class Counter extends AnyRef
- trait CountingFormulas extends AnyRef
-
case class
FOLPosition(list: List[Int]) extends Product with Serializable
Positions are given as lists of Integers.
Positions are given as lists of Integers. The empty list denotes the current expression itself. A list starting with k denotes a subexpression in the kth argument of the current expression.
- list
The list describing the position.
- class TseitinCNF extends AnyRef
-
class
reduceHolToFol extends AnyRef
Creates a FOL formula from a HOL formula, but applies transformations which do _not_ preserve validity! Transformations applied:
Creates a FOL formula from a HOL formula, but applies transformations which do _not_ preserve validity! Transformations applied:
- Replace all subterms (\x.t[v]) by a function q_n(v). The scope parameter is needed to pass existing term-constant mappings.
- Change the type of constants and variables s.t. they are first order (i.e. Const("c", To->Ti) is mapped to FOLConst("c",Ti)
- Logical operators inside the term structure are replaced by first order terms
- Note
Make sure you need all of these tricks. To only replace abstraction subterms, use replaceAbstractions.
-
class
replaceAbstractions extends AnyRef
Replace lambda-abstractions by constants.
Replace lambda-abstractions by constants.
Each abstraction in an gapt.proofs.HOLSequent is replaced by a separate constant symbol; the used constants are returned in a Map.
-
class
undoReplaceAbstractions extends AnyRef
Replaces the constants introduced by replaceAbstractions with the original lambda-abstractions.
Value Members
- object BinaryConnective
-
object
Delta
Matcher for Deltan A FOLFormula f will match Delta(k) if it is both Sigmak and Pik, but not Sigmak-1 or Pik-1.
-
object
FOLFunctionArgs
Unsafely extracts the function arguments from a term.
Unsafely extracts the function arguments from a term. Fails if the term is not a function.
-
object
FOLFunctionName
Unsafely extracts the function name from a term.
Unsafely extracts the function name from a term. Fails if the term is not a function.
- object FOLPosition extends Serializable
- object Numeral
-
object
Pi
Matcher for Pin A FOLFormula f will match Pi(k) if f is Pik, but not Pik-1.
-
object
Sigma
Matcher for Sigman A FOLFormula f will match Sigma(k) if f is Sigmak, but not Sigmak-1.
- object TseitinCNF
- object Utils
-
object
changeTypeIn
Introducing abstractions and converting to fol changes more complex types to fol compatible ones.
Introducing abstractions and converting to fol changes more complex types to fol compatible ones. With changeTypeIn you can change them back.
-
object
folSubTerms
Generation of first-order subterms (note that this notion differs from lambda subterms).
- object folTermSize
- object getArityOfConstants
- object isFOLFunction
- object isFOLPrenexPi1
- object isFOLPrenexSigma1
- object naive extends CountingFormulas
- object natMaker
- object reduceHolToFol extends reduceHolToFol
- object replaceAbstractions extends replaceAbstractions
- object thresholds extends CountingFormulas
-
object
undoHol2Fol
This is implements some heuristics to convert a fol formula obtained by gapt.expr.fol.replaceAbstractions and gapt.expr.fol.reduceHolToFol back to its original signature.
This is implements some heuristics to convert a fol formula obtained by gapt.expr.fol.replaceAbstractions and gapt.expr.fol.reduceHolToFol back to its original signature. Sometimes, types have to be guessed and the code is poorly tested, so it is unclear how general it is. It works (and is necessary) during the acnf creation of the n-tape proof.
To extract a signature, use the
undoHol2Fol.getSignature
, to to the back translation useundoHol2Fol.backtranslate
. - object undoReplaceAbstractions extends undoReplaceAbstractions
This is the API documentation for GAPT.
The main package is gapt.