Changeset 12733

Show
Ignore:
Timestamp:
26.10.2009 17:55:50 (4 weeks ago)
Author:
maeder
Message:

corrected ExtModal? logic

Location:
trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/ExtModal/Logic_ExtModal.hs

    r12732 r12733  
    22Module      :  ./ExtModal/Logic_ExtModal.hs 
    33Description :  Instance of class Logic for ExtModal 
    4 Copyright   :   
     4Copyright   : 
    55License     :  similar to LGPL, see HetCATS/LICENSE.txt or LIZENZ.txt 
    66Maintainer  :  codruta.liliana@gmail.com 
    77Stability   :  experimental 
    8 Portability :   
     8Portability : 
    99 
    1010Instance of class Logic for ExtModal 
     
    4040data ExtModal = ExtModal deriving Show 
    4141 
    42 instance Language ExtModal where  
     42instance Language ExtModal where 
    4343        description _ = unlines 
    4444         [ "ExtModal is the 'extended modal logic' extension of CASL. " 
     
    4949         ] 
    5050 
    51 type ExtModalSign = Sign EM_FORMULA EModalSign  
     51type ExtModalSign = Sign EM_FORMULA EModalSign 
    5252type ExtModalMorph = Morphism EM_FORMULA EModalSign MorphExtension 
    5353type ExtModalFORMULA = FORMULA EM_FORMULA 
    5454 
    55 instance SignExtension ExtModalSign where  
     55instance SignExtension EModalSign where 
    5656        isSubSignExtension = isSubEModalSign 
    5757 
    58 instance Syntax ExtModal EM_BASIC_SPEC SYMB_ITEMS SYMB_MAP_ITEMS where  
     58instance Syntax ExtModal EM_BASIC_SPEC SYMB_ITEMS SYMB_MAP_ITEMS where 
    5959        parse_basic_spec ExtModal = Just $ basicSpec ext_modal_reserved_words 
    6060        parse_symb_items ExtModal = Just $ symbItems ext_modal_reserved_words 
     
    6464map_EM_FORMULA :: MapSen EM_FORMULA EModalSign MorphExtension 
    6565 
    66 map_EM_FORMULA morph (BoxOrDiamond choice t_m leq_geq number f pos) =  
    67         let new_tm tm = case tm of  
    68                                 Simple_modality sm ->   
     66map_EM_FORMULA morph (BoxOrDiamond choice t_m leq_geq number f pos) = 
     67        let new_tm tm = case tm of 
     68                                Simple_modality sm -> 
    6969                                        let mds = mod_map (extended_map morph) in 
    7070                                        if Map.member sm mds then Simple_modality (mds Map.! sm) else tm 
     
    7878 
    7979map_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)  
     80        let new_nom = case nm of 
     81                        Nominal nom -> let nms = nom_map (extended_map morph) 
    8282                                       in if Map.member nom nms then (Nominal (nms Map.! nom)) else nm 
    8383                        _ -> nm 
    8484            new_f = mapSen map_EM_FORMULA morph f 
    8585        in Hybrid choice new_nom new_f pos 
    86                  
    8786 
    88 map_EM_FORMULA morph (UntilSince choice f1 f2 pos) =  
     87 
     88map_EM_FORMULA morph (UntilSince choice f1 f2 pos) = 
    8989        let new_f1 = mapSen map_EM_FORMULA morph f1 
    9090            new_f2 = mapSen map_EM_FORMULA morph f2 
    9191        in UntilSince choice new_f1 new_f2 pos 
    9292 
    93 map_EM_FORMULA morph (NextY choice f pos) =  
     93map_EM_FORMULA morph (NextY choice f pos) = 
    9494        let new_f = mapSen map_EM_FORMULA morph f 
    9595        in NextY choice new_f pos 
    9696 
    97 map_EM_FORMULA morph (PathQuantification choice f pos) =  
     97map_EM_FORMULA morph (PathQuantification choice f pos) = 
    9898        let new_f = mapSen map_EM_FORMULA morph f 
    9999        in PathQuantification choice new_f pos 
    100100 
    101 map_EM_FORMULA morph (StateQuantification t_dir choice f pos) =  
     101map_EM_FORMULA morph (StateQuantification t_dir choice f pos) = 
    102102        let new_f = mapSen map_EM_FORMULA morph f 
    103103        in StateQuantification t_dir choice new_f pos 
    104104 
    105 map_EM_FORMULA morph (FixedPoint choice p_var f pos) =  
     105map_EM_FORMULA morph (FixedPoint choice p_var f pos) = 
    106106        let new_f = mapSen map_EM_FORMULA morph f 
    107107        in FixedPoint choice p_var new_f pos 
     
    109109-- Simplification of formulas - simplifySen for ExtFORMULA 
    110110simEMSen :: Sign EM_FORMULA EModalSign -> EM_FORMULA -> EM_FORMULA 
    111 simEMSen sign (BoxOrDiamond choice tm leq_geq number f pos) =  
     111simEMSen sign (BoxOrDiamond choice tm leq_geq number f pos) = 
    112112        BoxOrDiamond choice tm leq_geq number (simplifySen frmTypeAna simEMSen sign f) pos 
    113 simEMSen sign (Hybrid choice nom f pos) =  
     113simEMSen sign (Hybrid choice nom f pos) = 
    114114        Hybrid choice nom (simplifySen frmTypeAna simEMSen sign f) pos 
    115 simEMSen sign (UntilSince choice f1 f2 pos) =  
    116         UntilSince choice (simplifySen frmTypeAna simEMSen sign f1)  
     115simEMSen sign (UntilSince choice f1 f2 pos) = 
     116        UntilSince choice (simplifySen frmTypeAna simEMSen sign f1) 
    117117                (simplifySen frmTypeAna simEMSen sign f1) pos 
    118118simEMSen sign (NextY choice f pos) = 
    119119        NextY choice (simplifySen frmTypeAna simEMSen sign f) pos 
    120 simEMSen sign (PathQuantification choice f pos) =  
     120simEMSen sign (PathQuantification choice f pos) = 
    121121        PathQuantification choice (simplifySen frmTypeAna simEMSen sign f) pos 
    122 simEMSen sign (StateQuantification t_dir choice f pos) =  
     122simEMSen sign (StateQuantification t_dir choice f pos) = 
    123123        StateQuantification t_dir choice (simplifySen frmTypeAna simEMSen sign f) pos 
    124 simEMSen sign (FixedPoint choice p_var f pos) =  
     124simEMSen sign (FixedPoint choice p_var f pos) = 
    125125        FixedPoint choice p_var (simplifySen frmTypeAna simEMSen sign f) pos 
    126126 
    127 instance Sentences ExtModal ExtModalFORMULA ExtModalSign ExtModalMorph Symbol where  
     127instance Sentences ExtModal ExtModalFORMULA ExtModalSign ExtModalMorph Symbol where 
    128128        map_sen ExtModal morph = return . mapSen map_EM_FORMULA morph 
    129129        simplify_sen ExtModal = simplifySen frmTypeAna simEMSen 
    130130        parse_sentence ExtModal = Just $ primFormula ext_modal_reserved_words 
    131         print_sign ExtModal sig = printSign  
     131        print_sign ExtModal sig = printSign 
    132132                (printEModalSign $ simplifySen frmTypeAna simEMSen sig) sig 
    133         sym_of ExtModal = symOf  
     133        sym_of ExtModal = symOf 
    134134        symmap_of ExtModal = morphismToSymbMap 
    135135        sym_name ExtModal = symName 
    136136 
    137 instance StaticAnalysis ExtModal EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS  
    138                 ExtModalSign ExtModalMorph Symbol RawSymbol where  
     137instance StaticAnalysis ExtModal EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS 
     138                ExtModalSign ExtModalMorph Symbol RawSymbol where 
    139139        basic_analysis ExtModal = Just basicEModalAnalysis 
    140140        stat_symb_map_items ExtModal = statSymbMapItems 
     
    144144        id_to_raw ExtModal = idToRaw 
    145145        matches ExtModal = CASL.Morphism.matches 
    146          
     146 
    147147        empty_signature ExtModal = emptySign emptyEModalSign 
    148148        signature_union ExtModal sgn = return . addSig addEModalSign sgn 
    149         intersection ExtModal sgn = return . interSig interEModalSign sgn  
    150         final_union ExtModal = finalUnion addEModalSign  
     149        intersection ExtModal sgn = return . interSig interEModalSign sgn 
     150        final_union ExtModal = finalUnion addEModalSign 
    151151        morphism_union ExtModal = morphismUnion (const id) addEModalSign 
    152152        is_subsig ExtModal = isSubSig isSubEModalSign 
     
    154154        generated_sign ExtModal = generatedSign emptyMorphExtension 
    155155        cogenerated_sign ExtModal = cogeneratedSign emptyMorphExtension 
    156         induced_from_morphism ExtModal = inducedFromMorphism emptyMorphExtension  
    157         induced_from_to_morphism ExtModal =  
     156        induced_from_morphism ExtModal = inducedFromMorphism emptyMorphExtension 
     157        induced_from_to_morphism ExtModal = 
    158158                inducedFromToMorphism emptyMorphExtension isSubEModalSign diffEModalSign 
    159159        theory_to_taxonomy ExtModal = convTaxo 
    160160 
    161 instance Logic ExtModal () EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS  
    162                 ExtModalSign ExtModalMorph Symbol RawSymbol () where  
     161instance Logic ExtModal () EM_BASIC_SPEC ExtModalFORMULA SYMB_ITEMS SYMB_MAP_ITEMS 
     162                ExtModalSign ExtModalMorph Symbol RawSymbol () where 
    163163 
    164         stability _ = Experimental  
    165         empty_proof_tree _ = ()  
     164        stability _ = Experimental 
     165        empty_proof_tree _ = () 
    166166 
  • trunk/Makefile

    r12718 r12733  
    289289    Maude/Symbol.hs Maude/AS_Maude.hs 
    290290 
    291 ExtModal_files = ExtModal/AS_ExtModal.hs ExtModal/ExtModalSign.hs 
     291ExtModal_files = ExtModal/AS_ExtModal.hs ExtModal/ExtModalSign.hs \ 
     292    ExtModal/MorphismExtension.hs 
    292293 
    293294# ATC DrIFT-rule generation for logics