FMFI-UK-1-AIN-412 / elm-formula / Formula

This library exports formulas.

Definitions


type Formula
    = PredAtom String (List Term)
    | EqAtom Term Term
    | Neg Formula
    | Disj Formula Formula
    | Conj Formula Formula
    | Impl Formula Formula
    | Equiv Formula Formula
    | ForAll String Formula
    | Exists String Formula
    | FF
    | FT

Formula

Strings

toString : Formula -> String

String representation of a Formula

Tableau helpers

substitute : Term.Substitution -> Formula -> Result String Formula

Checks if substitution is applicable and substitutes if yes. Returns Result. ErrMessage or Formula after substitution

free : Formula -> Set String

Returns set of all free variables in given formula

removeQuantifierAndSubstitute : Term.Substitution -> Formula -> Result String Formula

Removes quantifier from given signed formula and returns formula after substitution or error

isSubformulaOf : Formula -> Formula -> Basics.Bool

Is the first a subformula of the second