Unexpected results in playing with relations
<pre><code>/*
sig a {
}

sig b {
}
*/

pred rel_test(r : univ -&gt; univ) {
    # r = 1
}

run {
    some r : univ -&gt; univ {
        rel_test [r]
    }
} for 2
</code></pre>

<p>Running this small test, <strong>$r</strong> contains one element in every generated instance. When <strong>sig a</strong> and <strong>sig b</strong> are uncommented, however, the first instance is this:</p>

<p><a href="https://i.stack.imgur.com/Vi5Y7.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Vi5Y7.png" alt="enter image description here"></a></p>

<p>In my explanation, <strong>$r</strong> has 9 tuples here and still, the predicate which asks for a one tuple relation succeeds. Where am I wrong? </p>

<p>An auxiliary question: are these two declarations equivalent?</p>

<pre><code>pred rel_test(r : univ -&gt; univ)
pred rel_test(r : set univ -&gt; univ)
</code></pre>