Package

at.logic.gapt.proofs

resolution

Permalink

package resolution

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

Type Members

  1. case class AllL(subProof: ResolutionProof, idx: SequentIndex, skolemTerm: LambdaExpression, skolemDef: LambdaExpression) extends SkolemQuantResolutionRule with Product with Serializable

    Permalink
  2. case class AllR(subProof: ResolutionProof, idx: SequentIndex, variable: Var) extends WeakQuantResolutionRule with Product with Serializable

    Permalink
  3. case class AndL(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  4. case class AndR1(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  5. case class AndR2(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  6. case class AvatarAbsurd(subProof: ResolutionProof) extends LocalResolutionRule with Product with Serializable

    Permalink

    Moves an assertion back to the sequent.

    Moves an assertion back to the sequent.

      S <- A
    ------------
     S ++ ¬A <-
  7. trait AvatarComponent extends AnyRef

    Permalink

    Clause component together with its associated propositional atom.

  8. case class AvatarComponentElim(subProof: ResolutionProof, indices: Set[SequentIndex], component: AvatarComponent) extends LocalResolutionRule with Product with Serializable

    Permalink

    Removes a clause component.

    Removes a clause component.

    S ++ C <- A
    ----------------
       S   <- A ∧ ¬a
  9. case class AvatarComponentIntro(component: AvatarComponent) extends InitialClause with Product with Serializable

    Permalink

    Introduces a clause component.

    Introduces a clause component.

    ------
    C <- a
  10. abstract class AvatarGeneralNonGroundComp extends AvatarComponent

    Permalink
  11. case class AvatarGroundComp(atom: HOLAtom, polarity: Boolean) extends AvatarComponent with Product with Serializable

    Permalink
  12. case class AvatarNegNonGroundComp(atom: HOLAtom, definition: HOLFormula, vars: Seq[Var], idx: SequentIndex) extends AvatarGeneralNonGroundComp with Product with Serializable

    Permalink
  13. case class AvatarNonGroundComp(atom: HOLAtom, definition: HOLFormula, vars: Seq[Var]) extends AvatarGeneralNonGroundComp with Product with Serializable

    Permalink
  14. case class BottomR(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  15. class Clausifier extends AnyRef

    Permalink
  16. case class DefIntro(subProof: ResolutionProof, idx: SequentIndex, defAtom: HOLAtom, definition: LambdaExpression) extends PropositionalResolutionRule with Product with Serializable

    Permalink

    Definition introduction.

    Definition introduction.

    Γ :- Δ, φ(x)
    --------
    Γ :- Δ, D(x)

    This is then used together with Taut in order to use the introduced definitions in other parts of the proof:

    ------------  Taut
    φ(x) :- φ(x)
    ------------  DefIntro
    D(x) :- φ(x)
  17. case class ExL(subProof: ResolutionProof, idx: SequentIndex, variable: Var) extends WeakQuantResolutionRule with Product with Serializable

    Permalink
  18. case class ExR(subProof: ResolutionProof, idx: SequentIndex, skolemTerm: LambdaExpression, skolemDef: LambdaExpression) extends SkolemQuantResolutionRule with Product with Serializable

    Permalink
  19. case class Factor(subProof: ResolutionProof, idx1: SequentIndex, idx2: SequentIndex) extends LocalResolutionRule with Product with Serializable

    Permalink

    Factoring.

    Factoring.

    l, l, Γ :- Δ
    -----------
    l, Γ :- Δ
  20. case class ImpL1(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  21. case class ImpL2(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  22. case class ImpR(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  23. abstract class InitialClause extends LocalResolutionRule

    Permalink
  24. case class Input(sequent: HOLSequent) extends InitialClause with Product with Serializable

    Permalink

    Input sequent.

    Input sequent.

    -------
    sequent
  25. abstract class LocalResolutionRule extends ResolutionProof with ContextRule[HOLFormula, ResolutionProof]

    Permalink
  26. case class NegL(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  27. case class NegR(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  28. case class OrL1(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  29. case class OrL2(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  30. case class OrR(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  31. case class Paramod(subProof1: ResolutionProof, eqIdx: SequentIndex, leftToRight: Boolean, subProof2: ResolutionProof, auxIdx: SequentIndex, context: LambdaExpression) extends LocalResolutionRule with Product with Serializable

    Permalink

    Paramodulation.

    Paramodulation.

    Γ :- Δ, t=s     Π :- Λ, l[t]
    ----------------------------
         Γ, Π :- Δ, Λ, l[s]
  32. abstract class PropositionalResolutionRule extends LocalResolutionRule

    Permalink
  33. case class Refl(term: LambdaExpression) extends InitialClause with Product with Serializable

    Permalink

    Reflexivity.

    Reflexivity.

    --------------
    :- term = term
  34. case class Resolution(subProof1: ResolutionProof, idx1: SequentIndex, subProof2: ResolutionProof, idx2: SequentIndex) extends LocalResolutionRule with Product with Serializable

    Permalink

    Resolution.

    Resolution.

    Γ :- Δ, a    a, Π :- Λ
    ----------------------
          Γ, Π :- Δ, Λ
  35. class Resolution2RalWithAbstractions extends ResolutionToRal

    Permalink

    A converter from resolution proofs to Ral proofs, which reintroduces the lambda abstractions which we removed for the fol export.

  36. trait ResolutionProof extends SequentProof[HOLFormula, ResolutionProof] with DagProof[ResolutionProof]

    Permalink

    Proof using resolution.

    Proof using resolution.

    Our resolution calculus integrates higher-order reasoning, structural clausification, and Avatar-style splitting as in [Vor14].

    The judgments of this calculus are A-sequents. An A-sequent is a pair of a sequent of HOL formulas, and a conjunction of propositional literals---the assertion (that's where the "A" comes from).

    Γ :- Δ <- A

    We store the sequent as a HOLSequent in ResolutionProof#conclusion, and the negation of the assertion as a HOLClause in ResolutionProof#assertions (as the negation of a conjunction of literals is a clause). The judgment is interpreted as one of the following equivalent formulas:

    assertions.toNegConjunction --> conclusion.toDisjunction
    (conclusion ++ assertions).toDisjunction   // equivalent to the first one

    Inferences such as Resolution or Paramod do not operate on the assertions. Unless specified otherwise, assertions are inherited by default:

    Γ :- Δ, a <- A       a, Π :- Λ <- B
    --------------------------------
          Γ, Π :- Δ, Λ <- A ∧ B

    There is no factoring on assertions, duplicate assertions are automatically removed.

    Reading from top to bottom, a resolution proof is usually structured as follows:

    Substitutions are not absorbed into resolution, factoring, and paramodulation; they are explicitly represented using Subst.

    [Vor14] Andrei Voronkov, AVATAR: The Architecture for First-Order Theorem Provers. CAV 2014: pp. 696-710

  37. abstract class ResolutionToRal extends AnyRef

    Permalink
  38. abstract class SkolemQuantResolutionRule extends PropositionalResolutionRule

    Permalink
  39. case class Subst(subProof: ResolutionProof, substitution: Substitution) extends ResolutionProof with Product with Serializable

    Permalink

    Substitution.

    Substitution.

           Γ :- Δ
    ----------------------
    substitution(Γ :- Δ)
  40. case class Taut(formula: HOLFormula) extends InitialClause with Product with Serializable

    Permalink

    Tautology.

    Tautology.

    -------------------
    formula :- formula
  41. case class TopL(subProof: ResolutionProof, idx: SequentIndex) extends PropositionalResolutionRule with Product with Serializable

    Permalink
  42. abstract class WeakQuantResolutionRule extends PropositionalResolutionRule

    Permalink

Value Members

  1. object AllR extends Serializable

    Permalink
  2. object AvatarComponentElim extends Serializable

    Permalink
  3. object AvatarNonGroundComp extends Serializable

    Permalink
  4. object AvatarSplit

    Permalink
  5. object ExpansionToResolutionProof

    Permalink

    Converts an expansion proof to a resolution proof.

  6. object Factor extends Serializable

    Permalink
  7. object Flip

    Permalink
  8. object MguFactor

    Permalink
  9. object MguResolution

    Permalink
  10. object PCNF

    Permalink

    Given a sequent s and a clause a in CNF(-s), PCNF computes an LK proof of a subsequent of s ++ a containing at least a

  11. object Paramod extends Serializable

    Permalink
  12. object Resolution extends Serializable

    Permalink
  13. object Resolution2RalWithAbstractions

    Permalink

    A converter from Robinson resolution proofs to Ral proofs, which reintroduces the lambda abstractions which we removed for the fol export.

  14. object ResolutionToExpansionProof

    Permalink

    Converts a resolution proof to an expansion proof.

  15. object ResolutionToLKProof

    Permalink
  16. object ResolutionToRal extends ResolutionToRal

    Permalink
  17. object Subst extends Serializable

    Permalink
  18. implicit object avatarComponentsAreReplaceable extends ClosedUnderReplacement[AvatarComponent]

    Permalink
  19. object containedVariables

    Permalink
  20. object containsEquationalReasoning

    Permalink
  21. object eliminateSplitting

    Permalink

    Eliminate AvatarComponentElim, AvatarComponentIntro, AvatarAbsurd splitting inferences from a resolution proof.

  22. object expansionProofFromInstances

    Permalink
  23. object extractRecSchemFromResProof

    Permalink
  24. object findDerivationViaResolution

    Permalink
  25. object fixDerivation extends Logger

    Permalink

    Sometimes, we have a resolution refutation R of a set of clauses C and want a refutation R' of a set C' such that C implies C'.

    Sometimes, we have a resolution refutation R of a set of clauses C and want a refutation R' of a set C' such that C implies C'.

    This algorithm tries to obtain R' by trying to replace clauses c from C in R by derivations of C from C'.

    In general, if R is a derivation of a clause c, the result R' of fixDerivation(R) is a derivation of a subclause of c.

  26. object forgetfulPropParam

    Permalink
  27. object forgetfulPropResolve

    Permalink
  28. object mapInputClauses

    Permalink
  29. object numberOfLogicalInferencesRes

    Permalink
  30. implicit object resolutionProofsAreReplaceable extends ClosedUnderReplacement[ResolutionProof]

    Permalink
  31. object simplifyResolutionProof

    Permalink
  32. object structuralCNF

    Permalink
  33. object tautologifyInitialUnitClauses

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped