Changeset 12732

Show
Ignore:
Timestamp:
26.10.2009 17:31:19 (4 weeks ago)
Author:
codruta
Message:

Changed ExtModal/Logic?_ExtModal.hs

Location:
trunk
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • trunk/Comorphisms/LogicList.hs

    r12684 r12732  
    5050#ifdef CASLEXTENSIONS 
    5151import Modal.Logic_Modal 
     52import ExtModal.Logic_ExtModal 
    5253import CoCASL.Logic_CoCASL 
    5354import CspCASL.Logic_CspCASL 
     
    8081#ifdef CASLEXTENSIONS 
    8182  , Logic CoCASL 
     83  , Logic ExtModal 
    8284  , Logic Modal 
    8385  , Logic cspCASL 
  • trunk/ExtModal/ExtModalSign.hs

    r12640 r12732  
    1414 
    1515import CASL.Sign 
     16 
    1617import Common.Id 
     18import Common.DocUtils 
     19import Common.Doc 
    1720 
    1821import qualified Data.Map as Map 
  • trunk/ExtModal/ExtModalSystems.hs

    r12583 r12732  
    11{-to generate by utils genTransMFormFunc.pl -} 
    22 
    3 module Modal.ModalSystems  where 
     3module ExtModal.ExtModalSystems  where 
    44 
    55import Common.DocUtils 
     
    1212-- ExtModal 
    1313import ExtModal.AS_ExtModal 
    14 import ExtModal.Print_AS () 
     14import ExtModal.Print_AS 
    1515 
  • trunk/ExtModal/Logic_ExtModal.hs

    r12694 r12732  
    1717import ExtModal.ATC_ExtModal() 
    1818import ExtModal.Parse_AS 
     19import ExtModal.Print_AS 
    1920import ExtModal.StatAna 
    2021import ExtModal.MorphismExtension 
    2122 
     23import CASL.Formula 
    2224import CASL.Sign 
    2325import CASL.Morphism 
     
    2931import CASL.SymbolParser 
    3032import CASL.Sublogic 
     33import CASL.SimplifySen 
     34import CASL.Taxonomy 
    3135import CASL.Logic_CASL () 
    3236import Logic.Logic 
     
    5862 
    5963-- Modal formula mapping via signature morphism 
    60 map_EM_FORMULA :: MapSen EM_FORMULA EModalSign (DefMorExt EModalSign) 
     64map_EM_FORMULA :: MapSen EM_FORMULA EModalSign MorphExtension 
    6165 
    6266map_EM_FORMULA morph (BoxOrDiamond choice t_m leq_geq number f pos) =  
     
    7377 
    7478 
    75 map_EM_FORMULA morph (Hybrid choice nom f pos) =  
    76         let new_nom = let nms = nom_map (extended_map morph) in 
    77                         if Map.member nom nms then (nms Map.! nom) else nom 
    78             new_f = mapSen map_EM_FORMULA morph f 
    79         in Hybrid choice new_nom new_f pos 
     79map_EM_FORMULA morph (Hybrid choice nm f pos) = 
     80        let new_nom = case nm of  
     81                        Nominal nom -> let nms = nom_map (extended_map morph)  
     82                                       in if Map.member nom nms then (Nominal (nms Map.! nom)) else nm 
     83                        _ -> nm 
     84            new_f = mapSen map_EM_FORMULA morph f 
     85        in Hybrid choice new_nom new_f pos 
     86                 
    8087 
    8188map_EM_FORMULA morph (UntilSince choice f1 f2 pos) =  
     
    94101map_EM_FORMULA morph (StateQuantification t_dir choice f pos) =  
    95102        let new_f = mapSen map_EM_FORMULA morph f 
    96         in StatQuantification t_dir choice new_f pos 
     103        in StateQuantification t_dir choice new_f pos 
    97104 
    98105map_EM_FORMULA morph (FixedPoint choice p_var f pos) =  
     
    103110simEMSen :: Sign EM_FORMULA EModalSign -> EM_FORMULA -> EM_FORMULA 
    104111simEMSen sign (BoxOrDiamond choice tm leq_geq number f pos) =  
    105         BoxOrDiamond choice tm leq_geq number (simplifySen minExpForm simEMSen sign f) pos 
     112        BoxOrDiamond choice tm leq_geq number (simplifySen frmTypeAna simEMSen sign f) pos 
    106113simEMSen sign (Hybrid choice nom f pos) =  
    107         Hybrid choice nom (simplifySen minExpForm simEMSen sign f) pos 
     114        Hybrid choice nom (simplifySen frmTypeAna simEMSen sign f) pos 
    108115simEMSen sign (UntilSince choice f1 f2 pos) =  
    109         UntilSince choice (simplifySen minExpForm simEMSen sign f1)  
    110                 (simplifySen minExpForm simEMSen sign f1) pos 
     116        UntilSince choice (simplifySen frmTypeAna simEMSen sign f1)  
     117                (simplifySen frmTypeAna simEMSen sign f1) pos 
    111118simEMSen sign (NextY choice f pos) = 
    112         NextY choice (simplifySen minExpForm simEMSen sign f) pos 
     119        NextY choice (simplifySen frmTypeAna simEMSen sign f) pos 
    113120simEMSen sign (PathQuantification choice f pos) =  
    114         PathQuantification choice (simplifySen minExpForm simEMSen sign f) pos 
     121        PathQuantification choice (simplifySen frmTypeAna simEMSen sign f) pos 
    115122simEMSen sign (StateQuantification t_dir choice f pos) =  
    116         StateQuantification t_dir choice (simplifySen minExpForm simEMSen sign f) pos 
     123        StateQuantification t_dir choice (simplifySen frmTypeAna simEMSen sign f) pos 
    117124simEMSen sign (FixedPoint choice p_var f pos) =  
    118         FixedPoint choice p_var (simplifySen minExpForm simEMSen sign f) pos 
     125        FixedPoint choice p_var (simplifySen frmTypeAna simEMSen sign f) pos 
    119126 
    120127instance Sentences ExtModal ExtModalFORMULA ExtModalSign ExtModalMorph Symbol where  
    121128        map_sen ExtModal morph = return . mapSen map_EM_FORMULA morph 
    122         simplify_sen ExtModal = simplifySen minExpForm simEMSen 
    123         parse_sentence ExtModal = Just modalFormulaParser 
     129        simplify_sen ExtModal = simplifySen frmTypeAna simEMSen 
     130        parse_sentence ExtModal = Just $ primFormula ext_modal_reserved_words 
    124131        print_sign ExtModal sig = printSign  
    125                 (printEModalSign $ simplifySen minExpForm simEMSen sig) sig 
     132                (printEModalSign $ simplifySen frmTypeAna simEMSen sig) sig 
    126133        sym_of ExtModal = symOf  
    127134        symmap_of ExtModal = morphismToSymbMap 
     
    129136 
    130137instance StaticAnalysis ExtModal EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS  
    131                 ExtModalSign ExtModalMorph Symbol RawSymbol () where  
     138                ExtModalSign ExtModalMorph Symbol RawSymbol where  
    132139        basic_analysis ExtModal = Just basicEModalAnalysis 
    133140        stat_symb_map_items ExtModal = statSymbMapItems 
     
    152159        theory_to_taxonomy ExtModal = convTaxo 
    153160 
    154 instance Logic () EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS  
     161instance Logic ExtModal () EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS  
    155162                ExtModalSign ExtModalMorph Symbol RawSymbol () where  
    156163 
  • trunk/ExtModal/MorphismExtension.hs

    r12700 r12732  
    1818import Common.Id 
    1919import Common.Result 
     20import Common.DocUtils 
     21import Common.Doc 
    2022 
    2123import ExtModal.AS_ExtModal 
    2224import ExtModal.ExtModalSign 
     25import ExtModal.Print_AS 
    2326 
    2427data MorphExtension = MorphExtension 
    25         { source :: Sign EM_FORMULA EModalSign 
    26         , target :: Sign EM_FORMULA EModalSign 
     28        { source :: EModalSign 
     29        , target :: EModalSign 
    2730        , mod_map :: Map.Map SIMPLE_ID SIMPLE_ID 
    2831        , nom_map :: Map.Map SIMPLE_ID SIMPLE_ID 
     
    3033 
    3134emptyMorphExtension :: MorphExtension  
    32 emptyMorphExtension = MorphExtension (emptySign emptyEModalSign) (emptySign emptyEModalSign) Map.empty Map.empty 
     35emptyMorphExtension = MorphExtension emptyEModalSign emptyEModalSign Map.empty Map.empty 
    3336 
    34 instance MorphismExtension (Sign EM_FORMULA EModalSign) MorphExtension where  
     37 
     38instance Pretty MorphExtension where  
     39        pretty me = pretty (source me) <+> pretty (target me) <+>  
     40                        text (show (Map.toList (mod_map me))) <+> text (show (Map.toList (nom_map me))) 
     41 
     42instance MorphismExtension EModalSign MorphExtension where  
    3543  
    3644        ideMorphismExtension sgn =  
    3745                let insert_next old_map s_id = Map.insert  s_id s_id old_map in 
    3846                MorphExtension sgn sgn  
    39                         (foldl insert_next Map.empty (Map.keys (modalities (extendedInfo sgn))))  
    40                         (foldl insert_next Map.empty (Set.toList (nominals (extendedInfo sgn)))) 
     47                        (foldl insert_next Map.empty (Map.keys (modalities sgn))) 
     48                        (foldl insert_next Map.empty (Set.toList (nominals sgn))) 
    4149 
    4250        composeMorphismExtension sgn me1 me2 =  
     
    5765                    occurs_alt ((me_k,me_val1):l) False me_val2 =  
    5866                        if me_val1 == me_val2 then occurs_alt l True me_val2 else occurs_alt l False me_val2 
    59                 in if Map.keys (modalities (extendedInfo (target me))) == Map.elems (mod_map me)  
    60                         && Set.toList (nominals (extendedInfo (target me))) == Map.elems (nom_map me) 
     67                in if Map.keys (modalities (target me)) == Map.elems (mod_map me)  
     68                        && Set.toList (nominals (target me)) == Map.elems (nom_map me) 
    6169                        && Map.filter (occurs_alt (Map.toList (mod_map me)) False) (mod_map me) == Map.empty 
    6270                        && Map.filter (occurs_alt (Map.toList (nom_map me)) False) (nom_map me) == Map.empty  
  • trunk/ExtModal/Parse_AS.hs

    r12633 r12732  
    188188 
    189189{-Term modality parser-} 
    190 -- parseModality :: [String] -> AParser st MODALITY 
    191190parseModality :: GenParser Char (AnnoState st) MODALITY 
    192191parseModality =