Packages

package dls

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Value Members

  1. object PredicateVariable
  2. object dls

    Uses the DLS algorithm to find a witness for formula equations of the form ∃X_1 ...

    Uses the DLS algorithm to find a witness for formula equations of the form ∃X_1 ... ∃X_n φ where φ is a first order formula and X_1,...,X_n are second-order variables.

    If the method succeeds, the return value is a tuple of a substitution of the second order variables in the formula equation and a first order formula such that applying the substitution to the first-order formula is a first-order formula which is equivalent to the given formula equation.

    A sufficient criterion for the success of the method in the case of formula equations of the form ∃X φ is that φ can be put into the form

    (α_1(X) ∧ β_1(X)) ∨ ... ∨ (α_n(X) ∧ β_n(X))

    where - no occurrences of X are inside the scope of a first-order existential quantifier, - α_i(X) is positive with respect to X and β_i(X) is negative with respect to X and - for every i either

    • α_i(X) does not contain X or
    • β_i(X) does not contain X or
    • every disjunction in α_i(X) ∧ β_i(X) contains at most one occurrence of X

    by - simplifying φ, - moving quantifiers as far down as possible to reduce their scope and - distributing conjunctions over disjunctions in subformulae where positive and negative occurrences of X are not already separated by a conjunction.

    For formula equations with more than one variable the innermost formula equation is solved first, then reduced to a first-order formula by applying the found substitution. The method is then applied recursively on the resulting formula equation with one variable less.

    A Failure return value does not mean that the quantifier elimination is impossible. It just means that this algorithm could not find a witness which allows elimination of the second order quantifier. A Success return value does not mean that the returned first-order formula is valid, but only that it's equivalent to the given formula equation.

  3. object simplify
  4. object vectorEq

Ungrouped