object undoHol2Fol
This is implements some heuristics to convert a fol formula obtained by gapt.expr.formula.fol.replaceAbstractions and gapt.expr.formula.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
.
- Source
- hol2fol_heuristics.scala
- Alphabetic
- By Inheritance
- undoHol2Fol
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##(): Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def backtranslate(e: Expr, sig_vars: Map[String, List[Var]], sig_consts: Map[String, List[Const]], abssymbol_map: Hol2FolDefinitions, expected_type: Option[Ty]): Expr
We do some dirty stuff in here to translate a prover9 term back to the richer type signature of hol proofs, undoing replace abstractions at the same time.
- def backtranslate(e: Expr, sig_vars: Map[String, List[Var]], sig_consts: Map[String, List[Const]], abssymbol_map: Hol2FolDefinitions): Formula
Translate the fol formula e to a hol formula over the given signature for constants and variables.
Translate the fol formula e to a hol formula over the given signature for constants and variables.
- e
the fol formula.
- sig_vars
a mapping fol name to hol var with appropriate type
- sig_consts
a mapping fol name to hol const with appropriate type
- abssymbol_map
a mapping fol constant name to a lambda expression (obtained by replaceAbstractions)
- returns
the changed formula
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getSignature(e: Expr, csig: Map[String, Set[Const]], vsig: Map[String, Set[Var]]): (Map[String, Set[Const]], Map[String, Set[Var]])
- def getSignature(fs: List[Expr]): Signature
- def getSignature[F, T <: SequentProof[F, T]](proof: SequentProof[F, T], extract: (F) => Expr): Signature
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val ivy_varname: Regex
- val logger: Logger
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
This is the API documentation for GAPT.
The main package is gapt.