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

Safe HaskellSafe
LanguageHaskell2010

Abstract.Complete

Synopsis

Documentation

class Morphism m => Complete m where Source #

Type class for morphisms whose category is Complete.

Mainly provides categorical operations that Complete categories are guaranteed to have.

Note that for performance reasons, verigraph assumes that the parameters are valid for all functions in this module.

Methods

calculateEqualizer :: m -> m -> m Source #

Given two morphisms f : A -> B and g : A -> B retuns the equalizer morphism h : X -> A

calculateNEqualizer :: NonEmpty m -> m Source #

Given a non-empty list of morphisms of the form f : A -> B returns the equalizer morphism h : X -> A

calculateProduct :: Obj m -> Obj m -> (m, m) Source #

Given two objects A and B it returns the product (AxB, f: AxB -> A, g: AxB -> B)

calculateNProduct :: NonEmpty (Obj m) -> [m] Source #

Given a non-empty list of objects Bi it returns the product fi : PROD(Bi) -> Bi

finalObject :: m -> Obj m Source #

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