-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTypedGraph-Morphism.html
15 lines (15 loc) · 44 KB
/
TypedGraph-Morphism.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>TypedGraph.Morphism</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_TypedGraph-Morphism.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/TypedGraph.Morphism.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">verigraph-1.1.1: Software specification and verification tool based on graph rewriting.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">TypedGraph.Morphism</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:idMap">idMap</a> :: <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b -> <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:isPartialInjective">isPartialInjective</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:invert">invert</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:nodeIdsFromDomain">nodeIdsFromDomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:NodeId">NodeId</a>]</li><li class="src short"><a href="#v:edgeIdsFromDomain">edgeIdsFromDomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:EdgeId">EdgeId</a>]</li><li class="src short"><a href="#v:edgesFromDomain">edgesFromDomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:Edge">Edge</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)]</li><li class="src short"><a href="#v:nodeIdsFromCodomain">nodeIdsFromCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:NodeId">NodeId</a>]</li><li class="src short"><a href="#v:edgeIdsFromCodomain">edgeIdsFromCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:EdgeId">EdgeId</a>]</li><li class="src short"><a href="#v:edgesFromCodomain">edgesFromCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:Edge">Edge</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)]</li><li class="src short"><a href="#v:graphDomain">graphDomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:Graph">Graph</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)</li><li class="src short"><a href="#v:graphCodomain">graphCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:Graph">Graph</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)</li><li class="src short"><a href="#v:mapping">mapping</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-GraphMorphism.html#t:GraphMorphism">GraphMorphism</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)</li><li class="src short"><a href="#v:applyNode">applyNode</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graph-Graph.html#t:NodeId">NodeId</a></li><li class="src short"><a href="#v:applyEdge">applyEdge</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a></li><li class="src short"><a href="#v:buildTypedGraphMorphism">buildTypedGraphMorphism</a> :: <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b -> <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b -> <a href="Graph-GraphMorphism.html#t:GraphMorphism">GraphMorphism</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:checkDeletion">checkDeletion</a> :: <a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> t => <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> t -> <a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> t) -> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [t]) -> t -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:removeNodeFromDomain">removeNodeFromDomain</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:removeEdgeFromDomain">removeEdgeFromDomain</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:removeNodeFromCodomain">removeNodeFromCodomain</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:removeEdgeFromCodomain">removeEdgeFromCodomain</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:applyNodeUnsafe">applyNodeUnsafe</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a></li><li class="src short"><a href="#v:applyEdgeUnsafe">applyEdgeUnsafe</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a></li><li class="src short"><a href="#v:createEdgeOnDomain">createEdgeOnDomain</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:createEdgeOnCodomain">createEdgeOnCodomain</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:createNodeOnDomain">createNodeOnDomain</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:createNodeOnCodomain">createNodeOnCodomain</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:updateEdgeRelation">updateEdgeRelation</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:updateNodeRelation">updateNodeRelation</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:untypedUpdateNodeRelation">untypedUpdateNodeRelation</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:orphanTypedNodeIds">orphanTypedNodeIds</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:NodeId">NodeId</a>]</li><li class="src short"><a href="#v:orphanTypedEdgeIds">orphanTypedEdgeIds</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:EdgeId">EdgeId</a>]</li><li class="src short"><a href="#v:orphanTypedEdges">orphanTypedEdges</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:Edge">Edge</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)]</li><li class="src short"><a href="#v:reflectIdsFromTypeGraph">reflectIdsFromTypeGraph</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:reflectIdsFromCodomain">reflectIdsFromCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b</li><li class="src short"><a href="#v:reflectIdsFromDomains">reflectIdsFromDomains</a> :: (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b, <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b) -> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b, <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b)</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TypedGraphMorphism" class="def">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#TypedGraphMorphism" class="link">Source</a> <a href="#t:TypedGraphMorphism" class="selflink">#</a></p><div class="subs instances"><p id="control.i:TypedGraphMorphism" class="caption collapser" onclick="toggleSection('i:TypedGraphMorphism')">Instances</p><div id="section.i:TypedGraphMorphism" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TypedGraphMorphism:Eq:1" class="instance expander" onclick="toggleSection('i:id:TypedGraphMorphism:Eq:1')"></span> <a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b)</span> <a href="src/TypedGraph.Morphism.Core.html#line-17" class="link">Source</a> <a href="#t:TypedGraphMorphism" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TypedGraphMorphism:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TypedGraphMorphism:Show:2" class="instance expander" onclick="toggleSection('i:id:TypedGraphMorphism:Show:2')"></span> <a href="../base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b)</span> <a href="src/TypedGraph.Morphism.Core.html#line-17" class="link">Source</a> <a href="#t:TypedGraphMorphism" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TypedGraphMorphism:Show:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="../base-4.9.1.0/Data-Int.html#t:Int">Int</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b] -> <a href="../base-4.9.1.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TypedGraphMorphism:Valid:3" class="instance expander" onclick="toggleSection('i:id:TypedGraphMorphism:Valid:3')"></span> <a href="Abstract-Valid.html#t:Valid">Valid</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b)</span> <a href="src/TypedGraph.Morphism.Core.html#line-34" class="link">Source</a> <a href="#t:TypedGraphMorphism" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TypedGraphMorphism:Valid:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:isValid">isValid</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Valid.html#isValid" class="link">Source</a> <a href="#v:isValid" class="selflink">#</a></p><p class="src"><a href="#v:validate">validate</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Abstract-Valid.html#t:ValidationResult">ValidationResult</a> <a href="src/Abstract.Valid.html#validate" class="link">Source</a> <a href="#v:validate" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TypedGraphMorphism:Morphism:4" class="instance expander" onclick="toggleSection('i:id:TypedGraphMorphism:Morphism:4')"></span> <a href="Abstract-Morphism.html#t:Morphism">Morphism</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b)</span> <a href="src/TypedGraph.Morphism.Core.html#line-23" class="link">Source</a> <a href="#t:TypedGraphMorphism" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TypedGraphMorphism:Morphism:4" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="Abstract-Morphism.html#t:Obj">Obj</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b) :: <a href="../base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="src/Abstract.Morphism.html#Obj" class="link">Source</a> <a href="#t:Obj" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compose">compose</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/Abstract.Morphism.html#compose" class="link">Source</a> <a href="#v:compose" class="selflink">#</a></p><p class="src"><a href="#v:domain">domain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Abstract-Morphism.html#t:Obj">Obj</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b) <a href="src/Abstract.Morphism.html#domain" class="link">Source</a> <a href="#v:domain" class="selflink">#</a></p><p class="src"><a href="#v:codomain">codomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Abstract-Morphism.html#t:Obj">Obj</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b) <a href="src/Abstract.Morphism.html#codomain" class="link">Source</a> <a href="#v:codomain" class="selflink">#</a></p><p class="src"><a href="#v:id">id</a> :: <a href="Abstract-Morphism.html#t:Obj">Obj</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b) -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/Abstract.Morphism.html#id" class="link">Source</a> <a href="#v:id" class="selflink">#</a></p><p class="src"><a href="#v:isMonomorphism">isMonomorphism</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Morphism.html#isMonomorphism" class="link">Source</a> <a href="#v:isMonomorphism" class="selflink">#</a></p><p class="src"><a href="#v:isEpimorphism">isEpimorphism</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Morphism.html#isEpimorphism" class="link">Source</a> <a href="#v:isEpimorphism" class="selflink">#</a></p><p class="src"><a href="#v:isIsomorphism">isIsomorphism</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Morphism.html#isIsomorphism" class="link">Source</a> <a href="#v:isIsomorphism" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:TypedGraphMorphism:Obj:5" class="instance expander" onclick="toggleSection('i:id:TypedGraphMorphism:Obj:5')"></span> <span class="keyword">type</span> <a href="Abstract-Morphism.html#t:Obj">Obj</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b)</span> <a href="src/TypedGraph.Morphism.Core.html#line-24" class="link">Source</a> <a href="#t:TypedGraphMorphism" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:TypedGraphMorphism:Obj:5" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="Abstract-Morphism.html#t:Obj">Obj</a> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b) = <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b</div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:idMap" class="def">idMap</a> :: <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b -> <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#idMap" class="link">Source</a> <a href="#v:idMap" class="selflink">#</a></p><div class="doc"><p>Creates a TypedGraphMorphism mapping nodes and edges according to their identifiers.</p></div></div><div class="top"><p class="src"><a id="v:isPartialInjective" class="def">isPartialInjective</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/TypedGraph.Morphism.Core.html#isPartialInjective" class="link">Source</a> <a href="#v:isPartialInjective" class="selflink">#</a></p><div class="doc"><p>Test if a <code>nac</code> is partial injective (injective out of <code>m</code>)</p></div></div><div class="top"><p class="src"><a id="v:invert" class="def">invert</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#invert" class="link">Source</a> <a href="#v:invert" class="selflink">#</a></p><div class="doc"><p>Invert a typed graph morphism</p></div></div><div class="top"><p class="src"><a id="v:nodeIdsFromDomain" class="def">nodeIdsFromDomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:NodeId">NodeId</a>] <a href="src/TypedGraph.Morphism.Core.html#nodeIdsFromDomain" class="link">Source</a> <a href="#v:nodeIdsFromDomain" class="selflink">#</a></p><div class="doc"><p>Return the nodes ids in the domain of a given <code>TypedGraphMorphism</code></p></div></div><div class="top"><p class="src"><a id="v:edgeIdsFromDomain" class="def">edgeIdsFromDomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:EdgeId">EdgeId</a>] <a href="src/TypedGraph.Morphism.Core.html#edgeIdsFromDomain" class="link">Source</a> <a href="#v:edgeIdsFromDomain" class="selflink">#</a></p><div class="doc"><p>Return the edges ids in the domain of a given <code>TypedGraphMorphism</code></p></div></div><div class="top"><p class="src"><a id="v:edgesFromDomain" class="def">edgesFromDomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:Edge">Edge</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)] <a href="src/TypedGraph.Morphism.Core.html#edgesFromDomain" class="link">Source</a> <a href="#v:edgesFromDomain" class="selflink">#</a></p><div class="doc"><p>Return the edges in the domain of a given <code>TypedGraphMorphism</code></p></div></div><div class="top"><p class="src"><a id="v:nodeIdsFromCodomain" class="def">nodeIdsFromCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:NodeId">NodeId</a>] <a href="src/TypedGraph.Morphism.Core.html#nodeIdsFromCodomain" class="link">Source</a> <a href="#v:nodeIdsFromCodomain" class="selflink">#</a></p><div class="doc"><p>Return the nodes ids in the codomain of a given <code>TypedGraphMorphism</code></p></div></div><div class="top"><p class="src"><a id="v:edgeIdsFromCodomain" class="def">edgeIdsFromCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:EdgeId">EdgeId</a>] <a href="src/TypedGraph.Morphism.Core.html#edgeIdsFromCodomain" class="link">Source</a> <a href="#v:edgeIdsFromCodomain" class="selflink">#</a></p><div class="doc"><p>Return the edges ids in the codomain of a given <code>TypedGraphMorphism</code></p></div></div><div class="top"><p class="src"><a id="v:edgesFromCodomain" class="def">edgesFromCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:Edge">Edge</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)] <a href="src/TypedGraph.Morphism.Core.html#edgesFromCodomain" class="link">Source</a> <a href="#v:edgesFromCodomain" class="selflink">#</a></p><div class="doc"><p>Return the edges in the codomain of a given <code>TypedGraphMorphism</code></p></div></div><div class="top"><p class="src"><a id="v:graphDomain" class="def">graphDomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:Graph">Graph</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) <a href="src/TypedGraph.Morphism.Core.html#graphDomain" class="link">Source</a> <a href="#v:graphDomain" class="selflink">#</a></p><div class="doc"><p>Return the domain graph</p></div></div><div class="top"><p class="src"><a id="v:graphCodomain" class="def">graphCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:Graph">Graph</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) <a href="src/TypedGraph.Morphism.Core.html#graphCodomain" class="link">Source</a> <a href="#v:graphCodomain" class="selflink">#</a></p><div class="doc"><p>Return the codomain graph</p></div></div><div class="top"><p class="src"><a id="v:mapping" class="def">mapping</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-GraphMorphism.html#t:GraphMorphism">GraphMorphism</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) <a href="src/TypedGraph.Morphism.Core.html#mapping" class="link">Source</a> <a href="#v:mapping" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:applyNode" class="def">applyNode</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graph-Graph.html#t:NodeId">NodeId</a> <a href="src/TypedGraph.Morphism.Core.html#applyNode" class="link">Source</a> <a href="#v:applyNode" class="selflink">#</a></p><div class="doc"><p>Given a TypedGraphMorphism <code><em><strong>t</strong>: G1 -> G2</em></code> and a node <code><strong>n</strong></code> in <code>G1</code>, it returns the node in <code>G2</code> to which <code><strong>n</strong></code> gets mapped</p></div></div><div class="top"><p class="src"><a id="v:applyEdge" class="def">applyEdge</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> <a href="src/TypedGraph.Morphism.Core.html#applyEdge" class="link">Source</a> <a href="#v:applyEdge" class="selflink">#</a></p><div class="doc"><p>Given a TypedGraphMorphism <code><em><strong>t</strong>: G1 -> G2</em></code> and an edge <code><strong>e</strong></code> in <code>G1</code>, it returns the edge in <code>G2</code> to which <code><strong>e</strong></code> gets mapped</p></div></div><div class="top"><p class="src"><a id="v:buildTypedGraphMorphism" class="def">buildTypedGraphMorphism</a> :: <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b -> <a href="TypedGraph-Graph.html#t:TypedGraph">TypedGraph</a> a b -> <a href="Graph-GraphMorphism.html#t:GraphMorphism">GraphMorphism</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a) (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#buildTypedGraphMorphism" class="link">Source</a> <a href="#v:buildTypedGraphMorphism" class="selflink">#</a></p><div class="doc"><p>Given two <code>TypedGraph</code>s <code>G1</code> and <code>G2</code> and a simple <code>GraphMorphism</code> between them, it returns a <code>TypedGraphMorphism</code> from <code>G1</code> to <code>G2</code></p></div></div><div class="top"><p class="src"><a id="v:checkDeletion" class="def">checkDeletion</a> :: <a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> t => <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> t -> <a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> t) -> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [t]) -> t -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/TypedGraph.Morphism.AdhesiveHLR.html#checkDeletion" class="link">Source</a> <a href="#v:checkDeletion" class="selflink">#</a></p><div class="doc"><p>TODO: Find a better name for this function, that was repeated both here and in the GraphRule archive
| Given the left-hand-side morphism of a rule <em>l : K -> L</em>, a match <em>m : L -> G</em> for this rule, an element <strong><em>e</em></strong>
(that can be either a <strong><em>Node</em></strong> or an <strong><em>Edge</em></strong>) and two functions <em>apply</em> (for applying that element in a TypedGraphMorphism) and
<em>list</em> (to get all the corresponding elements in the domain of m), it returns true if <em>e</em> is deleted by this rule for the given match</p></div></div><div class="top"><p class="src"><a id="v:removeNodeFromDomain" class="def">removeNodeFromDomain</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#removeNodeFromDomain" class="link">Source</a> <a href="#v:removeNodeFromDomain" class="selflink">#</a></p><div class="doc"><p>Remove a node from the domain of a typed graph morphism</p></div></div><div class="top"><p class="src"><a id="v:removeEdgeFromDomain" class="def">removeEdgeFromDomain</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#removeEdgeFromDomain" class="link">Source</a> <a href="#v:removeEdgeFromDomain" class="selflink">#</a></p><div class="doc"><p>Remove an edge from the domain of a typed graph morphism</p></div></div><div class="top"><p class="src"><a id="v:removeNodeFromCodomain" class="def">removeNodeFromCodomain</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#removeNodeFromCodomain" class="link">Source</a> <a href="#v:removeNodeFromCodomain" class="selflink">#</a></p><div class="doc"><p>Remove a node from the codomain of a typed graph morphism</p></div></div><div class="top"><p class="src"><a id="v:removeEdgeFromCodomain" class="def">removeEdgeFromCodomain</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#removeEdgeFromCodomain" class="link">Source</a> <a href="#v:removeEdgeFromCodomain" class="selflink">#</a></p><div class="doc"><p>Remove an edge from the domain of a typed graph morphism</p></div></div><div class="top"><p class="src"><a id="v:applyNodeUnsafe" class="def">applyNodeUnsafe</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> <a href="src/TypedGraph.Morphism.Core.html#applyNodeUnsafe" class="link">Source</a> <a href="#v:applyNodeUnsafe" class="selflink">#</a></p><div class="doc"><p>Given a <code>TypedGraphMorphism</code> <code><strong>t</strong></code>and a node <code>n</code> in the domain of <code><strong>t</strong></code>, return the node in the image
of <code>t</code> to which <code>n</code> gets mapped or error in the case of undefined</p></div></div><div class="top"><p class="src"><a id="v:applyEdgeUnsafe" class="def">applyEdgeUnsafe</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> <a href="src/TypedGraph.Morphism.Core.html#applyEdgeUnsafe" class="link">Source</a> <a href="#v:applyEdgeUnsafe" class="selflink">#</a></p><div class="doc"><p>Given a <code>TypedGraphMorphism</code> <code><strong>t</strong></code>and an edge <code>e</code> in the domain of <code><strong>t</strong></code>, return the edge in the image
of <code>t</code> to which <code>e</code> gets mapped or error in the case of undefined</p></div></div><div class="top"><p class="src"><a id="v:createEdgeOnDomain" class="def">createEdgeOnDomain</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#createEdgeOnDomain" class="link">Source</a> <a href="#v:createEdgeOnDomain" class="selflink">#</a></p><div class="doc"><p>This function adds an edge e1 (with source s1, target t1 and type tp) to the domain of the typed graph morphism, and associate it to e2
It assumes s1, t1, e2, tp already exist, and that e1 does not exist.</p></div></div><div class="top"><p class="src"><a id="v:createEdgeOnCodomain" class="def">createEdgeOnCodomain</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#createEdgeOnCodomain" class="link">Source</a> <a href="#v:createEdgeOnCodomain" class="selflink">#</a></p><div class="doc"><p>This function adds an edge e2 (with source s2, target t2 and type tp) to the codomain of the typed graph morphism
It assumes s2, t2, tp already exist, and that e2 does not exist.</p></div></div><div class="top"><p class="src"><a id="v:createNodeOnDomain" class="def">createNodeOnDomain</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#createNodeOnDomain" class="link">Source</a> <a href="#v:createNodeOnDomain" class="selflink">#</a></p><div class="doc"><p>This function adds a node n1 (type tp) to the domain of the typed graph morphism, and associate it to n2
It assumes n2 and tp already exist, and that n1 does not exist.</p></div></div><div class="top"><p class="src"><a id="v:createNodeOnCodomain" class="def">createNodeOnCodomain</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#createNodeOnCodomain" class="link">Source</a> <a href="#v:createNodeOnCodomain" class="selflink">#</a></p><div class="doc"><p>This function adds a node n2 (type tp) to the codomain of the typed graph morphism
It assumes tp already exist, and that n2 does not exist.</p></div></div><div class="top"><p class="src"><a id="v:updateEdgeRelation" class="def">updateEdgeRelation</a> :: <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="Graph-Graph.html#t:EdgeId">EdgeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#updateEdgeRelation" class="link">Source</a> <a href="#v:updateEdgeRelation" class="selflink">#</a></p><div class="doc"><p>updates a typed graph morphism, mapping edge e1 to edge e2. It assumes both edges already exist.</p></div></div><div class="top"><p class="src"><a id="v:updateNodeRelation" class="def">updateNodeRelation</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#updateNodeRelation" class="link">Source</a> <a href="#v:updateNodeRelation" class="selflink">#</a></p><div class="doc"><p>updates a typed graph morphism, mapping node n1 to node n2. It assumes both nodes already exist.</p></div></div><div class="top"><p class="src"><a id="v:untypedUpdateNodeRelation" class="def">untypedUpdateNodeRelation</a> :: <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="Graph-Graph.html#t:NodeId">NodeId</a> -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#untypedUpdateNodeRelation" class="link">Source</a> <a href="#v:untypedUpdateNodeRelation" class="selflink">#</a></p><div class="doc"><p>updates a typed graph morphism, mapping node n1 to node n2. It assumes both nodes already exist and are of the same type.</p></div></div><div class="top"><p class="src"><a id="v:orphanTypedNodeIds" class="def">orphanTypedNodeIds</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:NodeId">NodeId</a>] <a href="src/TypedGraph.Morphism.Core.html#orphanTypedNodeIds" class="link">Source</a> <a href="#v:orphanTypedNodeIds" class="selflink">#</a></p><div class="doc"><p>Given a <code>TypedGraphMorphism</code>, return its orphan nodes ids</p></div></div><div class="top"><p class="src"><a id="v:orphanTypedEdgeIds" class="def">orphanTypedEdgeIds</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:EdgeId">EdgeId</a>] <a href="src/TypedGraph.Morphism.Core.html#orphanTypedEdgeIds" class="link">Source</a> <a href="#v:orphanTypedEdgeIds" class="selflink">#</a></p><div class="doc"><p>Given a <code>TypedGraphMorphism</code>, return its orphan edges ids</p></div></div><div class="top"><p class="src"><a id="v:orphanTypedEdges" class="def">orphanTypedEdges</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> [<a href="Graph-Graph.html#t:Edge">Edge</a> (<a href="../base-4.9.1.0/Data-Maybe.html#t:Maybe">Maybe</a> b)] <a href="src/TypedGraph.Morphism.Core.html#orphanTypedEdges" class="link">Source</a> <a href="#v:orphanTypedEdges" class="selflink">#</a></p><div class="doc"><p>Given a <code>TypedGraphMorphism</code>, return its orphan edges</p></div></div><div class="top"><p class="src"><a id="v:reflectIdsFromTypeGraph" class="def">reflectIdsFromTypeGraph</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#reflectIdsFromTypeGraph" class="link">Source</a> <a href="#v:reflectIdsFromTypeGraph" class="selflink">#</a></p><div class="doc"><p>Given a TypedGraphMorphism tgm, creates an isomorphic TypedGraphMorphism tgm' where the mapping between the domain and codomain can be seen as explicit inclusion (the same ids)
Attention: It works only when the typing morphism is injective, otherwise it will produce an invalid TypedGraphMorphism</p></div></div><div class="top"><p class="src"><a id="v:reflectIdsFromCodomain" class="def">reflectIdsFromCodomain</a> :: <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b -> <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b <a href="src/TypedGraph.Morphism.Core.html#reflectIdsFromCodomain" class="link">Source</a> <a href="#v:reflectIdsFromCodomain" class="selflink">#</a></p><div class="doc"><p>Given a TypedGraphMorphism tgm, creates an isomorphic TypedGraphMorphism tgm' where the nodes
and edges in the domain have the same ids as the ones in the codomain</p></div></div><div class="top"><p class="src"><a id="v:reflectIdsFromDomains" class="def">reflectIdsFromDomains</a> :: (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b, <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b) -> (<a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b, <a href="TypedGraph-Morphism.html#t:TypedGraphMorphism">TypedGraphMorphism</a> a b) <a href="src/TypedGraph.Morphism.Core.html#reflectIdsFromDomains" class="link">Source</a> <a href="#v:reflectIdsFromDomains" class="selflink">#</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>