o

at.logic.gapt.expr.fol

undoHol2Fol

object undoHol2Fol extends Logger

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
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. undoHol2Fol
  2. Logger
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Signature = (Map[String, Set[Const]], Map[String, Set[Var]])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def backtranslate(e: LambdaExpression, sig_vars: Map[String, List[Var]], sig_consts: Map[String, List[Const]], abssymbol_map: Map[String, LambdaExpression], expected_type: Option[Ty]): LambdaExpression

    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.

  6. def backtranslate(e: LambdaExpression, sig_vars: Map[String, List[Var]], sig_consts: Map[String, List[Const]], abssymbol_map: Map[String, LambdaExpression]): HOLFormula

    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

  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def debug(msg: ⇒ Any): Unit
    Attributes
    protected
    Definition Classes
    Logger
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  11. def error(msg: ⇒ Any, e: Throwable): Nothing
    Attributes
    protected
    Definition Classes
    Logger
  12. def error(msg: ⇒ Any): Unit
    Attributes
    protected
    Definition Classes
    Logger
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  15. def getSignature(e: LambdaExpression, csig: Map[String, Set[Const]], vsig: Map[String, Set[Var]]): (Map[String, Set[Const]], Map[String, Set[Var]])
  16. def getSignature(fs: List[LambdaExpression]): Signature
  17. def getSignature[F, T <: SequentProof[F, T]](proof: SequentProof[F, T], extract: (F) ⇒ LambdaExpression): Signature
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  19. def info(msg: ⇒ Any): Unit
    Attributes
    protected
    Definition Classes
    Logger
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. val ivy_varname: Regex
  22. def makeVerbose(): Unit
    Definition Classes
    Logger
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. def trace(msg: ⇒ Any): Unit
    Attributes
    protected
    Definition Classes
    Logger
  29. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def warn(msg: ⇒ Any, e: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logger
  33. def warn(msg: ⇒ Any): Unit
    Attributes
    protected
    Definition Classes
    Logger

Inherited from Logger

Inherited from AnyRef

Inherited from Any

Ungrouped