rest-rewrite-0.4.3: Rewriting library with online termination checking
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.REST.WQOConstraints.ADT

Synopsis

Documentation

data ConstraintsADT a Source #

Represents constraints over a WQO on a

Constructors

Sat (WQO a)

Sat wqo represents satisfiable constraints: those that permit each relation in wqo.

Unsat 
Union (ConstraintsADT a) (ConstraintsADT a)

Union c1 c2 permits orderings of P1 and orderings of P2

Intersect (ConstraintsADT a) (ConstraintsADT a)

Intersect c1 c2 permits orderings iff permitted by P1 and permitted by P2

Instances

Instances details
Generic (ConstraintsADT a) Source # 
Instance details

Defined in Language.REST.WQOConstraints.ADT

Associated Types

type Rep (ConstraintsADT a) :: Type -> Type #

(Eq a, Hashable a, Show a) => Show (ConstraintsADT a) Source # 
Instance details

Defined in Language.REST.WQOConstraints.ADT

Eq a => Eq (ConstraintsADT a) Source # 
Instance details

Defined in Language.REST.WQOConstraints.ADT

Ord a => Ord (ConstraintsADT a) Source # 
Instance details

Defined in Language.REST.WQOConstraints.ADT

Hashable a => Hashable (ConstraintsADT a) Source # 
Instance details

Defined in Language.REST.WQOConstraints.ADT

ToSMTVar a Int => ToSMT (ConstraintsADT a) Bool Source # 
Instance details

Defined in Language.REST.WQOConstraints.ADT

type Rep (ConstraintsADT a) Source # 
Instance details

Defined in Language.REST.WQOConstraints.ADT

addConstraint :: (Ord a, Hashable a) => WQO a -> ConstraintsADT a -> ConstraintsADT a Source #

addConstraint o c strengthes c to also contain every relation in o

intersect :: (Eq a, Ord a, Hashable a) => ConstraintsADT a -> ConstraintsADT a -> ConstraintsADT a Source #

intersect c1 c2 permits orderings iff permitted by P1 and permitted by P2

union :: Eq a => ConstraintsADT a -> ConstraintsADT a -> ConstraintsADT a Source #

union c1 c2 permits orderings of P1 and orderings of P2