dfs_logic.pl -- First-order Logic
This module implements basic first-order logic operations and properties on
formulas and vectors.
- dfs_conjoin(+FormulaSet, -Conjunction) is det
- True if Conjunction is a logical conjunction of the formulas in
FormulaSet.
- dfs_disjoin(+FormulaSet, -Disjunction) is det
- True if Disjunction is a logical disjunction of the formulas in
FormulaSet.
- dfs_complement(+Formula, +ComplementFormula) is det
- ComplementFormula specifies the falsehood conditions of Formula.
- dfs_conj_vector(+Vector1, +Vector2, -ConjVector) is det
- ConjVector is the conjunction (component-wise product) of Vector1
and Vector2.
- dfs_validity(+Formula, +ModelSet) is det
- dfs_validity(+Formula, +ModelMatrix) is det
- A formula P is valid (|= P) iff P is true (not false) in all models.
- dfs_satisfiability(+Formula, +ModelSet) is det
- dfs_satisfiability(+Formula, +ModelMatrix) is det
- A formula P is satisfiable iff P is true in at least one model M.
- dfs_entailment(+FormulaP, +FormulaQ, +ModelSet) is det
- dfs_entailment(+FormulaP, +FormulaQ, +ModelMatrix) is det
- A formula P entails a formula Q (P |= Q) iff Q is true in every model
that satisfies P.
- dfs_logical_equivalence(+FormulaP, +FormulaQ, +ModelSet) is det
- dfs_logical_equivalence(+FormulaP, +FormulaQ, +ModelMatrix) is det
- A formula P is logically equivalent to formula Q iff [[P]]^M,g = [[Q]]^M,g
for all models M and variable assignments g