object undoHol2Fol
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
.
- 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: Map[String, Expr], 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: Map[String, Expr]): 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
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): 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[_]
- 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
-
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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
This is the API documentation for GAPT.
The main package is at.logic.gapt.