Copyright | (c) Liam O'Reilly Markus Roggenbach Swansea University 2008 |
---|---|
License | GPLv2 or higher, see LICENSE.txt |
Maintainer | csliam@swansea.ac.uk |
Stability | provisional |
Portability | portable |
Safe Haskell | None |
Symbols and signature morphisms for the CspCASL logic
Synopsis
- type CspCASLMorphism = Morphism CspSen CspSign CspAddMorphism
- data CspAddMorphism = CspAddMorphism {}
- type ChanMap = Map (CHANNEL_NAME, SORT) CHANNEL_NAME
- type ProcessMap = Map (PROCESS_NAME, ProcProfile) PROCESS_NAME
- mapProcProfile :: Sort_map -> ChanMap -> ProcProfile -> ProcProfile
- cspSubsigInclusion :: CspCASLSign -> CspCASLSign -> Result CspCASLMorphism
- emptyCspAddMorphism :: CspAddMorphism
- cspAddMorphismUnion :: CspCASLMorphism -> CspCASLMorphism -> Result CspAddMorphism
- cspMorphismToCspSymbMap :: CspCASLMorphism -> Map CspSymbol CspSymbol
- inducedCspSign :: InducedSign f CspSign CspAddMorphism CspSign
- mapSen :: CspCASLMorphism -> CspSen -> CspSen
Documentation
type CspCASLMorphism = Morphism CspSen CspSign CspAddMorphism Source #
A CspCASLMorphism is a CASL Morphism with the extended_map to be a CspAddMorphism.
data CspAddMorphism Source #
CspAddMorphism - This is just the extended part
Instances
type ChanMap = Map (CHANNEL_NAME, SORT) CHANNEL_NAME Source #
type ProcessMap = Map (PROCESS_NAME, ProcProfile) PROCESS_NAME Source #
This is the second component of a CspCASL signature morphism, the process name map. We map process name with a profile into new names and communications alphabet. We follow CASL here and instread of mapping to a new name and a new profile, we map just to the new name and the new communications alphabet of the profile. This is because the argument sorts of the profile have no chocie they have to be the sorts resultsing from maping the original sorts in the profile with the data part map. Note: the communications alphabet of the source profile must be downward closed with respect to the CASL signature sub-sort relation (at source) and also the target communications alphabet must be downward closed with respect to the CASL signature sub-sort relation (at target).
mapProcProfile :: Sort_map -> ChanMap -> ProcProfile -> ProcProfile Source #
cspSubsigInclusion :: CspCASLSign -> CspCASLSign -> Result CspCASLMorphism Source #
Given two signatures (the first being a sub signature of the second according to CspCASL.SignCSP.isCspCASLSubSig) compute the inclusion morphism.
emptyCspAddMorphism :: CspAddMorphism Source #
The empty CspAddMorphism.
cspAddMorphismUnion :: CspCASLMorphism -> CspCASLMorphism -> Result CspAddMorphism Source #
unite morphisms
mapSen :: CspCASLMorphism -> CspSen -> CspSen Source #
Apply a Signature Morphism to a CspCASL Sentence
Orphan instances
SignExtension CspSign Source # | Instance for CspCASL signature extension |
isSubSignExtension :: CspSign -> CspSign -> Bool Source # |