Changeset 12732
- Timestamp:
- 26.10.2009 17:31:19 (4 weeks ago)
- Location:
- trunk
- Files:
-
- 6 modified
-
Comorphisms/LogicList.hs (modified) (2 diffs)
-
ExtModal/ExtModalSign.hs (modified) (1 diff)
-
ExtModal/ExtModalSystems.hs (modified) (2 diffs)
-
ExtModal/Logic_ExtModal.hs (modified) (8 diffs)
-
ExtModal/MorphismExtension.hs (modified) (3 diffs)
-
ExtModal/Parse_AS.hs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Comorphisms/LogicList.hs
r12684 r12732 50 50 #ifdef CASLEXTENSIONS 51 51 import Modal.Logic_Modal 52 import ExtModal.Logic_ExtModal 52 53 import CoCASL.Logic_CoCASL 53 54 import CspCASL.Logic_CspCASL … … 80 81 #ifdef CASLEXTENSIONS 81 82 , Logic CoCASL 83 , Logic ExtModal 82 84 , Logic Modal 83 85 , Logic cspCASL -
trunk/ExtModal/ExtModalSign.hs
r12640 r12732 14 14 15 15 import CASL.Sign 16 16 17 import Common.Id 18 import Common.DocUtils 19 import Common.Doc 17 20 18 21 import qualified Data.Map as Map -
trunk/ExtModal/ExtModalSystems.hs
r12583 r12732 1 1 {-to generate by utils genTransMFormFunc.pl -} 2 2 3 module Modal.ModalSystems where3 module ExtModal.ExtModalSystems where 4 4 5 5 import Common.DocUtils … … 12 12 -- ExtModal 13 13 import ExtModal.AS_ExtModal 14 import ExtModal.Print_AS ()14 import ExtModal.Print_AS 15 15 -
trunk/ExtModal/Logic_ExtModal.hs
r12694 r12732 17 17 import ExtModal.ATC_ExtModal() 18 18 import ExtModal.Parse_AS 19 import ExtModal.Print_AS 19 20 import ExtModal.StatAna 20 21 import ExtModal.MorphismExtension 21 22 23 import CASL.Formula 22 24 import CASL.Sign 23 25 import CASL.Morphism … … 29 31 import CASL.SymbolParser 30 32 import CASL.Sublogic 33 import CASL.SimplifySen 34 import CASL.Taxonomy 31 35 import CASL.Logic_CASL () 32 36 import Logic.Logic … … 58 62 59 63 -- Modal formula mapping via signature morphism 60 map_EM_FORMULA :: MapSen EM_FORMULA EModalSign (DefMorExt EModalSign)64 map_EM_FORMULA :: MapSen EM_FORMULA EModalSign MorphExtension 61 65 62 66 map_EM_FORMULA morph (BoxOrDiamond choice t_m leq_geq number f pos) = … … 73 77 74 78 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 79 map_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 80 87 81 88 map_EM_FORMULA morph (UntilSince choice f1 f2 pos) = … … 94 101 map_EM_FORMULA morph (StateQuantification t_dir choice f pos) = 95 102 let new_f = mapSen map_EM_FORMULA morph f 96 in Stat Quantification t_dir choice new_f pos103 in StateQuantification t_dir choice new_f pos 97 104 98 105 map_EM_FORMULA morph (FixedPoint choice p_var f pos) = … … 103 110 simEMSen :: Sign EM_FORMULA EModalSign -> EM_FORMULA -> EM_FORMULA 104 111 simEMSen sign (BoxOrDiamond choice tm leq_geq number f pos) = 105 BoxOrDiamond choice tm leq_geq number (simplifySen minExpFormsimEMSen sign f) pos112 BoxOrDiamond choice tm leq_geq number (simplifySen frmTypeAna simEMSen sign f) pos 106 113 simEMSen sign (Hybrid choice nom f pos) = 107 Hybrid choice nom (simplifySen minExpFormsimEMSen sign f) pos114 Hybrid choice nom (simplifySen frmTypeAna simEMSen sign f) pos 108 115 simEMSen sign (UntilSince choice f1 f2 pos) = 109 UntilSince choice (simplifySen minExpFormsimEMSen sign f1)110 (simplifySen minExpFormsimEMSen sign f1) pos116 UntilSince choice (simplifySen frmTypeAna simEMSen sign f1) 117 (simplifySen frmTypeAna simEMSen sign f1) pos 111 118 simEMSen sign (NextY choice f pos) = 112 NextY choice (simplifySen minExpFormsimEMSen sign f) pos119 NextY choice (simplifySen frmTypeAna simEMSen sign f) pos 113 120 simEMSen sign (PathQuantification choice f pos) = 114 PathQuantification choice (simplifySen minExpFormsimEMSen sign f) pos121 PathQuantification choice (simplifySen frmTypeAna simEMSen sign f) pos 115 122 simEMSen sign (StateQuantification t_dir choice f pos) = 116 StateQuantification t_dir choice (simplifySen minExpFormsimEMSen sign f) pos123 StateQuantification t_dir choice (simplifySen frmTypeAna simEMSen sign f) pos 117 124 simEMSen sign (FixedPoint choice p_var f pos) = 118 FixedPoint choice p_var (simplifySen minExpFormsimEMSen sign f) pos125 FixedPoint choice p_var (simplifySen frmTypeAna simEMSen sign f) pos 119 126 120 127 instance Sentences ExtModal ExtModalFORMULA ExtModalSign ExtModalMorph Symbol where 121 128 map_sen ExtModal morph = return . mapSen map_EM_FORMULA morph 122 simplify_sen ExtModal = simplifySen minExpFormsimEMSen123 parse_sentence ExtModal = Just modalFormulaParser129 simplify_sen ExtModal = simplifySen frmTypeAna simEMSen 130 parse_sentence ExtModal = Just $ primFormula ext_modal_reserved_words 124 131 print_sign ExtModal sig = printSign 125 (printEModalSign $ simplifySen minExpFormsimEMSen sig) sig132 (printEModalSign $ simplifySen frmTypeAna simEMSen sig) sig 126 133 sym_of ExtModal = symOf 127 134 symmap_of ExtModal = morphismToSymbMap … … 129 136 130 137 instance StaticAnalysis ExtModal EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS 131 ExtModalSign ExtModalMorph Symbol RawSymbol ()where138 ExtModalSign ExtModalMorph Symbol RawSymbol where 132 139 basic_analysis ExtModal = Just basicEModalAnalysis 133 140 stat_symb_map_items ExtModal = statSymbMapItems … … 152 159 theory_to_taxonomy ExtModal = convTaxo 153 160 154 instance Logic () EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS161 instance Logic ExtModal () EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS 155 162 ExtModalSign ExtModalMorph Symbol RawSymbol () where 156 163 -
trunk/ExtModal/MorphismExtension.hs
r12700 r12732 18 18 import Common.Id 19 19 import Common.Result 20 import Common.DocUtils 21 import Common.Doc 20 22 21 23 import ExtModal.AS_ExtModal 22 24 import ExtModal.ExtModalSign 25 import ExtModal.Print_AS 23 26 24 27 data MorphExtension = MorphExtension 25 { source :: Sign EM_FORMULAEModalSign26 , target :: Sign EM_FORMULAEModalSign28 { source :: EModalSign 29 , target :: EModalSign 27 30 , mod_map :: Map.Map SIMPLE_ID SIMPLE_ID 28 31 , nom_map :: Map.Map SIMPLE_ID SIMPLE_ID … … 30 33 31 34 emptyMorphExtension :: MorphExtension 32 emptyMorphExtension = MorphExtension (emptySign emptyEModalSign) (emptySign emptyEModalSign)Map.empty Map.empty35 emptyMorphExtension = MorphExtension emptyEModalSign emptyEModalSign Map.empty Map.empty 33 36 34 instance MorphismExtension (Sign EM_FORMULA EModalSign) MorphExtension where 37 38 instance 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 42 instance MorphismExtension EModalSign MorphExtension where 35 43 36 44 ideMorphismExtension sgn = 37 45 let insert_next old_map s_id = Map.insert s_id s_id old_map in 38 46 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))) 41 49 42 50 composeMorphismExtension sgn me1 me2 = … … 57 65 occurs_alt ((me_k,me_val1):l) False me_val2 = 58 66 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) 61 69 && Map.filter (occurs_alt (Map.toList (mod_map me)) False) (mod_map me) == Map.empty 62 70 && Map.filter (occurs_alt (Map.toList (nom_map me)) False) (nom_map me) == Map.empty -
trunk/ExtModal/Parse_AS.hs
r12633 r12732 188 188 189 189 {-Term modality parser-} 190 -- parseModality :: [String] -> AParser st MODALITY191 190 parseModality :: GenParser Char (AnnoState st) MODALITY 192 191 parseModality =