c

at.logic.gapt.proofs.expansion

ETDefinedAtom

case class ETDefinedAtom(atom: HOLAtom, polarity: Polarity, definedExpr: LambdaExpression) extends ExpansionTree with Product with Serializable

A tree whose deep formula is an atom, and whose shallow formula is the definitional expansion of the atom.

This tree is used as an intermediate data structure during proof import from clausal provers. During clausification, it is often advantageous to abbreviate subformulas by fresh atoms. (This is necessary for polynomial-time clausification.) These subformula abbreviations are then translated into expansion trees using defined atoms and extra axioms. If we replace a subformula φ(x,y) by the atom D(x,y), then we have an ETDefinedAtom(D(x,y), ..., λxλy φ(x,y)) as an expansion of the subformula, as well as expansions of the extra axiom ∀x∀y(D(x,y) <-> φ(x,y)).

Another way to view defined atoms is the extracted expansions of non-atomic logical axioms in LK. Consider a proof in LK of φ:-φ that consists of just LogicalAxiom(φ). Instead of first performing an atomic expansion, we could directly extract an expansion proof with defined atoms: ETDefinedAtom(D, InAnt, φ) :- ETDefinedAtom(D, InSuc, φ) This expansion proof has the deep sequent D:-D and the shallow sequent φ:-φ. (NB: this extraction is not implemented.)

atom

The atom (whose predicate symbol is defined)

polarity

Polarity of the atom.

definedExpr

Definitional expansion of the predicate symbol.

Source
expansionTrees.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ETDefinedAtom
  2. Serializable
  3. Serializable
  4. ExpansionTree
  5. DagProof
  6. Product
  7. Equals
  8. AnyRef
  9. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ETDefinedAtom(atom: HOLAtom, polarity: Polarity, definedExpr: LambdaExpression)

    atom

    The atom (whose predicate symbol is defined)

    polarity

    Polarity of the atom.

    definedExpr

    Definitional expansion of the predicate symbol.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from ETDefinedAtom to any2stringadd[ETDefinedAtom] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (ETDefinedAtom, B)
    Implicit
    This member is added by an implicit conversion from ETDefinedAtom to ArrowAssoc[ETDefinedAtom] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def apply(pos: HOLPosition): Set[ExpansionTree]
    Definition Classes
    ExpansionTree
  7. val arguments: List[LambdaExpression]
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. val atom: HOLAtom
  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def dagLike: DagLikeOps[ExpansionTree]

    Operations that view the sub-proofs as a DAG, which ignore duplicate sub-proofs, see DagProof.DagLikeOps for a list.

    Operations that view the sub-proofs as a DAG, which ignore duplicate sub-proofs, see DagProof.DagLikeOps for a list.

    Definition Classes
    DagProof
  12. def deep: HOLAtom

    The formula represented by this tree, fully instantiated.

    The formula represented by this tree, fully instantiated.

    Definition Classes
    ETDefinedAtomExpansionTree
  13. val definedExpr: LambdaExpression
  14. val definition: Definition
  15. val definitionConst: Const
  16. def depth: Int

    Depth of the proof, which is the maximum length of a path you can take via immediateSubProofs.

    Depth of the proof, which is the maximum length of a path you can take via immediateSubProofs.

    Definition Classes
    DagProof
  17. def ensuring(cond: (ETDefinedAtom) ⇒ Boolean, msg: ⇒ Any): ETDefinedAtom
    Implicit
    This member is added by an implicit conversion from ETDefinedAtom to Ensuring[ETDefinedAtom] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: (ETDefinedAtom) ⇒ Boolean): ETDefinedAtom
    Implicit
    This member is added by an implicit conversion from ETDefinedAtom to Ensuring[ETDefinedAtom] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean, msg: ⇒ Any): ETDefinedAtom
    Implicit
    This member is added by an implicit conversion from ETDefinedAtom to Ensuring[ETDefinedAtom] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. def ensuring(cond: Boolean): ETDefinedAtom
    Implicit
    This member is added by an implicit conversion from ETDefinedAtom to Ensuring[ETDefinedAtom] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(that: Any): Boolean
    Definition Classes
    DagProof → Equals → AnyRef → Any
  23. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from ETDefinedAtom to StringFormat[ETDefinedAtom] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  25. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  26. val hashCode: Int
    Definition Classes
    DagProof
  27. def immediateSubProofs: Seq[Nothing]

    The immediate subproofs of this rule.

    The immediate subproofs of this rule.

    Definition Classes
    ETDefinedAtomDagProof
  28. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  29. def longName: String

    The name of this rule (in words).

    The name of this rule (in words).

    Definition Classes
    DagProof
  30. def name: String

    The name of this rule (in symbols).

    The name of this rule (in symbols).

    Definition Classes
    DagProof
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  34. val polarity: Polarity
    Definition Classes
    ETDefinedAtomExpansionTree
  35. val shallow: HOLFormula
    Definition Classes
    ETDefinedAtomExpansionTree
  36. def stepString(subProofLabels: Map[Any, String]): String
    Attributes
    protected
    Definition Classes
    DagProof
  37. def subProofAt(pos: List[Int]): ExpansionTree

    Returns the subproof at the given position: p.subProofAt(Nil) is p itself; p.subProofAt(i :: is) is the ith subproof of p.subProofAt(is).

    Returns the subproof at the given position: p.subProofAt(Nil) is p itself; p.subProofAt(i :: is) is the ith subproof of p.subProofAt(is).

    Definition Classes
    DagProof
  38. def subProofs: Set[ExpansionTree]

    Set of all (transitive) sub-proofs including this.

    Set of all (transitive) sub-proofs including this.

    Definition Classes
    DagProof
  39. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  40. def toSigRelativeString(implicit sig: BabelSignature): String
    Definition Classes
    ExpansionTree
  41. def toString(): String
    Definition Classes
    ExpansionTreeDagProof → AnyRef → Any
  42. def treeLike: TreeLikeOps[ExpansionTree]

    Operations that view the sub-proofs as a tree, see DagProof.TreeLikeOps for a list.

    Operations that view the sub-proofs as a tree, see DagProof.TreeLikeOps for a list.

    Definition Classes
    DagProof
  43. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. def [B](y: B): (ETDefinedAtom, B)
    Implicit
    This member is added by an implicit conversion from ETDefinedAtom to ArrowAssoc[ETDefinedAtom] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Serializable

Inherited from Serializable

Inherited from ExpansionTree

Inherited from DagProof[ExpansionTree]

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from ETDefinedAtom to any2stringadd[ETDefinedAtom]

Inherited by implicit conversion StringFormat from ETDefinedAtom to StringFormat[ETDefinedAtom]

Inherited by implicit conversion Ensuring from ETDefinedAtom to Ensuring[ETDefinedAtom]

Inherited by implicit conversion ArrowAssoc from ETDefinedAtom to ArrowAssoc[ETDefinedAtom]

Ungrouped