Packages

case class Skolemize(pos: SeqPos) extends PositionRule with Product with Serializable

Skolemization assumes that the names of the quantified variables to be skolemized are unique within the sequent. This can be ensured by finding a unique name and renaming the bound variable through alpha conversion.

G |- p(x), D
----------------------- (Skolemize) provided x not in G,D
G |- \forall x p(x), D

Skolemization also handles existential quantifiers on the left:

          p(x), G |- D
------------------------ (Skolemize) provided x not in G,D
\exists x p(x), G |- D
Note

Could in principle replace by uniform substitution rule application mechanism for rule "all generalization" along with tactics expanding scope of quantifier with axiom "all quantifier scope" at the cost of propositional repacking and unpacking. p(x) ---------------all generalize \forall x. p(x) Kept because of the incurred cost.

See also

SkolemClashException

Linear Supertypes
Serializable, Serializable, Product, Equals, PositionRule, Rule, (Sequent) ⇒ List[Sequent], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Skolemize
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. PositionRule
  7. Rule
  8. Function1
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Skolemize(pos: SeqPos)

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. def andThen[A](g: (List[Sequent]) ⇒ A): (Sequent) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. def apply(s: Sequent): List[Sequent]

    Skolemize a universal quantifier in the succedent or an existential quantifier in the antecedent.

    Skolemize a universal quantifier in the succedent or an existential quantifier in the antecedent.

    Definition Classes
    Skolemize → Function1
    Exceptions thrown

    InapplicableRuleException if something other than the appropriate quantifier is at the indicated position.

    SkolemClashException if the quantified variable that is to be Skolemized already occurs free in the sequent. Use BoundRenaming to resolve.

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. def compose[A](g: (A) ⇒ Sequent): (A) ⇒ List[Sequent]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def finalize(): scala.Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. val name: String

    Name of this proof rule

    Name of this proof rule

    Definition Classes
    SkolemizeRule
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. val pos: SeqPos

    The position where this rule will be applied at.

    The position where this rule will be applied at.

    Definition Classes
    SkolemizePositionRule
  18. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    PositionRuleRule → Function1 → AnyRef → Any
  20. final def wait(): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): scala.Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from PositionRule

Inherited from Rule

Inherited from (Sequent) ⇒ List[Sequent]

Inherited from AnyRef

Inherited from Any

Ungrouped