o

gapt.expr.formula.fol

undoHol2Fol

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

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: 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.

  6. 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

  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  11. def getSignature(e: Expr, csig: Map[String, Set[Const]], vsig: Map[String, Set[Var]]): (Map[String, Set[Const]], Map[String, Set[Var]])
  12. def getSignature(fs: List[Expr]): Signature
  13. def getSignature[F, T <: SequentProof[F, T]](proof: SequentProof[F, T], extract: (F) => Expr): Signature
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. val ivy_varname: Regex
  17. val logger: Logger
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped