Packages

p

gapt

logic

package logic

Source
package.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. logic
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package bdt
  2. package fol
  3. package hol

Type Members

  1. final case class Polarity(inSuc: Boolean) extends AnyVal with Product with Serializable

    Polarity of a formula.

    Polarity of a formula.

    There are two polarities, positive/in-succedent and negative/in-antecedent. Polarities serve multiple purposes:

    • They distinguish strong and weak quantifiers. A universal (∀) quantifier in positive/in-succedent polarity is strong (requires an eigenvariable/Skolem inference), and is weak in negative/in-antecedent polarity (can be instantiated with any term).
    • They guide the construction of expansion trees and their deep formulas. A merge in positive polarity has a disjunction as deep formula, in negative polarity it has a conjunction.
    • They specify the side/cedent of a sequent.

    Our convention is based on proofs in LK:

    • formulas in the succedent are positive
    • formulas in the antecedent are negative

    This is used consistently, except for a major exception: in resolution proofs, the polarity is reversed. A formula in the antecedent of a clause in a resolution proof has the negative/in-antecedent polarity (as it is in the antecedent of a sequent). However upon conversion to LK/ET, the polarity switches to positive/in-succedent polarity.

Value Members

  1. def argumentVariablesWithPatternFor(pattern: (Int) => String)(constant: Const): Seq[Var]
  2. def disjointnessAxiom(constructor1: Const, constructor2: Const): Formula
  3. def disjointnessAxioms(inductiveType: InductiveType): Iterable[Formula]
  4. def injectivityAxiom(constructor: Const): Formula
  5. def injectivityAxioms(inductiveType: InductiveType): Iterable[Formula]
  6. def isPolyadic(constant: Const): Boolean
  7. def projectorDefinitionRules(it: InductiveType): Iterable[ReductionRule]
  8. def projectorDefinitions(it: InductiveType): Iterable[Formula]
  9. object AllDistinct
  10. object EqualityReflexivity
  11. object EqualityTransitivity
  12. object FunctionCongruence
  13. object Polarity extends Serializable
  14. object PredicateCongruence
  15. object clauseSubsumption
  16. object toImplications

Inherited from AnyRef

Inherited from Any

Ungrouped