-
Notifications
You must be signed in to change notification settings - Fork 1
/
Abstract-Relation.html
5 lines (5 loc) · 21.9 KB
/
Abstract-Relation.html
1
2
3
4
5
<!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>Abstract.Relation</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_Abstract-Relation.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Abstract.Relation.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">Abstract.Relation</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Types</a></li><li><a href="#g:2">Construction</a></li><li><a href="#g:3">Transformation</a></li><li><a href="#g:4">Query</a><ul><li><a href="#g:5">Predicates</a></li></ul></li></ul></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:Relation">Relation</a> a</li><li class="src short"><a href="#v:empty">empty</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a</li><li class="src short"><a href="#v:compose">compose</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a</li><li class="src short"><a href="#v:id">id</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a</li><li class="src short"><a href="#v:inverseRelation">inverseRelation</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a</li><li class="src short"><a href="#v:updateRelation">updateRelation</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => a -> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a</li><li class="src short"><a href="#v:removeFromDomain">removeFromDomain</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a</li><li class="src short"><a href="#v:removeFromCodomain">removeFromCodomain</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a</li><li class="src short"><a href="#v:insertOnCodomain">insertOnCodomain</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a</li><li class="src short"><a href="#v:apply">apply</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> a -> [a]</li><li class="src short"><a href="#v:domain">domain</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> [a]</li><li class="src short"><a href="#v:codomain">codomain</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> [a]</li><li class="src short"><a href="#v:image">image</a> :: <a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> [a]</li><li class="src short"><a href="#v:mapping">mapping</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../containers-0.5.7.1/Data-Map-Lazy.html#t:Map">Map</a> a [a]</li><li class="src short"><a href="#v:orphans">orphans</a> :: <a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> [a]</li><li class="src short"><a href="#v:isFunctional">isFunctional</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isInjective">isInjective</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isPartialInjective">isPartialInjective</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isSurjective">isSurjective</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isTotal">isTotal</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1 id="g:1">Types</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Relation" class="def">Relation</a> a <a href="src/Abstract.Relation.html#Relation" class="link">Source</a> <a href="#t:Relation" class="selflink">#</a></p><div class="doc"><p>Datatype for endorelations on a</p></div><div class="subs instances"><p id="control.i:Relation" class="caption collapser" onclick="toggleSection('i:Relation')">Instances</p><div id="section.i:Relation" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Relation:Eq:1" class="instance expander" onclick="toggleSection('i:id:Relation:Eq:1')"></span> (<a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a, <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a) => <a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Abstract-Relation.html#t:Relation">Relation</a> a)</span> <a href="src/Abstract.Relation.html#line-46" class="link">Source</a> <a href="#t:Relation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Relation: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="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <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="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <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:Relation:Ord:2" class="instance expander" onclick="toggleSection('i:id:Relation:Ord:2')"></span> <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Abstract-Relation.html#t:Relation">Relation</a> a)</span> <a href="src/Abstract.Relation.html#line-44" class="link">Source</a> <a href="#t:Relation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Relation:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Relation:Read:3" class="instance expander" onclick="toggleSection('i:id:Relation:Read:3')"></span> (<a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="../base-4.9.1.0/Text-Read.html#t:Read">Read</a> a) => <a href="../base-4.9.1.0/Text-Read.html#t:Read">Read</a> (<a href="Abstract-Relation.html#t:Relation">Relation</a> a)</span> <a href="src/Abstract.Relation.html#line-44" class="link">Source</a> <a href="#t:Relation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Relation:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="../base-4.9.1.0/Data-Int.html#t:Int">Int</a> -> <a href="../base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> (<a href="Abstract-Relation.html#t:Relation">Relation</a> a) <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="../base-4.9.1.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [<a href="Abstract-Relation.html#t:Relation">Relation</a> a] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="../base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> (<a href="Abstract-Relation.html#t:Relation">Relation</a> a) <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="../base-4.9.1.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Abstract-Relation.html#t:Relation">Relation</a> a] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Relation:Show:4" class="instance expander" onclick="toggleSection('i:id:Relation:Show:4')"></span> <a href="../base-4.9.1.0/Text-Show.html#t:Show">Show</a> a => <a href="../base-4.9.1.0/Text-Show.html#t:Show">Show</a> (<a href="Abstract-Relation.html#t:Relation">Relation</a> a)</span> <a href="src/Abstract.Relation.html#line-44" class="link">Source</a> <a href="#t:Relation" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Relation:Show:4" 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="Abstract-Relation.html#t:Relation">Relation</a> a -> <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="Abstract-Relation.html#t:Relation">Relation</a> a -> <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="Abstract-Relation.html#t:Relation">Relation</a> a] -> <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></table></div></div></div><h1 id="g:2">Construction</h1><div class="top"><p class="src"><a id="v:empty" class="def">empty</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> [a] -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="src/Abstract.Relation.html#empty" class="link">Source</a> <a href="#v:empty" class="selflink">#</a></p><div class="doc"><p>An empty relation, with domain and codomain specified.</p></div></div><h1 id="g:3">Transformation</h1><div class="top"><p class="src"><a id="v:compose" class="def">compose</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="src/Abstract.Relation.html#compose" class="link">Source</a> <a href="#v:compose" class="selflink">#</a></p><div class="doc"><p>Compose <code>r1</code> and <code>r2</code>.</p></div></div><div class="top"><p class="src"><a id="v:id" class="def">id</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="src/Abstract.Relation.html#id" class="link">Source</a> <a href="#v:id" class="selflink">#</a></p><div class="doc"><p>The identity relation on <code>dom</code>.</p></div></div><div class="top"><p class="src"><a id="v:inverseRelation" class="def">inverseRelation</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="src/Abstract.Relation.html#inverseRelation" class="link">Source</a> <a href="#v:inverseRelation" class="selflink">#</a></p><div class="doc"><p>The inverse relation.</p></div></div><div class="top"><p class="src"><a id="v:updateRelation" class="def">updateRelation</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => a -> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="src/Abstract.Relation.html#updateRelation" class="link">Source</a> <a href="#v:updateRelation" class="selflink">#</a></p><div class="doc"><p>Add a mapping between <code>x</code> and <code>y</code> to the relation. If <code>x</code> already exists,
<code>y</code> is joined to the corresponding elements.</p></div></div><div class="top"><p class="src"><a id="v:removeFromDomain" class="def">removeFromDomain</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="src/Abstract.Relation.html#removeFromDomain" class="link">Source</a> <a href="#v:removeFromDomain" class="selflink">#</a></p><div class="doc"><p>Remove an element from the domain of the relation</p></div></div><div class="top"><p class="src"><a id="v:removeFromCodomain" class="def">removeFromCodomain</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="src/Abstract.Relation.html#removeFromCodomain" class="link">Source</a> <a href="#v:removeFromCodomain" class="selflink">#</a></p><div class="doc"><p>Remove an element from the codomain of the relation</p></div></div><div class="top"><p class="src"><a id="v:insertOnCodomain" class="def">insertOnCodomain</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a <a href="src/Abstract.Relation.html#insertOnCodomain" class="link">Source</a> <a href="#v:insertOnCodomain" class="selflink">#</a></p><div class="doc"><p>Insert an element on the codomain of the relation</p></div></div><h1 id="g:4">Query</h1><div class="top"><p class="src"><a id="v:apply" class="def">apply</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> a -> [a] <a href="src/Abstract.Relation.html#apply" class="link">Source</a> <a href="#v:apply" class="selflink">#</a></p><div class="doc"><p>Return a list of all elements that <code>x</code> gets mapped into.</p></div></div><div class="top"><p class="src"><a id="v:domain" class="def">domain</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> [a] <a href="src/Abstract.Relation.html#domain" class="link">Source</a> <a href="#v:domain" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:codomain" class="def">codomain</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> [a] <a href="src/Abstract.Relation.html#codomain" class="link">Source</a> <a href="#v:codomain" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:image" class="def">image</a> :: <a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> [a] <a href="src/Abstract.Relation.html#image" class="link">Source</a> <a href="#v:image" class="selflink">#</a></p><div class="doc"><p>Return a list of all elements in the image of the relation.</p></div></div><div class="top"><p class="src"><a id="v:mapping" class="def">mapping</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../containers-0.5.7.1/Data-Map-Lazy.html#t:Map">Map</a> a [a] <a href="src/Abstract.Relation.html#mapping" class="link">Source</a> <a href="#v:mapping" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:orphans" class="def">orphans</a> :: <a href="../base-4.9.1.0/Data-Eq.html#t:Eq">Eq</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> [a] <a href="src/Abstract.Relation.html#orphans" class="link">Source</a> <a href="#v:orphans" class="selflink">#</a></p><div class="doc"><p>Return the elements in the domain which are not in the image of the relation (orphans)</p></div></div><h2 id="g:5">Predicates</h2><div class="top"><p class="src"><a id="v:isFunctional" class="def">isFunctional</a> :: <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Relation.html#isFunctional" class="link">Source</a> <a href="#v:isFunctional" class="selflink">#</a></p><div class="doc"><p>Test if <code>r</code> is functional.</p></div></div><div class="top"><p class="src"><a id="v:isInjective" class="def">isInjective</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Relation.html#isInjective" class="link">Source</a> <a href="#v:isInjective" class="selflink">#</a></p><div class="doc"><p>Test if <code>r</code> is injective.</p></div></div><div class="top"><p class="src"><a id="v:isPartialInjective" class="def">isPartialInjective</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => [a] -> <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Relation.html#isPartialInjective" class="link">Source</a> <a href="#v:isPartialInjective" class="selflink">#</a></p><div class="doc"><p>Test if <code>r</code> is injective out of domain <code>list</code></p></div></div><div class="top"><p class="src"><a id="v:isSurjective" class="def">isSurjective</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Relation.html#isSurjective" class="link">Source</a> <a href="#v:isSurjective" class="selflink">#</a></p><div class="doc"><p>Test if <code>r</code> is surjective.</p></div></div><div class="top"><p class="src"><a id="v:isTotal" class="def">isTotal</a> :: <a href="../base-4.9.1.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="Abstract-Relation.html#t:Relation">Relation</a> a -> <a href="../base-4.9.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Abstract.Relation.html#isTotal" class="link">Source</a> <a href="#v:isTotal" class="selflink">#</a></p><div class="doc"><p>Test if <code>r</code> is total.</p></div></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>