Copyright | (c) Pascal Schmidt, C. Maeder, and Uni Bremen 2002-2006 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | Christian.Maeder@dfki.de |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Sublogic analysis for CASL
This module provides the sublogic functions (as required by Logic.hs) for CASL. The functions allow to compute the minimal sublogics needed by a given element, to check whether an item is part of a given sublogic, and to project an element into a given sublogic.
- type CASL_Sublogics = CASL_SL ()
- data CASL_SL a = CASL_SL {}
- data CASL_Formulas
- data SubsortingFeatures
- data SortGenerationFeatures
- class (Ord l, Show l) => Lattice l where
- has_sub :: CASL_SL a -> Bool
- has_cons :: CASL_SL a -> Bool
- mkTop :: a -> CASL_SL a
- top :: Lattice a => CASL_SL a
- caslTop :: Lattice a => CASL_SL a
- cFol :: Lattice a => CASL_SL a
- sublogics_max :: Lattice a => CASL_SL a -> CASL_SL a -> CASL_SL a
- comp_list :: Lattice a => [CASL_SL a] -> CASL_SL a
- bottom :: Lattice a => CASL_SL a
- mkBot :: a -> CASL_SL a
- emptyMapConsFeature :: SortGenerationFeatures
- need_sub :: Lattice a => CASL_SL a
- need_pred :: Lattice a => CASL_SL a
- need_horn :: Lattice a => CASL_SL a
- need_fol :: Lattice a => CASL_SL a
- updExtFeature :: (a -> a) -> CASL_SL a -> CASL_SL a
- sublogics_name :: (a -> String) -> CASL_SL a -> String
- parseSL :: (String -> Maybe (a, String)) -> String -> Maybe (CASL_SL a)
- parseBool :: String -> String -> (Bool, String)
- sublogics_all :: Lattice a => [a] -> [CASL_SL a]
- sDims :: Lattice a => [[a]] -> [[CASL_SL a]]
- sl_sig_items :: Lattice a => (s -> CASL_SL a) -> (f -> CASL_SL a) -> SIG_ITEMS s f -> CASL_SL a
- sl_basic_spec :: Lattice a => (b -> CASL_SL a) -> (s -> CASL_SL a) -> (f -> CASL_SL a) -> BASIC_SPEC b s f -> CASL_SL a
- sl_opkind :: Lattice a => OpKind -> CASL_SL a
- sl_op_type :: Lattice a => OP_TYPE -> CASL_SL a
- sl_op_item :: Lattice a => (f -> CASL_SL a) -> OP_ITEM f -> CASL_SL a
- sl_pred_item :: Lattice a => (f -> CASL_SL a) -> PRED_ITEM f -> CASL_SL a
- sl_sentence :: Lattice a => (f -> CASL_SL a) -> FORMULA f -> CASL_SL a
- sl_term :: Lattice a => (f -> CASL_SL a) -> TERM f -> CASL_SL a
- sl_symb_items :: Lattice a => SYMB_ITEMS -> CASL_SL a
- sl_symb_map_items :: Lattice a => SYMB_MAP_ITEMS -> CASL_SL a
- sl_sign :: Lattice a => (e -> CASL_SL a) -> Sign f e -> CASL_SL a
- sl_morphism :: Lattice a => (e -> CASL_SL a) -> Morphism f e m -> CASL_SL a
- sl_symbol :: Lattice a => Symbol -> CASL_SL a
- pr_basic_spec :: Lattice a => (CASL_SL a -> b -> (Maybe (BASIC_ITEMS b s f), [SORT])) -> (CASL_SL a -> s -> (Maybe (SIG_ITEMS s f), [SORT])) -> (CASL_SL a -> f -> Maybe (FORMULA f)) -> CASL_SL a -> BASIC_SPEC b s f -> BASIC_SPEC b s f
- pr_symb_items :: Lattice a => CASL_SL a -> SYMB_ITEMS -> Maybe SYMB_ITEMS
- pr_symb_map_items :: Lattice a => CASL_SL a -> SYMB_MAP_ITEMS -> Maybe SYMB_MAP_ITEMS
- pr_sign :: CASL_SL a -> Sign f e -> Sign f e
- pr_morphism :: Lattice a => CASL_SL a -> Morphism f e m -> Morphism f e m
- pr_epsilon :: m -> CASL_SL a -> Sign f e -> Morphism f e m
- pr_symbol :: Lattice a => CASL_SL a -> Symbol -> Maybe Symbol
types
type CASL_Sublogics = CASL_SL ()
data CASL_SL a
CASL_SL | |
|
data CASL_Formulas
data SubsortingFeatures
NoSortGen | |
SortGen | |
|
class
predicates on CASL_SL
functions for SemiLatticeWithTop instance
sublogics_max :: Lattice a => CASL_SL a -> CASL_SL a -> CASL_SL a
functions for the creation of minimal sublogics
updExtFeature :: (a -> a) -> CASL_SL a -> CASL_SL a
functions for Logic instance sublogic to string conversion
sublogics_name :: (a -> String) -> CASL_SL a -> String
list of all sublogics
sublogics_all :: Lattice a => [a] -> [CASL_SL a]
computes the sublogic of a given element
sl_basic_spec :: Lattice a => (b -> CASL_SL a) -> (s -> CASL_SL a) -> (f -> CASL_SL a) -> BASIC_SPEC b s f -> CASL_SL a
sl_op_type :: Lattice a => OP_TYPE -> CASL_SL a
sl_op_item :: Lattice a => (f -> CASL_SL a) -> OP_ITEM f -> CASL_SL a
sl_pred_item :: Lattice a => (f -> CASL_SL a) -> PRED_ITEM f -> CASL_SL a
sl_sentence :: Lattice a => (f -> CASL_SL a) -> FORMULA f -> CASL_SL a
sl_symb_items :: Lattice a => SYMB_ITEMS -> CASL_SL a
sl_symb_map_items :: Lattice a => SYMB_MAP_ITEMS -> CASL_SL a
sl_morphism :: Lattice a => (e -> CASL_SL a) -> Morphism f e m -> CASL_SL a
projects an element into a given sublogic
pr_basic_spec :: Lattice a => (CASL_SL a -> b -> (Maybe (BASIC_ITEMS b s f), [SORT])) -> (CASL_SL a -> s -> (Maybe (SIG_ITEMS s f), [SORT])) -> (CASL_SL a -> f -> Maybe (FORMULA f)) -> CASL_SL a -> BASIC_SPEC b s f -> BASIC_SPEC b s f
pr_symb_items :: Lattice a => CASL_SL a -> SYMB_ITEMS -> Maybe SYMB_ITEMS
pr_symb_map_items :: Lattice a => CASL_SL a -> SYMB_MAP_ITEMS -> Maybe SYMB_MAP_ITEMS
pr_morphism :: Lattice a => CASL_SL a -> Morphism f e m -> Morphism f e m
pr_epsilon :: m -> CASL_SL a -> Sign f e -> Morphism f e m