ModalSign.hs revision 3d3889e0cefcdce9b3f43c53aaa201943ac2e895
d76ed813a51465e5c47d521ab09ea20c06f1428dMark AndrewsModule : $Header$
d76ed813a51465e5c47d521ab09ea20c06f1428dMark AndrewsCopyright : (c) Till Mossakowski, C. Maeder, Uni Bremen 2004
d76ed813a51465e5c47d521ab09ea20c06f1428dMark AndrewsLicense : GPLv2 or higher, see LICENSE.txt
module Modal.ModalSign where
import Modal.AS_Modal
import CASL.Sign
import qualified Common.Lib.MapSet as MapSet
import Common.Id
import qualified Data.List as List
import qualified Data.Map as Map
, modies :: Map.Map SIMPLE_ID [AnModFORM]
, termModies :: Map.Map Id [AnModFORM] -- SORT
-> Map.Map a [b]
, modies = interMap List.intersect (modies a) $ modies b
, termModies = interMap List.intersect (termModies a) $ termModies b }
, modies = Map.differenceWith diffList (modies a) $ modies b
, termModies = Map.differenceWith diffList (termModies a) $ termModies b
&& Map.isSubmapOfBy sublist (modies a) (modies b)
&& Map.isSubmapOfBy sublist (termModies a) (termModies b)
where sublist l1 l2 = List.union l2 l1 == l2