Hets - the Heterogeneous Tool Set
Copyright(c) Daniel Calegari Universidad de la Republica Uruguay 2013
LicenseGPLv2 or higher, see LICENSE.txt
Maintainerdcalegar@fing.edu.uy
Stabilityprovisional
Portabilityportable
Safe HaskellSafe

CSMOF.Sign

Description

 

Documentation

data TypeKind Source #

Constructors

DataTypeKind 
ClassKind 

Instances

Instances details
Eq TypeKind Source # 
Instance details

Defined in CSMOF.Sign

Methods

(==) :: TypeKind -> TypeKind -> Bool

(/=) :: TypeKind -> TypeKind -> Bool

Data TypeKind Source # 
Instance details

Defined in CSMOF.Sign

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeKind -> c TypeKind

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeKind

toConstr :: TypeKind -> Constr

dataTypeOf :: TypeKind -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeKind)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeKind)

gmapT :: (forall b. Data b => b -> b) -> TypeKind -> TypeKind

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeKind -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeKind -> r

gmapQ :: (forall d. Data d => d -> u) -> TypeKind -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeKind -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeKind -> m TypeKind

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeKind -> m TypeKind

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeKind -> m TypeKind

Ord TypeKind Source # 
Instance details

Defined in CSMOF.Sign

Methods

compare :: TypeKind -> TypeKind -> Ordering

(<) :: TypeKind -> TypeKind -> Bool

(<=) :: TypeKind -> TypeKind -> Bool

(>) :: TypeKind -> TypeKind -> Bool

(>=) :: TypeKind -> TypeKind -> Bool

max :: TypeKind -> TypeKind -> TypeKind

min :: TypeKind -> TypeKind -> TypeKind

Show TypeKind Source # 
Instance details

Defined in CSMOF.Sign

Methods

showsPrec :: Int -> TypeKind -> ShowS

show :: TypeKind -> String

showList :: [TypeKind] -> ShowS

Generic TypeKind 
Instance details

Defined in CSMOF.ATC_CSMOF

Associated Types

type Rep TypeKind :: Type -> Type

Methods

from :: TypeKind -> Rep TypeKind x

to :: Rep TypeKind x -> TypeKind

FromJSON TypeKind 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

parseJSON :: Value -> Parser TypeKind

parseJSONList :: Value -> Parser [TypeKind]

ToJSON TypeKind 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toJSON :: TypeKind -> Value

toEncoding :: TypeKind -> Encoding

toJSONList :: [TypeKind] -> Value

toEncodingList :: [TypeKind] -> Encoding

ShATermConvertible TypeKind 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toShATermAux :: ATermTable -> TypeKind -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [TypeKind] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, TypeKind)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [TypeKind])

Pretty TypeKind Source # 
Instance details

Defined in CSMOF.Sign

type Rep TypeKind 
Instance details

Defined in CSMOF.ATC_CSMOF

type Rep TypeKind = D1 ('MetaData "TypeKind" "CSMOF.Sign" "main" 'False) (C1 ('MetaCons "DataTypeKind" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ClassKind" 'PrefixI 'False) (U1 :: Type -> Type))

data TypeClass Source #

Constructors

TypeClass 

Fields

Instances

Instances details
Eq TypeClass Source # 
Instance details

Defined in CSMOF.Sign

Methods

(==) :: TypeClass -> TypeClass -> Bool

(/=) :: TypeClass -> TypeClass -> Bool

Data TypeClass Source # 
Instance details

Defined in CSMOF.Sign

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TypeClass -> c TypeClass

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TypeClass

toConstr :: TypeClass -> Constr

dataTypeOf :: TypeClass -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TypeClass)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TypeClass)

gmapT :: (forall b. Data b => b -> b) -> TypeClass -> TypeClass

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TypeClass -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TypeClass -> r

gmapQ :: (forall d. Data d => d -> u) -> TypeClass -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> TypeClass -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TypeClass -> m TypeClass

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeClass -> m TypeClass

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TypeClass -> m TypeClass

Ord TypeClass Source # 
Instance details

Defined in CSMOF.Sign

Methods

compare :: TypeClass -> TypeClass -> Ordering

(<) :: TypeClass -> TypeClass -> Bool

(<=) :: TypeClass -> TypeClass -> Bool

(>) :: TypeClass -> TypeClass -> Bool

(>=) :: TypeClass -> TypeClass -> Bool

max :: TypeClass -> TypeClass -> TypeClass

min :: TypeClass -> TypeClass -> TypeClass

Show TypeClass Source # 
Instance details

Defined in CSMOF.Sign

Methods

showsPrec :: Int -> TypeClass -> ShowS

show :: TypeClass -> String

showList :: [TypeClass] -> ShowS

Generic TypeClass 
Instance details

Defined in CSMOF.ATC_CSMOF

Associated Types

type Rep TypeClass :: Type -> Type

Methods

from :: TypeClass -> Rep TypeClass x

to :: Rep TypeClass x -> TypeClass

FromJSON TypeClass 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

parseJSON :: Value -> Parser TypeClass

parseJSONList :: Value -> Parser [TypeClass]

ToJSON TypeClass 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toJSON :: TypeClass -> Value

toEncoding :: TypeClass -> Encoding

toJSONList :: [TypeClass] -> Value

toEncodingList :: [TypeClass] -> Encoding

ShATermConvertible TypeClass 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toShATermAux :: ATermTable -> TypeClass -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [TypeClass] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, TypeClass)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [TypeClass])

Pretty TypeClass Source # 
Instance details

Defined in CSMOF.Sign

type Rep TypeClass 
Instance details

Defined in CSMOF.ATC_CSMOF

type Rep TypeClass = D1 ('MetaData "TypeClass" "CSMOF.Sign" "main" 'False) (C1 ('MetaCons "TypeClass" 'PrefixI 'True) (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "kind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeKind)))

type Role = String Source #

data PropertyT Source #

Instances

Instances details
Eq PropertyT Source # 
Instance details

Defined in CSMOF.Sign

Methods

(==) :: PropertyT -> PropertyT -> Bool

(/=) :: PropertyT -> PropertyT -> Bool

Data PropertyT Source # 
Instance details

Defined in CSMOF.Sign

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PropertyT -> c PropertyT

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PropertyT

toConstr :: PropertyT -> Constr

dataTypeOf :: PropertyT -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PropertyT)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PropertyT)

gmapT :: (forall b. Data b => b -> b) -> PropertyT -> PropertyT

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PropertyT -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PropertyT -> r

gmapQ :: (forall d. Data d => d -> u) -> PropertyT -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> PropertyT -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PropertyT -> m PropertyT

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PropertyT -> m PropertyT

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PropertyT -> m PropertyT

Ord PropertyT Source # 
Instance details

Defined in CSMOF.Sign

Methods

compare :: PropertyT -> PropertyT -> Ordering

(<) :: PropertyT -> PropertyT -> Bool

(<=) :: PropertyT -> PropertyT -> Bool

(>) :: PropertyT -> PropertyT -> Bool

(>=) :: PropertyT -> PropertyT -> Bool

max :: PropertyT -> PropertyT -> PropertyT

min :: PropertyT -> PropertyT -> PropertyT

Show PropertyT Source # 
Instance details

Defined in CSMOF.Sign

Methods

showsPrec :: Int -> PropertyT -> ShowS

show :: PropertyT -> String

showList :: [PropertyT] -> ShowS

Generic PropertyT 
Instance details

Defined in CSMOF.ATC_CSMOF

Associated Types

type Rep PropertyT :: Type -> Type

Methods

from :: PropertyT -> Rep PropertyT x

to :: Rep PropertyT x -> PropertyT

FromJSON PropertyT 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

parseJSON :: Value -> Parser PropertyT

parseJSONList :: Value -> Parser [PropertyT]

ToJSON PropertyT 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toJSON :: PropertyT -> Value

toEncoding :: PropertyT -> Encoding

toJSONList :: [PropertyT] -> Value

toEncodingList :: [PropertyT] -> Encoding

ShATermConvertible PropertyT 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toShATermAux :: ATermTable -> PropertyT -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [PropertyT] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, PropertyT)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [PropertyT])

Pretty PropertyT Source # 
Instance details

Defined in CSMOF.Sign

type Rep PropertyT 
Instance details

Defined in CSMOF.ATC_CSMOF

type Rep PropertyT = D1 ('MetaData "PropertyT" "CSMOF.Sign" "main" 'False) (C1 ('MetaCons "PropertyT" 'PrefixI 'True) ((S1 ('MetaSel ('Just "sourceRole") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role) :*: S1 ('MetaSel ('Just "sourceType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeClass)) :*: (S1 ('MetaSel ('Just "targetRole") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role) :*: S1 ('MetaSel ('Just "targetType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeClass))))

data LinkT Source #

Constructors

LinkT 

Instances

Instances details
Eq LinkT Source # 
Instance details

Defined in CSMOF.Sign

Methods

(==) :: LinkT -> LinkT -> Bool

(/=) :: LinkT -> LinkT -> Bool

Data LinkT Source # 
Instance details

Defined in CSMOF.Sign

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LinkT -> c LinkT

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LinkT

toConstr :: LinkT -> Constr

dataTypeOf :: LinkT -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LinkT)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LinkT)

gmapT :: (forall b. Data b => b -> b) -> LinkT -> LinkT

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LinkT -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LinkT -> r

gmapQ :: (forall d. Data d => d -> u) -> LinkT -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> LinkT -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LinkT -> m LinkT

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LinkT -> m LinkT

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LinkT -> m LinkT

Ord LinkT Source # 
Instance details

Defined in CSMOF.Sign

Methods

compare :: LinkT -> LinkT -> Ordering

(<) :: LinkT -> LinkT -> Bool

(<=) :: LinkT -> LinkT -> Bool

(>) :: LinkT -> LinkT -> Bool

(>=) :: LinkT -> LinkT -> Bool

max :: LinkT -> LinkT -> LinkT

min :: LinkT -> LinkT -> LinkT

Show LinkT Source # 
Instance details

Defined in CSMOF.Sign

Methods

showsPrec :: Int -> LinkT -> ShowS

show :: LinkT -> String

showList :: [LinkT] -> ShowS

Generic LinkT 
Instance details

Defined in CSMOF.ATC_CSMOF

Associated Types

type Rep LinkT :: Type -> Type

Methods

from :: LinkT -> Rep LinkT x

to :: Rep LinkT x -> LinkT

FromJSON LinkT 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

parseJSON :: Value -> Parser LinkT

parseJSONList :: Value -> Parser [LinkT]

ToJSON LinkT 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toJSON :: LinkT -> Value

toEncoding :: LinkT -> Encoding

toJSONList :: [LinkT] -> Value

toEncodingList :: [LinkT] -> Encoding

ShATermConvertible LinkT 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toShATermAux :: ATermTable -> LinkT -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [LinkT] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, LinkT)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [LinkT])

Pretty LinkT Source # 
Instance details

Defined in CSMOF.Sign

type Rep LinkT 
Instance details

Defined in CSMOF.ATC_CSMOF

type Rep LinkT = D1 ('MetaData "LinkT" "CSMOF.Sign" "main" 'False) (C1 ('MetaCons "LinkT" 'PrefixI 'True) (S1 ('MetaSel ('Just "sourceVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role) :*: (S1 ('MetaSel ('Just "targetVar") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role) :*: S1 ('MetaSel ('Just "property") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PropertyT))))

data Sign Source #

Constructors

Sign 

Fields

Instances

Instances details
Eq Sign Source # 
Instance details

Defined in CSMOF.Sign

Methods

(==) :: Sign -> Sign -> Bool

(/=) :: Sign -> Sign -> Bool

Data Sign Source # 
Instance details

Defined in CSMOF.Sign

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sign -> c Sign

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Sign

toConstr :: Sign -> Constr

dataTypeOf :: Sign -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Sign)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Sign)

gmapT :: (forall b. Data b => b -> b) -> Sign -> Sign

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sign -> r

gmapQ :: (forall d. Data d => d -> u) -> Sign -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Sign -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sign -> m Sign

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sign -> m Sign

Ord Sign Source # 
Instance details

Defined in CSMOF.Sign

Methods

compare :: Sign -> Sign -> Ordering

(<) :: Sign -> Sign -> Bool

(<=) :: Sign -> Sign -> Bool

(>) :: Sign -> Sign -> Bool

(>=) :: Sign -> Sign -> Bool

max :: Sign -> Sign -> Sign

min :: Sign -> Sign -> Sign

Show Sign Source # 
Instance details

Defined in CSMOF.Sign

Methods

showsPrec :: Int -> Sign -> ShowS

show :: Sign -> String

showList :: [Sign] -> ShowS

Generic Sign 
Instance details

Defined in CSMOF.ATC_CSMOF

Associated Types

type Rep Sign :: Type -> Type

Methods

from :: Sign -> Rep Sign x

to :: Rep Sign x -> Sign

GetRange Sign Source # 
Instance details

Defined in CSMOF.Sign

FromJSON Sign 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

parseJSON :: Value -> Parser Sign

parseJSONList :: Value -> Parser [Sign]

ToJSON Sign 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toJSON :: Sign -> Value

toEncoding :: Sign -> Encoding

toJSONList :: [Sign] -> Value

toEncodingList :: [Sign] -> Encoding

ShATermConvertible Sign 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toShATermAux :: ATermTable -> Sign -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [Sign] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, Sign)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [Sign])

Pretty Sign Source # 
Instance details

Defined in CSMOF.Sign

Methods

pretty :: Sign -> Doc Source #

pretties :: [Sign] -> Doc Source #

Sentences CSMOF Sen Sign Morphism () Source # 
Instance details

Defined in CSMOF.Logic_CSMOF

Methods

map_sen :: CSMOF -> Morphism -> Sen -> Result Sen Source #

simplify_sen :: CSMOF -> Sign -> Sen -> Sen Source #

negation :: CSMOF -> Sen -> Maybe Sen Source #

print_sign :: CSMOF -> Sign -> Doc Source #

print_named :: CSMOF -> Named Sen -> Doc Source #

sym_of :: CSMOF -> Sign -> [Set ()] Source #

mostSymsOf :: CSMOF -> Sign -> [()] Source #

symmap_of :: CSMOF -> Morphism -> EndoMap () Source #

sym_name :: CSMOF -> () -> Id Source #

sym_label :: CSMOF -> () -> Maybe String Source #

fullSymName :: CSMOF -> () -> String Source #

symKind :: CSMOF -> () -> String Source #

symsOfSen :: CSMOF -> Sign -> Sen -> [()] Source #

pair_symbols :: CSMOF -> () -> () -> Result () Source #

StaticAnalysis CSMOF Metamodel Sen () () Sign Morphism () () Source # 
Instance details

Defined in CSMOF.Logic_CSMOF

Methods

basic_analysis :: CSMOF -> Maybe ((Metamodel, Sign, GlobalAnnos) -> Result (Metamodel, ExtSign Sign (), [Named Sen])) Source #

sen_analysis :: CSMOF -> Maybe ((Metamodel, Sign, Sen) -> Result Sen) Source #

extBasicAnalysis :: CSMOF -> IRI -> LibName -> Metamodel -> Sign -> GlobalAnnos -> Result (Metamodel, ExtSign Sign (), [Named Sen]) Source #

stat_symb_map_items :: CSMOF -> Sign -> Maybe Sign -> [()] -> Result (EndoMap ()) Source #

stat_symb_items :: CSMOF -> Sign -> [()] -> Result [()] Source #

convertTheory :: CSMOF -> Maybe ((Sign, [Named Sen]) -> Metamodel) Source #

ensures_amalgamability :: CSMOF -> ([CASLAmalgOpt], Gr Sign (Int, Morphism), [(Int, Morphism)], Gr String String) -> Result Amalgamates Source #

quotient_term_algebra :: CSMOF -> Morphism -> [Named Sen] -> Result (Sign, [Named Sen]) Source #

signature_colimit :: CSMOF -> Gr Sign (Int, Morphism) -> Result (Sign, Map Int Morphism) Source #

qualify :: CSMOF -> SIMPLE_ID -> LibName -> Morphism -> Sign -> Result (Morphism, [Named Sen]) Source #

symbol_to_raw :: CSMOF -> () -> () Source #

id_to_raw :: CSMOF -> Id -> () Source #

matches :: CSMOF -> () -> () -> Bool Source #

empty_signature :: CSMOF -> Sign Source #

add_symb_to_sign :: CSMOF -> Sign -> () -> Result Sign Source #

signature_union :: CSMOF -> Sign -> Sign -> Result Sign Source #

signatureDiff :: CSMOF -> Sign -> Sign -> Result Sign Source #

intersection :: CSMOF -> Sign -> Sign -> Result Sign Source #

final_union :: CSMOF -> Sign -> Sign -> Result Sign Source #

morphism_union :: CSMOF -> Morphism -> Morphism -> Result Morphism Source #

is_subsig :: CSMOF -> Sign -> Sign -> Bool Source #

subsig_inclusion :: CSMOF -> Sign -> Sign -> Result Morphism Source #

generated_sign :: CSMOF -> Set () -> Sign -> Result Morphism Source #

cogenerated_sign :: CSMOF -> Set () -> Sign -> Result Morphism Source #

induced_from_morphism :: CSMOF -> EndoMap () -> Sign -> Result Morphism Source #

induced_from_to_morphism :: CSMOF -> EndoMap () -> ExtSign Sign () -> ExtSign Sign () -> Result Morphism Source #

is_transportable :: CSMOF -> Morphism -> Bool Source #

is_injective :: CSMOF -> Morphism -> Bool Source #

theory_to_taxonomy :: CSMOF -> TaxoGraphKind -> MMiSSOntology -> Sign -> [Named Sen] -> Result MMiSSOntology Source #

corresp2th :: CSMOF -> String -> Bool -> Sign -> Sign -> [()] -> [()] -> EndoMap () -> EndoMap () -> REL_REF -> Result (Sign, [Named Sen], Sign, Sign, EndoMap (), EndoMap ()) Source #

equiv2cospan :: CSMOF -> Sign -> Sign -> [()] -> [()] -> Result (Sign, Sign, Sign, EndoMap (), EndoMap ()) Source #

extract_module :: CSMOF -> [IRI] -> (Sign, [Named Sen]) -> Result (Sign, [Named Sen]) Source #

Logic CSMOF () Metamodel Sen () () Sign Morphism () () () Source # 
Instance details

Defined in CSMOF.Logic_CSMOF

Methods

parse_basic_sen :: CSMOF -> Maybe (Metamodel -> AParser st Sen) Source #

stability :: CSMOF -> Stability Source #

data_logic :: CSMOF -> Maybe AnyLogic Source #

top_sublogic :: CSMOF -> () Source #

all_sublogics :: CSMOF -> [()] Source #

bottomSublogic :: CSMOF -> Maybe () Source #

sublogicDimensions :: CSMOF -> [[()]] Source #

parseSublogic :: CSMOF -> String -> Maybe () Source #

proj_sublogic_epsilon :: CSMOF -> () -> Sign -> Morphism Source #

provers :: CSMOF -> [Prover Sign Sen Morphism () ()] Source #

default_prover :: CSMOF -> String Source #

cons_checkers :: CSMOF -> [ConsChecker Sign Sen () Morphism ()] Source #

conservativityCheck :: CSMOF -> [ConservativityChecker Sign Sen Morphism] Source #

empty_proof_tree :: CSMOF -> () Source #

syntaxTable :: CSMOF -> Sign -> Maybe SyntaxTable Source #

omdoc_metatheory :: CSMOF -> Maybe OMCD Source #

export_symToOmdoc :: CSMOF -> NameMap () -> () -> String -> Result TCElement Source #

export_senToOmdoc :: CSMOF -> NameMap () -> Sen -> Result TCorOMElement Source #

export_theoryToOmdoc :: CSMOF -> SigMap () -> Sign -> [Named Sen] -> Result [TCElement] Source #

omdocToSym :: CSMOF -> SigMapI () -> TCElement -> String -> Result () Source #

omdocToSen :: CSMOF -> SigMapI () -> TCElement -> String -> Result (Maybe (Named Sen)) Source #

addOMadtToTheory :: CSMOF -> SigMapI () -> (Sign, [Named Sen]) -> [[OmdADT]] -> Result (Sign, [Named Sen]) Source #

addOmdocToTheory :: CSMOF -> SigMapI () -> (Sign, [Named Sen]) -> [TCElement] -> Result (Sign, [Named Sen]) Source #

sublogicOfTheo :: CSMOF -> (Sign, [Sen]) -> () Source #

Comorphism CSMOF2CASL CSMOF () Metamodel Sen () () Sign Morphism () () () CASL CASL_Sublogics CASLBasicSpec CASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS CASLSign CASLMor Symbol RawSymbol ProofTree Source # 
Instance details

Defined in Comorphisms.CSMOF2CASL

type Rep Sign 
Instance details

Defined in CSMOF.ATC_CSMOF

type Rep Sign = D1 ('MetaData "Sign" "CSMOF.Sign" "main" 'False) (C1 ('MetaCons "Sign" 'PrefixI 'True) ((S1 ('MetaSel ('Just "types") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set TypeClass)) :*: (S1 ('MetaSel ('Just "typeRel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Rel TypeClass)) :*: S1 ('MetaSel ('Just "abstractClasses") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set TypeClass)))) :*: ((S1 ('MetaSel ('Just "roles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set Role)) :*: S1 ('MetaSel ('Just "properties") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set PropertyT))) :*: (S1 ('MetaSel ('Just "instances") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map String TypeClass)) :*: S1 ('MetaSel ('Just "links") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set LinkT))))))

toInstance :: (String, TypeClass) -> Doc Source #

data MultConstr Source #

Constructors

MultConstr 

Fields

Instances

Instances details
Eq MultConstr Source # 
Instance details

Defined in CSMOF.Sign

Methods

(==) :: MultConstr -> MultConstr -> Bool

(/=) :: MultConstr -> MultConstr -> Bool

Data MultConstr Source # 
Instance details

Defined in CSMOF.Sign

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MultConstr -> c MultConstr

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MultConstr

toConstr :: MultConstr -> Constr

dataTypeOf :: MultConstr -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MultConstr)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MultConstr)

gmapT :: (forall b. Data b => b -> b) -> MultConstr -> MultConstr

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MultConstr -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MultConstr -> r

gmapQ :: (forall d. Data d => d -> u) -> MultConstr -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> MultConstr -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MultConstr -> m MultConstr

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MultConstr -> m MultConstr

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MultConstr -> m MultConstr

Ord MultConstr Source # 
Instance details

Defined in CSMOF.Sign

Show MultConstr Source # 
Instance details

Defined in CSMOF.Sign

Methods

showsPrec :: Int -> MultConstr -> ShowS

show :: MultConstr -> String

showList :: [MultConstr] -> ShowS

Generic MultConstr 
Instance details

Defined in CSMOF.ATC_CSMOF

Associated Types

type Rep MultConstr :: Type -> Type

Methods

from :: MultConstr -> Rep MultConstr x

to :: Rep MultConstr x -> MultConstr

FromJSON MultConstr 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

parseJSON :: Value -> Parser MultConstr

parseJSONList :: Value -> Parser [MultConstr]

ToJSON MultConstr 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toJSON :: MultConstr -> Value

toEncoding :: MultConstr -> Encoding

toJSONList :: [MultConstr] -> Value

toEncodingList :: [MultConstr] -> Encoding

ShATermConvertible MultConstr 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toShATermAux :: ATermTable -> MultConstr -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [MultConstr] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, MultConstr)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [MultConstr])

Pretty MultConstr Source # 
Instance details

Defined in CSMOF.Sign

type Rep MultConstr 
Instance details

Defined in CSMOF.ATC_CSMOF

type Rep MultConstr = D1 ('MetaData "MultConstr" "CSMOF.Sign" "main" 'False) (C1 ('MetaCons "MultConstr" 'PrefixI 'True) (S1 ('MetaSel ('Just "getType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TypeClass) :*: S1 ('MetaSel ('Just "getRole") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Role)))

data ConstraintType Source #

Constructors

EQUAL 
LEQ 
GEQ 

Instances

Instances details
Eq ConstraintType Source # 
Instance details

Defined in CSMOF.Sign

Data ConstraintType Source # 
Instance details

Defined in CSMOF.Sign

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConstraintType -> c ConstraintType

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConstraintType

toConstr :: ConstraintType -> Constr

dataTypeOf :: ConstraintType -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConstraintType)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConstraintType)

gmapT :: (forall b. Data b => b -> b) -> ConstraintType -> ConstraintType

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintType -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConstraintType -> r

gmapQ :: (forall d. Data d => d -> u) -> ConstraintType -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> ConstraintType -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConstraintType -> m ConstraintType

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintType -> m ConstraintType

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConstraintType -> m ConstraintType

Ord ConstraintType Source # 
Instance details

Defined in CSMOF.Sign

Show ConstraintType Source # 
Instance details

Defined in CSMOF.Sign

Methods

showsPrec :: Int -> ConstraintType -> ShowS

show :: ConstraintType -> String

showList :: [ConstraintType] -> ShowS

Generic ConstraintType 
Instance details

Defined in CSMOF.ATC_CSMOF

Associated Types

type Rep ConstraintType :: Type -> Type

FromJSON ConstraintType 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

parseJSON :: Value -> Parser ConstraintType

parseJSONList :: Value -> Parser [ConstraintType]

ToJSON ConstraintType 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toJSON :: ConstraintType -> Value

toEncoding :: ConstraintType -> Encoding

toJSONList :: [ConstraintType] -> Value

toEncodingList :: [ConstraintType] -> Encoding

ShATermConvertible ConstraintType 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toShATermAux :: ATermTable -> ConstraintType -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [ConstraintType] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, ConstraintType)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [ConstraintType])

Pretty ConstraintType Source # 
Instance details

Defined in CSMOF.Sign

type Rep ConstraintType 
Instance details

Defined in CSMOF.ATC_CSMOF

type Rep ConstraintType = D1 ('MetaData "ConstraintType" "CSMOF.Sign" "main" 'False) (C1 ('MetaCons "EQUAL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LEQ" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "GEQ" 'PrefixI 'False) (U1 :: Type -> Type)))

data Sen Source #

Constructors

Sen 

Instances

Instances details
Eq Sen Source # 
Instance details

Defined in CSMOF.Sign

Methods

(==) :: Sen -> Sen -> Bool

(/=) :: Sen -> Sen -> Bool

Data Sen Source # 
Instance details

Defined in CSMOF.Sign

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Sen -> c Sen

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Sen

toConstr :: Sen -> Constr

dataTypeOf :: Sen -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Sen)

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Sen)

gmapT :: (forall b. Data b => b -> b) -> Sen -> Sen

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Sen -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Sen -> r

gmapQ :: (forall d. Data d => d -> u) -> Sen -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Sen -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Sen -> m Sen

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Sen -> m Sen

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Sen -> m Sen

Ord Sen Source # 
Instance details

Defined in CSMOF.Sign

Methods

compare :: Sen -> Sen -> Ordering

(<) :: Sen -> Sen -> Bool

(<=) :: Sen -> Sen -> Bool

(>) :: Sen -> Sen -> Bool

(>=) :: Sen -> Sen -> Bool

max :: Sen -> Sen -> Sen

min :: Sen -> Sen -> Sen

Show Sen Source # 
Instance details

Defined in CSMOF.Sign

Methods

showsPrec :: Int -> Sen -> ShowS

show :: Sen -> String

showList :: [Sen] -> ShowS

Generic Sen 
Instance details

Defined in CSMOF.ATC_CSMOF

Associated Types

type Rep Sen :: Type -> Type

Methods

from :: Sen -> Rep Sen x

to :: Rep Sen x -> Sen

GetRange Sen Source # 
Instance details

Defined in CSMOF.Sign

FromJSON Sen 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

parseJSON :: Value -> Parser Sen

parseJSONList :: Value -> Parser [Sen]

ToJSON Sen 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toJSON :: Sen -> Value

toEncoding :: Sen -> Encoding

toJSONList :: [Sen] -> Value

toEncodingList :: [Sen] -> Encoding

ShATermConvertible Sen 
Instance details

Defined in CSMOF.ATC_CSMOF

Methods

toShATermAux :: ATermTable -> Sen -> IO (ATermTable, Int)

toShATermList' :: ATermTable -> [Sen] -> IO (ATermTable, Int)

fromShATermAux :: Int -> ATermTable -> (ATermTable, Sen)

fromShATermList' :: Int -> ATermTable -> (ATermTable, [Sen])

Pretty Sen Source # 
Instance details

Defined in CSMOF.Sign

Methods

pretty :: Sen -> Doc Source #

pretties :: [Sen] -> Doc Source #

Sentences CSMOF Sen Sign Morphism () Source # 
Instance details

Defined in CSMOF.Logic_CSMOF

Methods

map_sen :: CSMOF -> Morphism -> Sen -> Result Sen Source #

simplify_sen :: CSMOF -> Sign -> Sen -> Sen Source #

negation :: CSMOF -> Sen -> Maybe Sen Source #

print_sign :: CSMOF -> Sign -> Doc Source #

print_named :: CSMOF -> Named Sen -> Doc Source #

sym_of :: CSMOF -> Sign -> [Set ()] Source #

mostSymsOf :: CSMOF -> Sign -> [()] Source #

symmap_of :: CSMOF -> Morphism -> EndoMap () Source #

sym_name :: CSMOF -> () -> Id Source #

sym_label :: CSMOF -> () -> Maybe String Source #

fullSymName :: CSMOF -> () -> String Source #

symKind :: CSMOF -> () -> String Source #

symsOfSen :: CSMOF -> Sign -> Sen -> [()] Source #

pair_symbols :: CSMOF -> () -> () -> Result () Source #

StaticAnalysis CSMOF Metamodel Sen () () Sign Morphism () () Source # 
Instance details

Defined in CSMOF.Logic_CSMOF

Methods

basic_analysis :: CSMOF -> Maybe ((Metamodel, Sign, GlobalAnnos) -> Result (Metamodel, ExtSign Sign (), [Named Sen])) Source #

sen_analysis :: CSMOF -> Maybe ((Metamodel, Sign, Sen) -> Result Sen) Source #

extBasicAnalysis :: CSMOF -> IRI -> LibName -> Metamodel -> Sign -> GlobalAnnos -> Result (Metamodel, ExtSign Sign (), [Named Sen]) Source #

stat_symb_map_items :: CSMOF -> Sign -> Maybe Sign -> [()] -> Result (EndoMap ()) Source #

stat_symb_items :: CSMOF -> Sign -> [()] -> Result [()] Source #

convertTheory :: CSMOF -> Maybe ((Sign, [Named Sen]) -> Metamodel) Source #

ensures_amalgamability :: CSMOF -> ([CASLAmalgOpt], Gr Sign (Int, Morphism), [(Int, Morphism)], Gr String String) -> Result Amalgamates Source #

quotient_term_algebra :: CSMOF -> Morphism -> [Named Sen] -> Result (Sign, [Named Sen]) Source #

signature_colimit :: CSMOF -> Gr Sign (Int, Morphism) -> Result (Sign, Map Int Morphism) Source #

qualify :: CSMOF -> SIMPLE_ID -> LibName -> Morphism -> Sign -> Result (Morphism, [Named Sen]) Source #

symbol_to_raw :: CSMOF -> () -> () Source #

id_to_raw :: CSMOF -> Id -> () Source #

matches :: CSMOF -> () -> () -> Bool Source #

empty_signature :: CSMOF -> Sign Source #

add_symb_to_sign :: CSMOF -> Sign -> () -> Result Sign Source #

signature_union :: CSMOF -> Sign -> Sign -> Result Sign Source #

signatureDiff :: CSMOF -> Sign -> Sign -> Result Sign Source #

intersection :: CSMOF -> Sign -> Sign -> Result Sign Source #

final_union :: CSMOF -> Sign -> Sign -> Result Sign Source #

morphism_union :: CSMOF -> Morphism -> Morphism -> Result Morphism Source #

is_subsig :: CSMOF -> Sign -> Sign -> Bool Source #

subsig_inclusion :: CSMOF -> Sign -> Sign -> Result Morphism Source #

generated_sign :: CSMOF -> Set () -> Sign -> Result Morphism Source #

cogenerated_sign :: CSMOF -> Set () -> Sign -> Result Morphism Source #

induced_from_morphism :: CSMOF -> EndoMap () -> Sign -> Result Morphism Source #

induced_from_to_morphism :: CSMOF -> EndoMap () -> ExtSign Sign () -> ExtSign Sign () -> Result Morphism Source #

is_transportable :: CSMOF -> Morphism -> Bool Source #

is_injective :: CSMOF -> Morphism -> Bool Source #

theory_to_taxonomy :: CSMOF -> TaxoGraphKind -> MMiSSOntology -> Sign -> [Named Sen] -> Result MMiSSOntology Source #

corresp2th :: CSMOF -> String -> Bool -> Sign -> Sign -> [()] -> [()] -> EndoMap () -> EndoMap () -> REL_REF -> Result (Sign, [Named Sen], Sign, Sign, EndoMap (), EndoMap ()) Source #

equiv2cospan :: CSMOF -> Sign -> Sign -> [()] -> [()] -> Result (Sign, Sign, Sign, EndoMap (), EndoMap ()) Source #

extract_module :: CSMOF -> [IRI] -> (Sign, [Named Sen]) -> Result (Sign, [Named Sen]) Source #

Logic CSMOF () Metamodel Sen () () Sign Morphism () () () Source # 
Instance details

Defined in CSMOF.Logic_CSMOF

Methods

parse_basic_sen :: CSMOF -> Maybe (Metamodel -> AParser st Sen) Source #

stability :: CSMOF -> Stability Source #

data_logic :: CSMOF -> Maybe AnyLogic Source #

top_sublogic :: CSMOF -> () Source #

all_sublogics :: CSMOF -> [()] Source #

bottomSublogic :: CSMOF -> Maybe () Source #

sublogicDimensions :: CSMOF -> [[()]] Source #

parseSublogic :: CSMOF -> String -> Maybe () Source #

proj_sublogic_epsilon :: CSMOF -> () -> Sign -> Morphism Source #

provers :: CSMOF -> [Prover Sign Sen Morphism () ()] Source #

default_prover :: CSMOF -> String Source #

cons_checkers :: CSMOF -> [ConsChecker Sign Sen () Morphism ()] Source #

conservativityCheck :: CSMOF -> [ConservativityChecker Sign Sen Morphism] Source #

empty_proof_tree :: CSMOF -> () Source #

syntaxTable :: CSMOF -> Sign -> Maybe SyntaxTable Source #

omdoc_metatheory :: CSMOF -> Maybe OMCD Source #

export_symToOmdoc :: CSMOF -> NameMap () -> () -> String -> Result TCElement Source #

export_senToOmdoc :: CSMOF -> NameMap () -> Sen -> Result TCorOMElement Source #

export_theoryToOmdoc :: CSMOF -> SigMap () -> Sign -> [Named Sen] -> Result [TCElement] Source #

omdocToSym :: CSMOF -> SigMapI () -> TCElement -> String -> Result () Source #

omdocToSen :: CSMOF -> SigMapI () -> TCElement -> String -> Result (Maybe (Named Sen)) Source #

addOMadtToTheory :: CSMOF -> SigMapI () -> (Sign, [Named Sen]) -> [[OmdADT]] -> Result (Sign, [Named Sen]) Source #

addOmdocToTheory :: CSMOF -> SigMapI () -> (Sign, [Named Sen]) -> [TCElement] -> Result (Sign, [Named Sen]) Source #

sublogicOfTheo :: CSMOF -> (Sign, [Sen]) -> () Source #

Comorphism CSMOF2CASL CSMOF () Metamodel Sen () () Sign Morphism () () () CASL CASL_Sublogics CASLBasicSpec CASLFORMULA SYMB_ITEMS SYMB_MAP_ITEMS CASLSign CASLMor Symbol RawSymbol ProofTree Source # 
Instance details

Defined in Comorphisms.CSMOF2CASL

type Rep Sen 
Instance details

Defined in CSMOF.ATC_CSMOF

type Rep Sen = D1 ('MetaData "Sen" "CSMOF.Sign" "main" 'False) (C1 ('MetaCons "Sen" 'PrefixI 'True) (S1 ('MetaSel ('Just "constraint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 MultConstr) :*: (S1 ('MetaSel ('Just "cardinality") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "constraintType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ConstraintType))))