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.
The interface for an unification algorithm of finitary type, i.e.
The interface for an unification algorithm of finitary type, i.e. one where the complete set of most general unifiers is finite.
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:
Make sure you need all of these tricks. To only replace abstraction subterms, use replaceAbstractions.
Replace lambda-abstractions by constants.
Replace lambda-abstractions by constants.
Each abstraction in an at.logic.gapt.proofs.HOLSequent is replaced by a separate constant symbol; the used constants are returned in a Map.
Replaces the constants introduced by replaceAbstractions with the original lambda-abstractions.
Matcher for Deltan A FOLFormula f will match Delta(k) if it is both Sigmak and Pik, but not Sigmak-1 or Pik-1.
Unsafely extracts the function arguments from a term.
Unsafely extracts the function arguments from a term. Fails if the term is not a function.
Unsafely extracts the function name from a term.
Unsafely extracts the function name from a term. Fails if the term is not a function.
Generation of first-order subterms (note that this notion differs from lambda subterms).
Matcher for Pin A FOLFormula f will match Pi(k) if f is Pik, but not Pik-1.
Matcher for Sigman A FOLFormula f will match Sigma(k) if f is Sigmak, but not Sigmak-1.
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.
This is implements some heuristics to convert a fol formula obtained by at.logic.gapt.expr.fol.replaceAbstractions and at.logic.gapt.expr.fol.reduceHolToFol back to its original signature.
This is implements some heuristics to convert a fol formula obtained by at.logic.gapt.expr.fol.replaceAbstractions and at.logic.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 use undoHol2Fol.backtranslate.