aboutsummaryrefslogtreecommitdiff
path: root/docs/spec/inferred.html
diff options
context:
space:
mode:
authorMarshall Lochbaum <mwlochbaum@gmail.com>2021-10-26 09:09:38 -0400
committerMarshall Lochbaum <mwlochbaum@gmail.com>2021-10-26 09:09:38 -0400
commite4edda2a8cf2309b77808cc749a8e6ff8a282b17 (patch)
treec7764022c2020d5611f8b22075365504e4a5df91 /docs/spec/inferred.html
parent66272177ff5d3cf64ef2371d9a16612c4019a9b2 (diff)
Typo
Diffstat (limited to 'docs/spec/inferred.html')
-rw-r--r--docs/spec/inferred.html2
1 files changed, 1 insertions, 1 deletions
diff --git a/docs/spec/inferred.html b/docs/spec/inferred.html
index 08041156..b4c5d3f5 100644
--- a/docs/spec/inferred.html
+++ b/docs/spec/inferred.html
@@ -474,7 +474,7 @@
<li><em>Structural</em> Under: If <code><span class='Function'>๐”พ</span></code> is a structural function (to be defined below) and <code><span class='Value'>v</span></code> is compatible with <code><span class='Function'>๐”พ</span></code> on <code><span class='Value'>๐•ฉ</span></code>, then the result is obtained by inserting <code><span class='Value'>v</span></code> back into <code><span class='Value'>๐•ฉ</span></code>.</li>
<li><em>Computational</em> Under: If <code><span class='Function'>๐”พ</span></code> is provably not a structural function, then the result is <code><span class='Function'>๐”พ</span><span class='Modifier'>โผ</span><span class='Value'>v</span></code> if it is defined.</li>
</ul>
-<p>When implementing, there is no need to implement invertable Under specially: it can be handled as part of the structural and computation cases.</p>
+<p>When implementing, there is no need to implement invertible Under specially: it can be handled as part of the structural and computation cases.</p>
<h3 id="mathematical-definition-of-structural-under"><a class="header" href="#mathematical-definition-of-structural-under">Mathematical definition of structural Under</a></h3>
<p>In general, structural Under requires information from the original right argument to be computed. Here we will define the <em>structural inverse of</em> structural function <code><span class='Function'>๐”พ</span></code> <em>on</em> <code><span class='Value'>v</span></code> <em>into</em> <code><span class='Value'>๐•ฉ</span></code>, where <code><span class='Value'>๐•ฉ</span></code> gives this information. The value <code><span class='Value'>๐•จ</span><span class='Function'>๐”ฝ</span><span class='Modifier2'>โŒพ</span><span class='Function'>๐”พ</span><span class='Value'>๐•ฉ</span></code> is then the structural inverse of <code><span class='Function'>๐”พ</span></code> on <code><span class='Value'>๐•จ</span><span class='Function'>๐”ฝ</span><span class='Modifier2'>โ—‹</span><span class='Function'>๐”พ</span><span class='Value'>๐•ฉ</span></code> into <code><span class='Value'>๐•ฉ</span></code>.</p>
<p>We define a <em>structure</em> to be either the value <code><span class='Nothing'>ยท</span></code> or an array of structures (substitute <code><span class='Number'>0</span></code> or any other specific value for <code><span class='Nothing'>ยท</span></code> if you'd like structures to be a subset of BQN arrays; the value is irrelevant). A given structure <code><span class='Value'>s</span></code> <em>captures</em> a BQN value or structure <code><span class='Value'>๐•ฉ</span></code> if it is <code><span class='Nothing'>ยท</span></code>, or if <code><span class='Value'>s</span></code> and <code><span class='Value'>๐•ฉ</span></code> are arrays of the same shape, and each element of <code><span class='Value'>s</span></code> captures the corresponding element of <code><span class='Value'>๐•ฉ</span></code>. Thus a structure shares some or all of the structural information in arrays it captures, but none of the data.</p>