{-# LANGUAGE DeriveDataTypeable #-} {- | Module : ./ConstraintCASL/AS_ConstraintCASL.hs Copyright : (c) Florian Mossakowski, Uni Bremen 2006 License : GPLv2 or higher, see LICENSE.txt Maintainer : till@informatik.uni-bremen.de Stability : provisional Portability : portable Abstract syntax for ConstraintCASL Only the formula syntax is specified -} module ConstraintCASL.AS_ConstraintCASL where import Data.Data import Common.Id import CASL.AS_Basic_CASL type ConstraintCASLBasicSpec = BASIC_SPEC () () ConstraintFORMULA type ConstraintCASLFORMULA = FORMULA ConstraintFORMULA data ConstraintFORMULA = Implication_ConstraintFormula ATOMCONJUNCTION ATOMCONJUNCTION | Equivalence_ConstraintFormula ATOMCONJUNCTION ATOMCONJUNCTION | Axiom_ConstraintFormula ATOMCONJUNCTION deriving (Int -> ConstraintFORMULA -> ShowS [ConstraintFORMULA] -> ShowS ConstraintFORMULA -> String (Int -> ConstraintFORMULA -> ShowS) -> (ConstraintFORMULA -> String) -> ([ConstraintFORMULA] -> ShowS) -> Show ConstraintFORMULA forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ConstraintFORMULA] -> ShowS $cshowList :: [ConstraintFORMULA] -> ShowS show :: ConstraintFORMULA -> String $cshow :: ConstraintFORMULA -> String showsPrec :: Int -> ConstraintFORMULA -> ShowS $cshowsPrec :: Int -> ConstraintFORMULA -> ShowS Show, ConstraintFORMULA -> ConstraintFORMULA -> Bool (ConstraintFORMULA -> ConstraintFORMULA -> Bool) -> (ConstraintFORMULA -> ConstraintFORMULA -> Bool) -> Eq ConstraintFORMULA forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ConstraintFORMULA -> ConstraintFORMULA -> Bool $c/= :: ConstraintFORMULA -> ConstraintFORMULA -> Bool == :: ConstraintFORMULA -> ConstraintFORMULA -> Bool $c== :: ConstraintFORMULA -> ConstraintFORMULA -> Bool Eq, Eq ConstraintFORMULA Eq ConstraintFORMULA => (ConstraintFORMULA -> ConstraintFORMULA -> Ordering) -> (ConstraintFORMULA -> ConstraintFORMULA -> Bool) -> (ConstraintFORMULA -> ConstraintFORMULA -> Bool) -> (ConstraintFORMULA -> ConstraintFORMULA -> Bool) -> (ConstraintFORMULA -> ConstraintFORMULA -> Bool) -> (ConstraintFORMULA -> ConstraintFORMULA -> ConstraintFORMULA) -> (ConstraintFORMULA -> ConstraintFORMULA -> ConstraintFORMULA) -> Ord ConstraintFORMULA ConstraintFORMULA -> ConstraintFORMULA -> Bool ConstraintFORMULA -> ConstraintFORMULA -> Ordering ConstraintFORMULA -> ConstraintFORMULA -> ConstraintFORMULA forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: ConstraintFORMULA -> ConstraintFORMULA -> ConstraintFORMULA $cmin :: ConstraintFORMULA -> ConstraintFORMULA -> ConstraintFORMULA max :: ConstraintFORMULA -> ConstraintFORMULA -> ConstraintFORMULA $cmax :: ConstraintFORMULA -> ConstraintFORMULA -> ConstraintFORMULA >= :: ConstraintFORMULA -> ConstraintFORMULA -> Bool $c>= :: ConstraintFORMULA -> ConstraintFORMULA -> Bool > :: ConstraintFORMULA -> ConstraintFORMULA -> Bool $c> :: ConstraintFORMULA -> ConstraintFORMULA -> Bool <= :: ConstraintFORMULA -> ConstraintFORMULA -> Bool $c<= :: ConstraintFORMULA -> ConstraintFORMULA -> Bool < :: ConstraintFORMULA -> ConstraintFORMULA -> Bool $c< :: ConstraintFORMULA -> ConstraintFORMULA -> Bool compare :: ConstraintFORMULA -> ConstraintFORMULA -> Ordering $ccompare :: ConstraintFORMULA -> ConstraintFORMULA -> Ordering $cp1Ord :: Eq ConstraintFORMULA Ord, Typeable, Typeable ConstraintFORMULA Constr DataType Typeable ConstraintFORMULA => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintFORMULA -> c ConstraintFORMULA) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintFORMULA) -> (ConstraintFORMULA -> Constr) -> (ConstraintFORMULA -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConstraintFORMULA)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintFORMULA)) -> ((forall b. Data b => b -> b) -> ConstraintFORMULA -> ConstraintFORMULA) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFORMULA -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFORMULA -> r) -> (forall u. (forall d. Data d => d -> u) -> ConstraintFORMULA -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> ConstraintFORMULA -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA) -> Data ConstraintFORMULA ConstraintFORMULA -> Constr ConstraintFORMULA -> DataType (forall b. Data b => b -> b) -> ConstraintFORMULA -> ConstraintFORMULA (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintFORMULA -> c ConstraintFORMULA (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintFORMULA forall a. Typeable a => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> ConstraintFORMULA -> u forall u. (forall d. Data d => d -> u) -> ConstraintFORMULA -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFORMULA -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFORMULA -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintFORMULA forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintFORMULA -> c ConstraintFORMULA forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConstraintFORMULA) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintFORMULA) $cAxiom_ConstraintFormula :: Constr $cEquivalence_ConstraintFormula :: Constr $cImplication_ConstraintFormula :: Constr $tConstraintFORMULA :: DataType gmapMo :: (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA gmapMp :: (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA gmapM :: (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ConstraintFORMULA -> m ConstraintFORMULA gmapQi :: Int -> (forall d. Data d => d -> u) -> ConstraintFORMULA -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ConstraintFORMULA -> u gmapQ :: (forall d. Data d => d -> u) -> ConstraintFORMULA -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> ConstraintFORMULA -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFORMULA -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFORMULA -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFORMULA -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintFORMULA -> r gmapT :: (forall b. Data b => b -> b) -> ConstraintFORMULA -> ConstraintFORMULA $cgmapT :: (forall b. Data b => b -> b) -> ConstraintFORMULA -> ConstraintFORMULA dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintFORMULA) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintFORMULA) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ConstraintFORMULA) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConstraintFORMULA) dataTypeOf :: ConstraintFORMULA -> DataType $cdataTypeOf :: ConstraintFORMULA -> DataType toConstr :: ConstraintFORMULA -> Constr $ctoConstr :: ConstraintFORMULA -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintFORMULA $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintFORMULA gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintFORMULA -> c ConstraintFORMULA $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintFORMULA -> c ConstraintFORMULA $cp1Data :: Typeable ConstraintFORMULA Data) data RELATION = Empty_Relation | Equal_Relation | Id_Relation Id | Relation_Disjunction [RELATION] | Inverse_Relation RELATION deriving (Int -> RELATION -> ShowS [RELATION] -> ShowS RELATION -> String (Int -> RELATION -> ShowS) -> (RELATION -> String) -> ([RELATION] -> ShowS) -> Show RELATION forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [RELATION] -> ShowS $cshowList :: [RELATION] -> ShowS show :: RELATION -> String $cshow :: RELATION -> String showsPrec :: Int -> RELATION -> ShowS $cshowsPrec :: Int -> RELATION -> ShowS Show, RELATION -> RELATION -> Bool (RELATION -> RELATION -> Bool) -> (RELATION -> RELATION -> Bool) -> Eq RELATION forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: RELATION -> RELATION -> Bool $c/= :: RELATION -> RELATION -> Bool == :: RELATION -> RELATION -> Bool $c== :: RELATION -> RELATION -> Bool Eq, Eq RELATION Eq RELATION => (RELATION -> RELATION -> Ordering) -> (RELATION -> RELATION -> Bool) -> (RELATION -> RELATION -> Bool) -> (RELATION -> RELATION -> Bool) -> (RELATION -> RELATION -> Bool) -> (RELATION -> RELATION -> RELATION) -> (RELATION -> RELATION -> RELATION) -> Ord RELATION RELATION -> RELATION -> Bool RELATION -> RELATION -> Ordering RELATION -> RELATION -> RELATION forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: RELATION -> RELATION -> RELATION $cmin :: RELATION -> RELATION -> RELATION max :: RELATION -> RELATION -> RELATION $cmax :: RELATION -> RELATION -> RELATION >= :: RELATION -> RELATION -> Bool $c>= :: RELATION -> RELATION -> Bool > :: RELATION -> RELATION -> Bool $c> :: RELATION -> RELATION -> Bool <= :: RELATION -> RELATION -> Bool $c<= :: RELATION -> RELATION -> Bool < :: RELATION -> RELATION -> Bool $c< :: RELATION -> RELATION -> Bool compare :: RELATION -> RELATION -> Ordering $ccompare :: RELATION -> RELATION -> Ordering $cp1Ord :: Eq RELATION Ord, Typeable, Typeable RELATION Constr DataType Typeable RELATION => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RELATION -> c RELATION) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RELATION) -> (RELATION -> Constr) -> (RELATION -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RELATION)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RELATION)) -> ((forall b. Data b => b -> b) -> RELATION -> RELATION) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RELATION -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RELATION -> r) -> (forall u. (forall d. Data d => d -> u) -> RELATION -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> RELATION -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> RELATION -> m RELATION) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RELATION -> m RELATION) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RELATION -> m RELATION) -> Data RELATION RELATION -> Constr RELATION -> DataType (forall b. Data b => b -> b) -> RELATION -> RELATION (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RELATION -> c RELATION (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RELATION forall a. Typeable a => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> RELATION -> u forall u. (forall d. Data d => d -> u) -> RELATION -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RELATION -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RELATION -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> RELATION -> m RELATION forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RELATION -> m RELATION forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RELATION forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RELATION -> c RELATION forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RELATION) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RELATION) $cInverse_Relation :: Constr $cRelation_Disjunction :: Constr $cId_Relation :: Constr $cEqual_Relation :: Constr $cEmpty_Relation :: Constr $tRELATION :: DataType gmapMo :: (forall d. Data d => d -> m d) -> RELATION -> m RELATION $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RELATION -> m RELATION gmapMp :: (forall d. Data d => d -> m d) -> RELATION -> m RELATION $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> RELATION -> m RELATION gmapM :: (forall d. Data d => d -> m d) -> RELATION -> m RELATION $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> RELATION -> m RELATION gmapQi :: Int -> (forall d. Data d => d -> u) -> RELATION -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> RELATION -> u gmapQ :: (forall d. Data d => d -> u) -> RELATION -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> RELATION -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RELATION -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RELATION -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RELATION -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RELATION -> r gmapT :: (forall b. Data b => b -> b) -> RELATION -> RELATION $cgmapT :: (forall b. Data b => b -> b) -> RELATION -> RELATION dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RELATION) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RELATION) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c RELATION) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c RELATION) dataTypeOf :: RELATION -> DataType $cdataTypeOf :: RELATION -> DataType toConstr :: RELATION -> Constr $ctoConstr :: RELATION -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RELATION $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c RELATION gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RELATION -> c RELATION $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RELATION -> c RELATION $cp1Data :: Typeable RELATION Data) data ATOMCONJUNCTION = Atom_Conjunction [ATOM] deriving (Int -> ATOMCONJUNCTION -> ShowS [ATOMCONJUNCTION] -> ShowS ATOMCONJUNCTION -> String (Int -> ATOMCONJUNCTION -> ShowS) -> (ATOMCONJUNCTION -> String) -> ([ATOMCONJUNCTION] -> ShowS) -> Show ATOMCONJUNCTION forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ATOMCONJUNCTION] -> ShowS $cshowList :: [ATOMCONJUNCTION] -> ShowS show :: ATOMCONJUNCTION -> String $cshow :: ATOMCONJUNCTION -> String showsPrec :: Int -> ATOMCONJUNCTION -> ShowS $cshowsPrec :: Int -> ATOMCONJUNCTION -> ShowS Show, ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool (ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool) -> (ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool) -> Eq ATOMCONJUNCTION forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool $c/= :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool == :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool $c== :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool Eq, Eq ATOMCONJUNCTION Eq ATOMCONJUNCTION => (ATOMCONJUNCTION -> ATOMCONJUNCTION -> Ordering) -> (ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool) -> (ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool) -> (ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool) -> (ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool) -> (ATOMCONJUNCTION -> ATOMCONJUNCTION -> ATOMCONJUNCTION) -> (ATOMCONJUNCTION -> ATOMCONJUNCTION -> ATOMCONJUNCTION) -> Ord ATOMCONJUNCTION ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool ATOMCONJUNCTION -> ATOMCONJUNCTION -> Ordering ATOMCONJUNCTION -> ATOMCONJUNCTION -> ATOMCONJUNCTION forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> ATOMCONJUNCTION $cmin :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> ATOMCONJUNCTION max :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> ATOMCONJUNCTION $cmax :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> ATOMCONJUNCTION >= :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool $c>= :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool > :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool $c> :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool <= :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool $c<= :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool < :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool $c< :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Bool compare :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Ordering $ccompare :: ATOMCONJUNCTION -> ATOMCONJUNCTION -> Ordering $cp1Ord :: Eq ATOMCONJUNCTION Ord, Typeable, Typeable ATOMCONJUNCTION Constr DataType Typeable ATOMCONJUNCTION => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOMCONJUNCTION -> c ATOMCONJUNCTION) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOMCONJUNCTION) -> (ATOMCONJUNCTION -> Constr) -> (ATOMCONJUNCTION -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ATOMCONJUNCTION)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ATOMCONJUNCTION)) -> ((forall b. Data b => b -> b) -> ATOMCONJUNCTION -> ATOMCONJUNCTION) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ATOMCONJUNCTION -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ATOMCONJUNCTION -> r) -> (forall u. (forall d. Data d => d -> u) -> ATOMCONJUNCTION -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> ATOMCONJUNCTION -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION) -> Data ATOMCONJUNCTION ATOMCONJUNCTION -> Constr ATOMCONJUNCTION -> DataType (forall b. Data b => b -> b) -> ATOMCONJUNCTION -> ATOMCONJUNCTION (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOMCONJUNCTION -> c ATOMCONJUNCTION (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOMCONJUNCTION forall a. Typeable a => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> ATOMCONJUNCTION -> u forall u. (forall d. Data d => d -> u) -> ATOMCONJUNCTION -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ATOMCONJUNCTION -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ATOMCONJUNCTION -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOMCONJUNCTION forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOMCONJUNCTION -> c ATOMCONJUNCTION forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ATOMCONJUNCTION) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ATOMCONJUNCTION) $cAtom_Conjunction :: Constr $tATOMCONJUNCTION :: DataType gmapMo :: (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION gmapMp :: (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION gmapM :: (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ATOMCONJUNCTION -> m ATOMCONJUNCTION gmapQi :: Int -> (forall d. Data d => d -> u) -> ATOMCONJUNCTION -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ATOMCONJUNCTION -> u gmapQ :: (forall d. Data d => d -> u) -> ATOMCONJUNCTION -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> ATOMCONJUNCTION -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ATOMCONJUNCTION -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ATOMCONJUNCTION -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ATOMCONJUNCTION -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ATOMCONJUNCTION -> r gmapT :: (forall b. Data b => b -> b) -> ATOMCONJUNCTION -> ATOMCONJUNCTION $cgmapT :: (forall b. Data b => b -> b) -> ATOMCONJUNCTION -> ATOMCONJUNCTION dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ATOMCONJUNCTION) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ATOMCONJUNCTION) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ATOMCONJUNCTION) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ATOMCONJUNCTION) dataTypeOf :: ATOMCONJUNCTION -> DataType $cdataTypeOf :: ATOMCONJUNCTION -> DataType toConstr :: ATOMCONJUNCTION -> Constr $ctoConstr :: ATOMCONJUNCTION -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOMCONJUNCTION $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOMCONJUNCTION gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOMCONJUNCTION -> c ATOMCONJUNCTION $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOMCONJUNCTION -> c ATOMCONJUNCTION $cp1Data :: Typeable ATOMCONJUNCTION Data) data ATOM = Prefix_Atom RELATION [ConstraintTERM] | Infix_Atom ConstraintTERM RELATION ConstraintTERM deriving (Int -> ATOM -> ShowS [ATOM] -> ShowS ATOM -> String (Int -> ATOM -> ShowS) -> (ATOM -> String) -> ([ATOM] -> ShowS) -> Show ATOM forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ATOM] -> ShowS $cshowList :: [ATOM] -> ShowS show :: ATOM -> String $cshow :: ATOM -> String showsPrec :: Int -> ATOM -> ShowS $cshowsPrec :: Int -> ATOM -> ShowS Show, ATOM -> ATOM -> Bool (ATOM -> ATOM -> Bool) -> (ATOM -> ATOM -> Bool) -> Eq ATOM forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ATOM -> ATOM -> Bool $c/= :: ATOM -> ATOM -> Bool == :: ATOM -> ATOM -> Bool $c== :: ATOM -> ATOM -> Bool Eq, Eq ATOM Eq ATOM => (ATOM -> ATOM -> Ordering) -> (ATOM -> ATOM -> Bool) -> (ATOM -> ATOM -> Bool) -> (ATOM -> ATOM -> Bool) -> (ATOM -> ATOM -> Bool) -> (ATOM -> ATOM -> ATOM) -> (ATOM -> ATOM -> ATOM) -> Ord ATOM ATOM -> ATOM -> Bool ATOM -> ATOM -> Ordering ATOM -> ATOM -> ATOM forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: ATOM -> ATOM -> ATOM $cmin :: ATOM -> ATOM -> ATOM max :: ATOM -> ATOM -> ATOM $cmax :: ATOM -> ATOM -> ATOM >= :: ATOM -> ATOM -> Bool $c>= :: ATOM -> ATOM -> Bool > :: ATOM -> ATOM -> Bool $c> :: ATOM -> ATOM -> Bool <= :: ATOM -> ATOM -> Bool $c<= :: ATOM -> ATOM -> Bool < :: ATOM -> ATOM -> Bool $c< :: ATOM -> ATOM -> Bool compare :: ATOM -> ATOM -> Ordering $ccompare :: ATOM -> ATOM -> Ordering $cp1Ord :: Eq ATOM Ord, Typeable, Typeable ATOM Constr DataType Typeable ATOM => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOM -> c ATOM) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOM) -> (ATOM -> Constr) -> (ATOM -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ATOM)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ATOM)) -> ((forall b. Data b => b -> b) -> ATOM -> ATOM) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ATOM -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ATOM -> r) -> (forall u. (forall d. Data d => d -> u) -> ATOM -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> ATOM -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ATOM -> m ATOM) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOM -> m ATOM) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOM -> m ATOM) -> Data ATOM ATOM -> Constr ATOM -> DataType (forall b. Data b => b -> b) -> ATOM -> ATOM (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOM -> c ATOM (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOM forall a. Typeable a => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> ATOM -> u forall u. (forall d. Data d => d -> u) -> ATOM -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ATOM -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ATOM -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ATOM -> m ATOM forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOM -> m ATOM forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOM forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOM -> c ATOM forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ATOM) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ATOM) $cInfix_Atom :: Constr $cPrefix_Atom :: Constr $tATOM :: DataType gmapMo :: (forall d. Data d => d -> m d) -> ATOM -> m ATOM $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOM -> m ATOM gmapMp :: (forall d. Data d => d -> m d) -> ATOM -> m ATOM $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ATOM -> m ATOM gmapM :: (forall d. Data d => d -> m d) -> ATOM -> m ATOM $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ATOM -> m ATOM gmapQi :: Int -> (forall d. Data d => d -> u) -> ATOM -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ATOM -> u gmapQ :: (forall d. Data d => d -> u) -> ATOM -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> ATOM -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ATOM -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ATOM -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ATOM -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ATOM -> r gmapT :: (forall b. Data b => b -> b) -> ATOM -> ATOM $cgmapT :: (forall b. Data b => b -> b) -> ATOM -> ATOM dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ATOM) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ATOM) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ATOM) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ATOM) dataTypeOf :: ATOM -> DataType $cdataTypeOf :: ATOM -> DataType toConstr :: ATOM -> Constr $ctoConstr :: ATOM -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOM $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ATOM gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOM -> c ATOM $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ATOM -> c ATOM $cp1Data :: Typeable ATOM Data) data ConstraintTERM = Atomar_Term Id | Composite_Term Id [ConstraintTERM] deriving (Int -> ConstraintTERM -> ShowS [ConstraintTERM] -> ShowS ConstraintTERM -> String (Int -> ConstraintTERM -> ShowS) -> (ConstraintTERM -> String) -> ([ConstraintTERM] -> ShowS) -> Show ConstraintTERM forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ConstraintTERM] -> ShowS $cshowList :: [ConstraintTERM] -> ShowS show :: ConstraintTERM -> String $cshow :: ConstraintTERM -> String showsPrec :: Int -> ConstraintTERM -> ShowS $cshowsPrec :: Int -> ConstraintTERM -> ShowS Show, ConstraintTERM -> ConstraintTERM -> Bool (ConstraintTERM -> ConstraintTERM -> Bool) -> (ConstraintTERM -> ConstraintTERM -> Bool) -> Eq ConstraintTERM forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ConstraintTERM -> ConstraintTERM -> Bool $c/= :: ConstraintTERM -> ConstraintTERM -> Bool == :: ConstraintTERM -> ConstraintTERM -> Bool $c== :: ConstraintTERM -> ConstraintTERM -> Bool Eq, Eq ConstraintTERM Eq ConstraintTERM => (ConstraintTERM -> ConstraintTERM -> Ordering) -> (ConstraintTERM -> ConstraintTERM -> Bool) -> (ConstraintTERM -> ConstraintTERM -> Bool) -> (ConstraintTERM -> ConstraintTERM -> Bool) -> (ConstraintTERM -> ConstraintTERM -> Bool) -> (ConstraintTERM -> ConstraintTERM -> ConstraintTERM) -> (ConstraintTERM -> ConstraintTERM -> ConstraintTERM) -> Ord ConstraintTERM ConstraintTERM -> ConstraintTERM -> Bool ConstraintTERM -> ConstraintTERM -> Ordering ConstraintTERM -> ConstraintTERM -> ConstraintTERM forall a. Eq a => (a -> a -> Ordering) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> Bool) -> (a -> a -> a) -> (a -> a -> a) -> Ord a min :: ConstraintTERM -> ConstraintTERM -> ConstraintTERM $cmin :: ConstraintTERM -> ConstraintTERM -> ConstraintTERM max :: ConstraintTERM -> ConstraintTERM -> ConstraintTERM $cmax :: ConstraintTERM -> ConstraintTERM -> ConstraintTERM >= :: ConstraintTERM -> ConstraintTERM -> Bool $c>= :: ConstraintTERM -> ConstraintTERM -> Bool > :: ConstraintTERM -> ConstraintTERM -> Bool $c> :: ConstraintTERM -> ConstraintTERM -> Bool <= :: ConstraintTERM -> ConstraintTERM -> Bool $c<= :: ConstraintTERM -> ConstraintTERM -> Bool < :: ConstraintTERM -> ConstraintTERM -> Bool $c< :: ConstraintTERM -> ConstraintTERM -> Bool compare :: ConstraintTERM -> ConstraintTERM -> Ordering $ccompare :: ConstraintTERM -> ConstraintTERM -> Ordering $cp1Ord :: Eq ConstraintTERM Ord, Typeable, Typeable ConstraintTERM Constr DataType Typeable ConstraintTERM => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintTERM -> c ConstraintTERM) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintTERM) -> (ConstraintTERM -> Constr) -> (ConstraintTERM -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConstraintTERM)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintTERM)) -> ((forall b. Data b => b -> b) -> ConstraintTERM -> ConstraintTERM) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintTERM -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintTERM -> r) -> (forall u. (forall d. Data d => d -> u) -> ConstraintTERM -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> ConstraintTERM -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM) -> Data ConstraintTERM ConstraintTERM -> Constr ConstraintTERM -> DataType (forall b. Data b => b -> b) -> ConstraintTERM -> ConstraintTERM (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintTERM -> c ConstraintTERM (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintTERM forall a. Typeable a => (forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> a -> c a) -> (forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c a) -> (a -> Constr) -> (a -> DataType) -> (forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c a)) -> (forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a)) -> ((forall b. Data b => b -> b) -> a -> a) -> (forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r) -> (forall u. (forall d. Data d => d -> u) -> a -> [u]) -> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u) -> (forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> (forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> a -> m a) -> Data a forall u. Int -> (forall d. Data d => d -> u) -> ConstraintTERM -> u forall u. (forall d. Data d => d -> u) -> ConstraintTERM -> [u] forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintTERM -> r forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintTERM -> r forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintTERM forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintTERM -> c ConstraintTERM forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConstraintTERM) forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintTERM) $cComposite_Term :: Constr $cAtomar_Term :: Constr $tConstraintTERM :: DataType gmapMo :: (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM $cgmapMo :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM gmapMp :: (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM $cgmapMp :: forall (m :: * -> *). MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM gmapM :: (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM $cgmapM :: forall (m :: * -> *). Monad m => (forall d. Data d => d -> m d) -> ConstraintTERM -> m ConstraintTERM gmapQi :: Int -> (forall d. Data d => d -> u) -> ConstraintTERM -> u $cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ConstraintTERM -> u gmapQ :: (forall d. Data d => d -> u) -> ConstraintTERM -> [u] $cgmapQ :: forall u. (forall d. Data d => d -> u) -> ConstraintTERM -> [u] gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintTERM -> r $cgmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintTERM -> r gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintTERM -> r $cgmapQl :: forall r r'. (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintTERM -> r gmapT :: (forall b. Data b => b -> b) -> ConstraintTERM -> ConstraintTERM $cgmapT :: (forall b. Data b => b -> b) -> ConstraintTERM -> ConstraintTERM dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintTERM) $cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *). Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintTERM) dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ConstraintTERM) $cdataCast1 :: forall (t :: * -> *) (c :: * -> *). Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConstraintTERM) dataTypeOf :: ConstraintTERM -> DataType $cdataTypeOf :: ConstraintTERM -> DataType toConstr :: ConstraintTERM -> Constr $ctoConstr :: ConstraintTERM -> Constr gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintTERM $cgunfold :: forall (c :: * -> *). (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintTERM gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintTERM -> c ConstraintTERM $cgfoldl :: forall (c :: * -> *). (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintTERM -> c ConstraintTERM $cp1Data :: Typeable ConstraintTERM Data) instance GetRange ConstraintFORMULA -- default is nullRange