presburger-0.4: Cooper's decision procedure for Presburger arithmetic.
Data.Integer.Presburger.Form
check :: Form (Prop PosP) -> BoolSource
data Conn Source
Constructors
Instances
data Form p Source
form_lcm :: Form (NormProp CVarP) -> IntegerSource
form_scale :: Name -> Form (Prop PosP) -> Form (NormProp VarP)Source
a_b_sets :: (Integer, [Term], [Term]) -> NormProp VarP -> (Integer, [Term], [Term])Source
form_pos_inf :: Term -> Form (NormProp VarP) -> Form (Prop PosP)Source
form_neg_inf :: Term -> Form (NormProp VarP) -> Form (Prop PosP)Source
form_no_inf :: Term -> Form (NormProp VarP) -> Form (Prop PosP)Source
neg :: Form (Prop PosP) -> Form (Prop PosP)Source
simplify :: Form (Prop PosP) -> Form (Prop PosP)Source
ex_step :: Name -> Form (Prop PosP) -> Form (Prop PosP)Source
thm_as :: [Term] -> Name -> Form (NormProp VarP) -> Form (Prop PosP)Source
thm_bs :: [Term] -> Name -> Form (NormProp VarP) -> Form (Prop PosP)Source
form_bound :: Form (NormProp VarP) -> IntegerSource
eval_form :: Form (Prop PosP) -> Env -> BoolSource
split_ands :: Form p -> [Form p]Source
split_divs :: Form (Prop PosP) -> ([DivCtr], Form (Prop PosP))Source
eval_conn :: Conn -> Bool -> Bool -> BoolSource
subst_form :: Name -> Integer -> Form (Prop PosP) -> Form (Prop PosP)Source
module Data.Integer.Presburger.Prop