verigraph-1.1.1: Software specification and verification tool based on graph rewriting.

Safe HaskellSafe
LanguageHaskell2010

Abstract.DPO.Process

Documentation

data Process m Source #

Constructors

Process 

Fields

Instances

(Eq m, Eq (Obj m)) => Eq (Process m) Source # 

Methods

(==) :: Process m -> Process m -> Bool #

(/=) :: Process m -> Process m -> Bool #

(Show m, Show (Obj m)) => Show (Process m) Source # 

Methods

showsPrec :: Int -> Process m -> ShowS #

show :: Process m -> String #

showList :: [Process m] -> ShowS #

class DPO m => GenerateProcess m where Source #

Methods

restrictMorphisms :: (m, m) -> (m, m) Source #

Given a pair of morhisms with common codomain, it returns a new pair with morphism also with a a new codomain that does not contain the elements that were orphans in both original morphisms

restrictMorphism :: m -> m Source #

Given a morhism, it returns a morphism with a new codomain that is equal to the image of the original morphism

typing :: (Derivation m, (m, m, m)) -> Production m Source #

Given a Derivation d and a tuple (p,q,r) of Morphisms p : G -> C, q : D -> C and r : H -> C, it returns a new Production corresponding to the production in d but typed over C

productionTyping :: (Production m, (m, m, m)) -> Production m Source #

Given a Production p and a tuple (r,s,t) of Morphisms r : G -> C, s : D -> C and t : H -> C, it returns a new Production corresponding to the production in p but typed over C

calculateProcess :: [Derivation m] -> Process m Source #

Given a list of Derivation containing a sequential derivation, returns its corresponding Process

calculateRulesColimit :: RuleSequence m -> [NamedRuleWithMatches m] Source #

generateGraphProcess :: RuleSequence m -> [(String, Production m)] Source #

type NamedRuleWithMatches m = (String, Production m, (m, m, m)) Source #