|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Formula
A class for specifying a formula in monadic second order logic.
formulas are immutable objects. TODO: extract more interfaces.
Method Summary | |
---|---|
Conjunction |
and(Formula that)
Return the conjunction of this formula with that formula. |
boolean |
containsVariable(Variable var)
Returns whether this formula contains the given variable. |
FirstOrderExistentialQuantification |
exists(FirstOrderVariable var)
Return the existential quantification of this formula over the given first order variable. |
SecondOrderExistentialQuantification |
exists(SecondOrderVariable var)
Return the existential quantification of this formula over the given first order variable. |
FirstOrderUniversalQuantification |
forAll(FirstOrderVariable var)
Return the universal quantification of this formula over the given variable. |
SecondOrderUniversalQuantification |
forAll(SecondOrderVariable var)
Return the universal quantification of this formula over the given variable. |
Set<Variable> |
getFreeVariables()
Return the free variables in this formula. |
Formula |
getNormalForm()
Get a normal form with only conjunction, disjunction, negation and existential quantification. |
Set<Predicate> |
getPredicates()
Return all predicates that occur in this formula. |
Set<Variable> |
getVariables()
Return the variables in this formula. |
Equivalence |
iff(Formula that)
Return the equivalence of this formula with that formula. |
Implication |
implies(Formula that)
Return the implication of this formula with that formula. |
boolean |
isClosed()
Check whether this formula is closed. |
boolean |
isFree(Variable variable)
Check whether the given variable is free in this formula. |
Formula |
not()
Return the negation of this formula. |
Disjunction |
or(Formula that)
Return the disjunction of this formula with that formula. |
Methods inherited from interface de.uni_tuebingen.sfb.lichtenstein.formulas.Visitable |
---|
accept |
Method Detail |
---|
Formula not()
Conjunction and(Formula that)
that
- The other formula. That is a mnemonic for this.and(that)
.Disjunction or(Formula that)
that
- The other formula. That is a mnemonic for this.or(that)
.Implication implies(Formula that)
that
- The other formula. That is a mnemonic for this.implies(that)
.Equivalence iff(Formula that)
that
- The other formula. That is a mnemonic for this.iff(that)
.FirstOrderUniversalQuantification forAll(FirstOrderVariable var)
var
- The variable which is to be quantified.SecondOrderUniversalQuantification forAll(SecondOrderVariable var)
var
- The variable which is to be quantified.FirstOrderExistentialQuantification exists(FirstOrderVariable var)
var
- The variable which is to be quantified.SecondOrderExistentialQuantification exists(SecondOrderVariable var)
var
- The variable which is to be quantified.Set<Variable> getVariables()
LinkedHashSet
Set<Variable> getFreeVariables()
LinkedHashSet
boolean containsVariable(Variable var)
var
- The variable to check.boolean isFree(Variable variable)
variable
- The variable to check.Set<Predicate> getPredicates()
Formula getNormalForm()
This is a notion of normal form mainly useful for my program. BAD!
TODO: standardize this.
boolean isClosed()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |