hermod-recon-framework
Safe HaskellSafe-Inferred
LanguageHaskell2010

Hermod.ReCon.Presburger.Formula

Synopsis

Documentation

data BinRel Source #

Binary comparison relation on an ordered type.

Constructors

Eq 
Lt 
Lte 
Gt 
Gte 

Instances

Instances details
Show BinRel Source # 
Instance details

Defined in Hermod.ReCon.Common.Types

Eq BinRel Source # 
Instance details

Defined in Hermod.ReCon.Common.Types

Ord BinRel Source # 
Instance details

Defined in Hermod.ReCon.Common.Types

data Formula Source #

Formulae of Presburger arithmetic — the first-order theory of the integers under addition (+), integer constants, and the standard comparison relations (=, <, , >, ), extended with the divisibility predicate d | t ("d divides t").

Quantifiers range over ℤ only. There are no free variables: every well-formed formula is a closed sentence whose truth value is decidable via Cooper's quantifier-elimination procedure (decide).

Constructors

Or Formula Formula

φ ∨ ψ

And Formula Formula

φ ∧ ψ

Not Formula

¬ φ

Implies Formula Formula

φ ⇒ ψ

Top

T

Bottom

IntForall VariableIdentifier Formula

∀x : ℤ. φ

IntExists VariableIdentifier Formula

∃x : ℤ. φ

IntBinRel BinRel IntTerm IntTerm

i = i | i | i ≤ i | i i | i ≥ i

IntDiv NatValue IntTerm

ℕ⁺ | i (divisibility relation, first argument is a non-zero ℕ)