OSDN Git Service

Most of the C's.
authorSimon Forman <sforman@hushmail.com>
Thu, 24 Mar 2022 19:33:20 +0000 (12:33 -0700)
committerSimon Forman <sforman@hushmail.com>
Thu, 24 Mar 2022 19:33:20 +0000 (12:33 -0700)
docs/reference/ccccons.md
docs/reference/ccons.md
docs/reference/choice.md
docs/reference/clear.md
docs/reference/cleave.md
docs/reference/clop.md
docs/reference/cmp.md
docs/reference/codi.md
docs/reference/mkref/FuncRef.html
docs/reference/mkref/Functor-Reference.md
implementations/Python/joy/library.py

index 1196090..ae3f3b2 100644 (file)
@@ -2,28 +2,19 @@
 
 ## ccccons
 
-Basis Function Combinator
+Function
 
-ccons ccons
+       a b c d [...] ccccons
+    ---------------------------
+           [a b c d ...]
 
-Gentzen diagram.
+Do [cons] four times.
 
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
-
-### Discussion
-
-Lorem ipsum.
+> [ccons] [ccons]
 
 ### Crosslinks
 
-Lorem ipsum.
+[ccons] [cons] [times]
+
index 0afb708..5a179b0 100644 (file)
@@ -2,23 +2,20 @@
 
 ## ccons
 
-(Function)
+Function
 
-Given two items and a list, append the items to the list to make a new list.
-
-       B A [...] ccons
+       a b [...] ccons
     ---------------------
-          [B A ...]
-
-### Definition
+          [a b ...]
 
-    cons cons
+Do [cons] two times.
 
-### Discussion
+### Definition
 
-Does `cons` twice.
+> [cons] [cons]
 
 ### Crosslinks
 
-[cons](#cons)
+[cons]
+[ccons]
 
index 6110001..5122a8f 100644 (file)
@@ -2,41 +2,29 @@
 
 ## choice
 
-Basis Function Combinator
+Basis Function
 
-Use a Boolean value to select one of two items. :
+Use a Boolean value to select one of two items.
 
-    A B false choice
+       a b false choice
     ----------------------
-    A
+              a
 
-
-    A B true choice
+       a b true choice
     ---------------------
-      B
-
-Currently Python semantics are used to evaluate the \"truthiness\" of
-the Boolean value (so empty string, zero, etc. are counted as false,
-etc.)
-
-Gentzen diagram.
+              b
 
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
+> \[[pop]\] \[[popd]\] [branch]
 
 ### Discussion
 
-Lorem ipsum.
+It's a matter of taste whether you implement this in terms of [branch] or
+the other way around.
 
 ### Crosslinks
 
-Lorem ipsum.
+[branch]
+[select]
+
index e2a0720..a92e930 100644 (file)
@@ -2,33 +2,16 @@
 
 ## clear
 
-Basis Function Combinator
+Basis Function
 
 Clear everything from the stack.
 
-:   clear == stack [pop stack] loop
-
-           ... clear
-        ---------------
-
-Gentzen diagram.
-
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
-
-### Discussion
-
-Lorem ipsum.
+> [stack] [bool] \[[pop] [stack] [bool]\] [loop]
 
 ### Crosslinks
 
-Lorem ipsum.
+[stack]
+[swaack]
+
index 91169dd..195f67f 100644 (file)
@@ -2,28 +2,32 @@
 
 ## cleave
 
-Basis Function Combinator
+Combinator
 
-fork popdd
+Run two programs in parallel, consuming one additional item, and put their
+results on the stack.
 
-Gentzen diagram.
-
-### Definition
-
-if not basis.
+       ... x [A] [B] cleave
+    ------------------------
+            ... a b
 
 ### Derivation
 
-if not basis.
+> [fork] [popdd]
 
-### Source
+### Example
 
-if basis
+       1 2 3 [+] [-] cleave
+    --------------------------
+             1 2 5 -1
 
 ### Discussion
 
-Lorem ipsum.
+One of a handful of useful parallel combinators.
 
 ### Crosslinks
 
-Lorem ipsum.
+[clop]
+[fork]
+[map]
+
index 6963bbb..6983b6f 100644 (file)
@@ -2,28 +2,29 @@
 
 ## clop
 
-Basis Function Combinator
+Combinator
 
-cleave popdd
+Run two programs in parallel, consuming two additional items, and put their results on the stack.
 
-Gentzen diagram.
+       ... x y [A] [B] clop
+    --------------------------
+            ... a b
 
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
+> [cleave] [popdd]
 
 ### Discussion
 
-Lorem ipsum.
+Like [cleave] but consumes an additional item from the stack.
+
+       1 2 3 4 [+] [-] clop
+    --------------------------
+             1 2 7 -1
 
 ### Crosslinks
 
-Lorem ipsum.
+[cleave]
+[fork]
+[map]
+
index 650ecbe..b992eb1 100644 (file)
@@ -2,41 +2,37 @@
 
 ## cmp
 
-Basis Function Combinator
+Combinator
 
-cmp takes two values and three quoted programs on the stack and runs one
-of the three depending on the results of comparing the two values: :
+Take two values and three quoted programs on the stack and run one
+of the three depending on the results of comparing the two values.
 
-    a b [G] [E] [L] cmp
+       a b [G] [E] [L] cmp
     ------------------------- a > b
-     G
+            G
 
-    a b [G] [E] [L] cmp
+       a b [G] [E] [L] cmp
     ------------------------- a = b
-         E
+                E
 
-    a b [G] [E] [L] cmp
+       a b [G] [E] [L] cmp
     ------------------------- a < b
-         L
-
-Gentzen diagram.
-
-### Definition
-
-if not basis.
-
-### Derivation
+                    L
+### Discussion
 
-if not basis.
+This is useful sometimes, and you can [dup] or [dupd] with two quoted
+programs to handle the cases when you just want to deal with [<=] or [>=]
+and not all three possibilities, e.g.:
 
-### Source
+    [G] [LE] dup cmp
 
-if basis
+    [GE] [L] dupd cmp
 
-### Discussion
+Or even:
 
-Lorem ipsum.
+    [GL] [E] over cmp
 
 ### Crosslinks
 
-Lorem ipsum.
+TODO: link to tree notebooks where this was used.
+
index b1f0c13..ed57f8e 100644 (file)
@@ -2,28 +2,26 @@
 
 ## codi
 
-Basis Function Combinator
+Combinator
 
-cons dip
-
-Gentzen diagram.
+Take a quoted program from the stack, [cons] the next item onto it, then
+[dip] the whole thing under what was the third item on the stack.
+       a b [F] . codi
+    --------------------
+             b . F a
 
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
+> [cons] [dip]
 
 ### Discussion
 
-Lorem ipsum.
+This is one of those weirdly specific functions that turns out to be
+useful in a few places.
 
 ### Crosslinks
 
-Lorem ipsum.
+[appN]
+[codireco]
+
index 413045f..16d0a74 100644 (file)
 <p><a href="#choice">choice</a> <a href="#ifte">ifte</a> <a href="#select">select</a></p>
 <hr />
 <h2 id="ccccons">ccccons</h2>
-<p>Basis Function Combinator</p>
-<p>ccons ccons</p>
-<p>Gentzen diagram.</p>
+<p>Function</p>
+<pre><code>   a b c d [...] ccccons
+---------------------------
+       [a b c d ...]</code></pre>
+<p>Do <a href="#cons">cons</a> four times.</p>
 <h3 id="definition-16">Definition</h3>
-<p>if not basis.</p>
-<h3 id="derivation-1">Derivation</h3>
-<p>if not basis.</p>
-<h3 id="source">Source</h3>
-<p>if basis</p>
-<h3 id="discussion-16">Discussion</h3>
-<p>Lorem ipsum.</p>
+<blockquote>
+<p><a href="#ccons">ccons</a> <a href="#ccons">ccons</a></p>
+</blockquote>
 <h3 id="crosslinks-14">Crosslinks</h3>
-<p>Lorem ipsum.</p>
+<p><a href="#ccons">ccons</a> <a href="#cons">cons</a> <a href="#times">times</a></p>
 <hr />
 <h2 id="ccons">ccons</h2>
-<p>(Function)</p>
-<p>Given two items and a list, append the items to the list to make a new list.</p>
-<pre><code>   B A [...] ccons
+<p>Function</p>
+<pre><code>   a b [...] ccons
 ---------------------
-      [B A ...]</code></pre>
+      [a b ...]</code></pre>
+<p>Do <a href="#cons">cons</a> two times.</p>
 <h3 id="definition-17">Definition</h3>
-<pre><code>cons cons</code></pre>
-<h3 id="discussion-17">Discussion</h3>
-<p>Does <code>cons</code> twice.</p>
+<blockquote>
+<p><a href="#cons">cons</a> <a href="#cons">cons</a></p>
+</blockquote>
 <h3 id="crosslinks-15">Crosslinks</h3>
-<p><a href="#cons">cons</a></p>
+<p><a href="#cons">cons</a> <a href="#ccons">ccons</a></p>
 <hr />
 <h2 id="choice">choice</h2>
-<p>Basis Function Combinator</p>
-<p>Use a Boolean value to select one of two items. :</p>
-<pre><code>A B false choice
+<p>Basis Function</p>
+<p>Use a Boolean value to select one of two items.</p>
+<pre><code>   a b false choice
 ----------------------
-A
+          a
 
-
-A B true choice
+   a b true choice
 ---------------------
-  B</code></pre>
-<p>Currently Python semantics are used to evaluate the "truthiness" of the Boolean value (so empty string, zero, etc. are counted as false, etc.)</p>
-<p>Gentzen diagram.</p>
+          b</code></pre>
 <h3 id="definition-18">Definition</h3>
-<p>if not basis.</p>
-<h3 id="derivation-2">Derivation</h3>
-<p>if not basis.</p>
-<h3 id="source-1">Source</h3>
-<p>if basis</p>
-<h3 id="discussion-18">Discussion</h3>
-<p>Lorem ipsum.</p>
+<blockquote>
+<p>[<a href="#pop">pop</a>] [<a href="#popd">popd</a>] <a href="#branch">branch</a></p>
+</blockquote>
+<h3 id="discussion-16">Discussion</h3>
+<p>It&#x2019;s a matter of taste whether you implement this in terms of <a href="#branch">branch</a> or the other way around.</p>
 <h3 id="crosslinks-16">Crosslinks</h3>
-<p>Lorem ipsum.</p>
+<p><a href="#branch">branch</a> <a href="#select">select</a></p>
 <hr />
 <h2 id="clear">clear</h2>
-<p>Basis Function Combinator</p>
-<dl>
-<dt>Clear everything from the stack.</dt>
-<dd><p>clear == stack [pop stack] loop</p>
-<pre><code>   ... clear
----------------</code></pre>
-</dd>
-</dl>
-<p>Gentzen diagram.</p>
+<p>Basis Function</p>
+<p>Clear everything from the stack.</p>
 <h3 id="definition-19">Definition</h3>
-<p>if not basis.</p>
-<h3 id="derivation-3">Derivation</h3>
-<p>if not basis.</p>
-<h3 id="source-2">Source</h3>
-<p>if basis</p>
-<h3 id="discussion-19">Discussion</h3>
-<p>Lorem ipsum.</p>
+<blockquote>
+<p><a href="#stack">stack</a> <a href="#bool">bool</a> [<a href="#pop">pop</a> <a href="#stack">stack</a> <a href="#bool">bool</a>] <a href="#loop">loop</a></p>
+</blockquote>
 <h3 id="crosslinks-17">Crosslinks</h3>
-<p>Lorem ipsum.</p>
+<p><a href="#stack">stack</a> <a href="#swaack">swaack</a></p>
 <hr />
 <h2 id="cleave">cleave</h2>
-<p>Basis Function Combinator</p>
-<p>fork popdd</p>
-<p>Gentzen diagram.</p>
-<h3 id="definition-20">Definition</h3>
-<p>if not basis.</p>
-<h3 id="derivation-4">Derivation</h3>
-<p>if not basis.</p>
-<h3 id="source-3">Source</h3>
-<p>if basis</p>
-<h3 id="discussion-20">Discussion</h3>
-<p>Lorem ipsum.</p>
+<p>Combinator</p>
+<p>Run two programs in parallel, consuming one additional item, and put their results on the stack.</p>
+<pre><code>   ... x [A] [B] cleave
+------------------------
+        ... a b</code></pre>
+<h3 id="derivation-1">Derivation</h3>
+<blockquote>
+<p><a href="#fork">fork</a> <a href="#popdd">popdd</a></p>
+</blockquote>
+<h3 id="example-1">Example</h3>
+<pre><code>   1 2 3 [+] [-] cleave
+--------------------------
+         1 2 5 -1</code></pre>
+<h3 id="discussion-17">Discussion</h3>
+<p>One of a handful of useful parallel combinators.</p>
 <h3 id="crosslinks-18">Crosslinks</h3>
-<p>Lorem ipsum.</p>
+<p><a href="#clop">clop</a> <a href="#fork">fork</a> <a href="#map">map</a></p>
 <hr />
 <h2 id="clop">clop</h2>
-<p>Basis Function Combinator</p>
-<p>cleave popdd</p>
-<p>Gentzen diagram.</p>
-<h3 id="definition-21">Definition</h3>
-<p>if not basis.</p>
-<h3 id="derivation-5">Derivation</h3>
-<p>if not basis.</p>
-<h3 id="source-4">Source</h3>
-<p>if basis</p>
-<h3 id="discussion-21">Discussion</h3>
-<p>Lorem ipsum.</p>
+<p>Combinator</p>
+<p>Run two programs in parallel, consuming two additional items, and put their results on the stack.</p>
+<pre><code>   ... x y [A] [B] clop
+--------------------------
+        ... a b</code></pre>
+<h3 id="definition-20">Definition</h3>
+<blockquote>
+<p><a href="#cleave">cleave</a> <a href="#popdd">popdd</a></p>
+</blockquote>
+<h3 id="discussion-18">Discussion</h3>
+<p>Like <a href="#cleave">cleave</a> but consumes an additional item from the stack.</p>
+<pre><code>   1 2 3 4 [+] [-] clop
+--------------------------
+         1 2 7 -1</code></pre>
 <h3 id="crosslinks-19">Crosslinks</h3>
-<p>Lorem ipsum.</p>
+<p><a href="#cleave">cleave</a> <a href="#fork">fork</a> <a href="#map">map</a></p>
 <hr />
 <h2 id="cmp">cmp</h2>
-<p>Basis Function Combinator</p>
-<p>cmp takes two values and three quoted programs on the stack and runs one of the three depending on the results of comparing the two values: :</p>
-<pre><code>a b [G] [E] [L] cmp
+<p>Combinator</p>
+<p>Take two values and three quoted programs on the stack and run one of the three depending on the results of comparing the two values.</p>
+<pre><code>   a b [G] [E] [L] cmp
 ------------------------- a &gt; b
- G
       G
 
-a b [G] [E] [L] cmp
+   a b [G] [E] [L] cmp
 ------------------------- a = b
-     E
+            E
 
-a b [G] [E] [L] cmp
+   a b [G] [E] [L] cmp
 ------------------------- a &lt; b
-     L</code></pre>
-<p>Gentzen diagram.</p>
-<h3 id="definition-22">Definition</h3>
-<p>if not basis.</p>
-<h3 id="derivation-6">Derivation</h3>
-<p>if not basis.</p>
-<h3 id="source-5">Source</h3>
-<p>if basis</p>
-<h3 id="discussion-22">Discussion</h3>
-<p>Lorem ipsum.</p>
+                L</code></pre>
+<h3 id="discussion-19">Discussion</h3>
+<p>This is useful sometimes, and you can <a href="#dup">dup</a> or <a href="#dupd">dupd</a> with two quoted programs to handle the cases when you just want to deal with <a href="#section-14">&lt;=</a> or <a href="#section-9">&gt;=</a> and not all three possibilities, e.g.:</p>
+<pre><code>[G] [LE] dup cmp
+
+[GE] [L] dupd cmp</code></pre>
+<p>Or even:</p>
+<pre><code>[GL] [E] over cmp</code></pre>
 <h3 id="crosslinks-20">Crosslinks</h3>
-<p>Lorem ipsum.</p>
+<p>TODO: link to tree notebooks where this was used.</p>
 <hr />
 <h2 id="codi">codi</h2>
-<p>Basis Function Combinator</p>
-<p>cons dip</p>
-<p>Gentzen diagram.</p>
-<h3 id="definition-23">Definition</h3>
-<p>if not basis.</p>
-<h3 id="derivation-7">Derivation</h3>
-<p>if not basis.</p>
-<h3 id="source-6">Source</h3>
-<p>if basis</p>
-<h3 id="discussion-23">Discussion</h3>
-<p>Lorem ipsum.</p>
+<p>Combinator</p>
+<p>Take a quoted program from the stack, <a href="#cons">cons</a> the next item onto it, then <a href="#dip">dip</a> the whole thing under what was the third item on the stack.</p>
+<pre><code>   a b [F] . codi
+--------------------
+         b . F a</code></pre>
+<h3 id="definition-21">Definition</h3>
+<blockquote>
+<p><a href="#cons">cons</a> <a href="#dip">dip</a></p>
+</blockquote>
+<h3 id="discussion-20">Discussion</h3>
+<p>This is one of those weirdly specific functions that turns out to be useful in a few places.</p>
 <h3 id="crosslinks-21">Crosslinks</h3>
-<p>Lorem ipsum.</p>
+<p><a href="#appn">appN</a> <a href="#codireco">codireco</a></p>
 <hr />
 <h2 id="codireco">codireco</h2>
 <p>Basis Function Combinator</p>
 <p>codi reco</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-24">Definition</h3>
+<h3 id="definition-22">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-8">Derivation</h3>
+<h3 id="derivation-2">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-7">Source</h3>
+<h3 id="source">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-24">Discussion</h3>
+<h3 id="discussion-21">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-22">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -849,13 +836,13 @@ a b [G] [E] [L] cmp
 ----------------------------
     [a b c d e f]</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-25">Definition</h3>
+<h3 id="definition-23">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-9">Derivation</h3>
+<h3 id="derivation-3">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-8">Source</h3>
+<h3 id="source-1">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-25">Discussion</h3>
+<h3 id="discussion-22">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-23">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -868,13 +855,13 @@ a b [G] [E] [L] cmp
 -----------------------------------------
 [B0] [T0] [[B1] [T1] [D] ifte] ifte</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-26">Definition</h3>
+<h3 id="definition-24">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-10">Derivation</h3>
+<h3 id="derivation-4">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-9">Source</h3>
+<h3 id="source-2">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-26">Discussion</h3>
+<h3 id="discussion-23">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-24">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -885,9 +872,9 @@ a b [G] [E] [L] cmp
 <pre><code>   A [...] cons
 ------------------
      [A ...]</code></pre>
-<h3 id="source-10">Source</h3>
+<h3 id="source-3">Source</h3>
 <pre><code>func(cons, [list(A), B|S], [list([B|A])|S]).</code></pre>
-<h3 id="discussion-27">Discussion</h3>
+<h3 id="discussion-24">Discussion</h3>
 <p>Cons is a venerable old function from Lisp. It doesn&#x2019;t inspect the item but it will not cons onto a non-list. It&#x2019;s inverse operation is called <code>uncons</code>.</p>
 <h3 id="crosslinks-25">Crosslinks</h3>
 <p><a href="#ccons">ccons</a> <a href="#uncons">uncons</a></p>
@@ -896,13 +883,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>dip infrst</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-27">Definition</h3>
+<h3 id="definition-25">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-11">Derivation</h3>
+<h3 id="derivation-5">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-11">Source</h3>
+<h3 id="source-4">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-28">Discussion</h3>
+<h3 id="discussion-25">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-26">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -914,13 +901,13 @@ a b [G] [E] [L] cmp
 -------------------
   ... Q x</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-28">Definition</h3>
+<h3 id="definition-26">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-12">Derivation</h3>
+<h3 id="derivation-6">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-12">Source</h3>
+<h3 id="source-5">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-29">Discussion</h3>
+<h3 id="discussion-26">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-27">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -932,13 +919,13 @@ a b [G] [E] [L] cmp
 ---------------------
   ... Q y x</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-29">Definition</h3>
+<h3 id="definition-27">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-13">Derivation</h3>
+<h3 id="derivation-7">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-13">Source</h3>
+<h3 id="source-6">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-30">Discussion</h3>
+<h3 id="discussion-27">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-28">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -950,13 +937,13 @@ a b [G] [E] [L] cmp
 -----------------------
   ... Q z y x</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-30">Definition</h3>
+<h3 id="definition-28">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-14">Derivation</h3>
+<h3 id="derivation-8">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-14">Source</h3>
+<h3 id="source-7">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-31">Discussion</h3>
+<h3 id="discussion-28">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-29">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -965,13 +952,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>The disenstacken operator expects a list on top of the stack and makes that the stack discarding the rest of the stack.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-31">Definition</h3>
+<h3 id="definition-29">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-15">Derivation</h3>
+<h3 id="derivation-9">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-15">Source</h3>
+<h3 id="source-8">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-32">Discussion</h3>
+<h3 id="discussion-29">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-30">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -984,13 +971,13 @@ a b [G] [E] [L] cmp
 <p>divmod(x, y) -&gt; (quotient, remainder)</p>
 <p>Return the tuple (x//y, x%y). Invariant: q * y + r == x.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-32">Definition</h3>
+<h3 id="definition-30">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-16">Derivation</h3>
+<h3 id="derivation-10">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-16">Source</h3>
+<h3 id="source-9">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-33">Discussion</h3>
+<h3 id="discussion-30">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-31">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -999,13 +986,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>[0 &gt;] [dup --] while</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-33">Definition</h3>
+<h3 id="definition-31">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-17">Derivation</h3>
+<h3 id="derivation-11">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-17">Source</h3>
+<h3 id="source-10">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-34">Discussion</h3>
+<h3 id="discussion-31">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-32">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1018,13 +1005,13 @@ a b [G] [E] [L] cmp
 ----------------------
     [c d]</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-34">Definition</h3>
+<h3 id="definition-32">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-18">Derivation</h3>
+<h3 id="derivation-12">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-18">Source</h3>
+<h3 id="source-11">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-35">Discussion</h3>
+<h3 id="discussion-32">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-33">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1033,13 +1020,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <pre><code>(a1 -- a1 a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-35">Definition</h3>
+<h3 id="definition-33">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-19">Derivation</h3>
+<h3 id="derivation-13">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-19">Source</h3>
+<h3 id="source-12">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-36">Discussion</h3>
+<h3 id="discussion-33">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-34">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1048,13 +1035,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <pre><code>(a2 a1 -- a2 a2 a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-36">Definition</h3>
+<h3 id="definition-34">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-20">Derivation</h3>
+<h3 id="derivation-14">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-20">Source</h3>
+<h3 id="source-13">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-37">Discussion</h3>
+<h3 id="discussion-34">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-35">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1063,13 +1050,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <pre><code>(a3 a2 a1 -- a3 a3 a2 a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-37">Definition</h3>
+<h3 id="definition-35">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-21">Derivation</h3>
+<h3 id="derivation-15">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-21">Source</h3>
+<h3 id="source-14">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-38">Discussion</h3>
+<h3 id="discussion-35">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-36">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1083,13 +1070,13 @@ a b [G] [E] [L] cmp
 ... a a   [F] dip
 ... a F a</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-38">Definition</h3>
+<h3 id="definition-36">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-22">Derivation</h3>
+<h3 id="derivation-16">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-22">Source</h3>
+<h3 id="source-15">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-39">Discussion</h3>
+<h3 id="discussion-36">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-37">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1098,13 +1085,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>dup dipd</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-39">Definition</h3>
+<h3 id="definition-37">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-23">Derivation</h3>
+<h3 id="derivation-17">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-23">Source</h3>
+<h3 id="source-16">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-40">Discussion</h3>
+<h3 id="discussion-37">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-38">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1113,13 +1100,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>stack [clear] dip</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-40">Definition</h3>
+<h3 id="definition-38">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-24">Derivation</h3>
+<h3 id="derivation-18">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-24">Source</h3>
+<h3 id="source-17">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-41">Discussion</h3>
+<h3 id="discussion-38">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-39">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1128,13 +1115,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a == b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-41">Definition</h3>
+<h3 id="definition-39">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-25">Derivation</h3>
+<h3 id="derivation-19">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-25">Source</h3>
+<h3 id="source-18">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-42">Discussion</h3>
+<h3 id="discussion-39">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-40">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1143,13 +1130,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <pre><code>([a1 ...1] -- a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-42">Definition</h3>
+<h3 id="definition-40">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-26">Derivation</h3>
+<h3 id="derivation-20">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-26">Source</h3>
+<h3 id="source-19">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-43">Discussion</h3>
+<h3 id="discussion-40">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-41">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1158,13 +1145,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <pre><code>([a1 a2 ...1] -- a1 a2)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-43">Definition</h3>
+<h3 id="definition-41">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-27">Derivation</h3>
+<h3 id="derivation-21">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-27">Source</h3>
+<h3 id="source-20">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-44">Discussion</h3>
+<h3 id="discussion-41">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-42">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1173,13 +1160,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>&lt;{} [concat] step</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-44">Definition</h3>
+<h3 id="definition-42">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-28">Derivation</h3>
+<h3 id="derivation-22">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-28">Source</h3>
+<h3 id="source-21">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-45">Discussion</h3>
+<h3 id="discussion-42">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-43">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1189,13 +1176,13 @@ a b [G] [E] [L] cmp
 <p>Return the floor of x as an Integral.</p>
 <p>This is the largest integer &lt;= x.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-45">Definition</h3>
+<h3 id="definition-43">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-29">Derivation</h3>
+<h3 id="derivation-23">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-29">Source</h3>
+<h3 id="source-22">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-46">Discussion</h3>
+<h3 id="discussion-43">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-44">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1204,13 +1191,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a // b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-46">Definition</h3>
+<h3 id="definition-44">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-30">Derivation</h3>
+<h3 id="derivation-24">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-30">Source</h3>
+<h3 id="source-23">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-47">Discussion</h3>
+<h3 id="discussion-44">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-45">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1219,13 +1206,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>[i] app2</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-47">Definition</h3>
+<h3 id="definition-45">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-31">Derivation</h3>
+<h3 id="derivation-25">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-31">Source</h3>
+<h3 id="source-24">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-48">Discussion</h3>
+<h3 id="discussion-45">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-46">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1234,13 +1221,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <pre><code>([a1 a2 a3 a4 ...1] -- a4)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-48">Definition</h3>
+<h3 id="definition-46">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-32">Derivation</h3>
+<h3 id="derivation-26">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-32">Source</h3>
+<h3 id="source-25">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-49">Discussion</h3>
+<h3 id="discussion-46">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-47">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1249,13 +1236,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>true [tuck mod dup 0 &gt;] loop pop</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-49">Definition</h3>
+<h3 id="definition-47">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-33">Derivation</h3>
+<h3 id="derivation-27">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-33">Source</h3>
+<h3 id="source-26">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-50">Discussion</h3>
+<h3 id="discussion-47">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-48">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1264,13 +1251,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Compiled GCD function.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-50">Definition</h3>
+<h3 id="definition-48">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-34">Derivation</h3>
+<h3 id="derivation-28">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-34">Source</h3>
+<h3 id="source-27">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-51">Discussion</h3>
+<h3 id="discussion-48">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-49">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1279,13 +1266,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a &gt;= b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-51">Definition</h3>
+<h3 id="definition-49">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-35">Derivation</h3>
+<h3 id="derivation-29">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-35">Source</h3>
+<h3 id="source-28">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-52">Discussion</h3>
+<h3 id="discussion-49">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-50">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1310,13 +1297,13 @@ a b [G] [E] [L] cmp
   == [I] [T] [R [P] i] ifte
   == [I] [T] [R P] ifte</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-52">Definition</h3>
+<h3 id="definition-50">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-36">Derivation</h3>
+<h3 id="derivation-30">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-36">Source</h3>
+<h3 id="source-29">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-53">Discussion</h3>
+<h3 id="discussion-50">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-51">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1329,13 +1316,13 @@ a b [G] [E] [L] cmp
 -------------------------
  a</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-53">Definition</h3>
+<h3 id="definition-51">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-37">Derivation</h3>
+<h3 id="derivation-31">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-37">Source</h3>
+<h3 id="source-30">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-54">Discussion</h3>
+<h3 id="discussion-51">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-52">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1344,13 +1331,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>&lt;{} [cons] times</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-54">Definition</h3>
+<h3 id="definition-52">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-38">Derivation</h3>
+<h3 id="derivation-32">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-38">Source</h3>
+<h3 id="source-31">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-55">Discussion</h3>
+<h3 id="discussion-52">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-53">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1359,13 +1346,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>[stack popd] dip</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-55">Definition</h3>
+<h3 id="definition-53">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-39">Derivation</h3>
+<h3 id="derivation-33">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-39">Source</h3>
+<h3 id="source-32">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-56">Discussion</h3>
+<h3 id="discussion-53">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-54">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1374,13 +1361,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a &gt; b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-56">Definition</h3>
+<h3 id="definition-54">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-40">Derivation</h3>
+<h3 id="derivation-34">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-40">Source</h3>
+<h3 id="source-33">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-57">Discussion</h3>
+<h3 id="discussion-54">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-55">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1389,13 +1376,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Accepts a quoted symbol on the top of the stack and prints its docs.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-57">Definition</h3>
+<h3 id="definition-55">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-41">Derivation</h3>
+<h3 id="derivation-35">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-41">Source</h3>
+<h3 id="source-34">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-58">Discussion</h3>
+<h3 id="discussion-55">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-56">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1404,13 +1391,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>[sqr] ii + sqrt</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-58">Definition</h3>
+<h3 id="definition-56">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-42">Derivation</h3>
+<h3 id="derivation-36">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-42">Source</h3>
+<h3 id="source-35">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-59">Discussion</h3>
+<h3 id="discussion-56">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-57">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1421,22 +1408,22 @@ a b [G] [E] [L] cmp
 <pre><code>   [Q] i
 -----------
     Q</code></pre>
-<h3 id="source-43">Source</h3>
+<h3 id="source-36">Source</h3>
 <pre><code>combo(i, [list(P)|S], S, Ei, Eo) :- append(P, Ei, Eo).</code></pre>
-<h3 id="discussion-60">Discussion</h3>
+<h3 id="discussion-57">Discussion</h3>
 <p>This is probably the fundamental combinator. You wind up using it in all kinds of places (for example, the <code>x</code> combinator can be defined as <code>dup i</code>.)</p>
 <hr />
 <h2 id="id">id</h2>
 <p>Basis Function Combinator</p>
 <p>The identity function.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-59">Definition</h3>
+<h3 id="definition-57">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-43">Derivation</h3>
+<h3 id="derivation-37">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-44">Source</h3>
+<h3 id="source-37">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-61">Discussion</h3>
+<h3 id="discussion-58">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-58">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1456,13 +1443,13 @@ a b [G] [E] [L] cmp
 ... [else] [then] [...] [if] infra first choice i</code></pre>
 <p>Has the effect of grabbing a copy of the stack on which to run the if-part using infra.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-60">Definition</h3>
+<h3 id="definition-58">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-44">Derivation</h3>
+<h3 id="derivation-38">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-45">Source</h3>
+<h3 id="source-38">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-62">Discussion</h3>
+<h3 id="discussion-59">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-59">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1473,13 +1460,13 @@ a b [G] [E] [L] cmp
 ------------------
  ... Q a Q</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-61">Definition</h3>
+<h3 id="definition-59">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-45">Derivation</h3>
+<h3 id="derivation-39">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-46">Source</h3>
+<h3 id="source-39">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-63">Discussion</h3>
+<h3 id="discussion-60">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-60">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1490,9 +1477,9 @@ a b [G] [E] [L] cmp
 <pre><code>   ... [a b c] [Q] infra
 ---------------------------
     c b a Q [...] swaack</code></pre>
-<h3 id="definition-62">Definition</h3>
+<h3 id="definition-60">Definition</h3>
 <pre><code>swons swaack [i] dip swaack</code></pre>
-<h3 id="discussion-64">Discussion</h3>
+<h3 id="discussion-61">Discussion</h3>
 <p>This is one of the more useful combinators. It allows a quoted expression to serve as a stack for a program, effectively running it in a kind of &#x201C;pocket universe&#x201D;. If the list represents a datastructure then <code>infra</code> lets you work on its internal structure.</p>
 <h3 id="crosslinks-61">Crosslinks</h3>
 <p><a href="#swaack">swaack</a></p>
@@ -1501,13 +1488,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>infra first</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-63">Definition</h3>
+<h3 id="definition-61">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-46">Derivation</h3>
+<h3 id="derivation-40">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-47">Source</h3>
+<h3 id="source-40">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-65">Discussion</h3>
+<h3 id="discussion-62">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-62">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1519,13 +1506,13 @@ a b [G] [E] [L] cmp
 <p>[sqr dup mul] inscribe</p>
 </blockquote>
 <p>Gentzen diagram.</p>
-<h3 id="definition-64">Definition</h3>
+<h3 id="definition-62">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-47">Derivation</h3>
+<h3 id="derivation-41">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-48">Source</h3>
+<h3 id="source-41">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-66">Discussion</h3>
+<h3 id="discussion-63">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-63">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1534,13 +1521,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a &lt;= b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-65">Definition</h3>
+<h3 id="definition-63">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-48">Derivation</h3>
+<h3 id="derivation-42">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-49">Source</h3>
+<h3 id="source-42">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-67">Discussion</h3>
+<h3 id="discussion-64">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-64">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1556,13 +1543,13 @@ a b [G] [E] [L] cmp
 ------------------------
    ...</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-66">Definition</h3>
+<h3 id="definition-64">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-49">Derivation</h3>
+<h3 id="derivation-43">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-50">Source</h3>
+<h3 id="source-43">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-68">Discussion</h3>
+<h3 id="discussion-65">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-65">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1571,13 +1558,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a &lt;&lt; b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-67">Definition</h3>
+<h3 id="definition-65">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-50">Derivation</h3>
+<h3 id="derivation-44">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-51">Source</h3>
+<h3 id="source-44">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-69">Discussion</h3>
+<h3 id="discussion-66">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-66">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1586,13 +1573,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a &lt; b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-68">Definition</h3>
+<h3 id="definition-66">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-51">Derivation</h3>
+<h3 id="derivation-45">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-52">Source</h3>
+<h3 id="source-45">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-70">Discussion</h3>
+<h3 id="discussion-67">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-67">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1601,13 +1588,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>[codireco] ccons</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-69">Definition</h3>
+<h3 id="definition-67">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-52">Derivation</h3>
+<h3 id="derivation-46">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-53">Source</h3>
+<h3 id="source-46">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-71">Discussion</h3>
+<h3 id="discussion-68">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-68">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1616,13 +1603,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Run the quoted program on TOS on the items in the list under it, push a new list with the results in place of the program and original list.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-70">Definition</h3>
+<h3 id="definition-68">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-53">Derivation</h3>
+<h3 id="derivation-47">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-54">Source</h3>
+<h3 id="source-47">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-72">Discussion</h3>
+<h3 id="discussion-69">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-69">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1631,13 +1618,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Given a list find the maximum.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-71">Definition</h3>
+<h3 id="definition-69">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-54">Derivation</h3>
+<h3 id="derivation-48">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-55">Source</h3>
+<h3 id="source-48">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-73">Discussion</h3>
+<h3 id="discussion-70">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-70">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1646,13 +1633,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Given a list find the minimum.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-72">Definition</h3>
+<h3 id="definition-70">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-55">Derivation</h3>
+<h3 id="derivation-49">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-56">Source</h3>
+<h3 id="source-49">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-74">Discussion</h3>
+<h3 id="discussion-71">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-71">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1661,13 +1648,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a % b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-73">Definition</h3>
+<h3 id="definition-71">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-56">Derivation</h3>
+<h3 id="derivation-50">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-57">Source</h3>
+<h3 id="source-50">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-75">Discussion</h3>
+<h3 id="discussion-72">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-72">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1679,13 +1666,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a * b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-74">Definition</h3>
+<h3 id="definition-72">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-57">Derivation</h3>
+<h3 id="derivation-51">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-58">Source</h3>
+<h3 id="source-51">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-76">Discussion</h3>
+<h3 id="discussion-73">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-73">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1694,13 +1681,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a != b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-75">Definition</h3>
+<h3 id="definition-73">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-58">Derivation</h3>
+<h3 id="derivation-52">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-59">Source</h3>
+<h3 id="source-52">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-77">Discussion</h3>
+<h3 id="discussion-74">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-74">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1709,13 +1696,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as -a.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-76">Definition</h3>
+<h3 id="definition-74">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-59">Derivation</h3>
+<h3 id="derivation-53">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-60">Source</h3>
+<h3 id="source-53">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-78">Discussion</h3>
+<h3 id="discussion-75">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-75">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1724,13 +1711,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as not a.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-77">Definition</h3>
+<h3 id="definition-75">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-60">Derivation</h3>
+<h3 id="derivation-54">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-61">Source</h3>
+<h3 id="source-54">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-79">Discussion</h3>
+<h3 id="discussion-76">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-76">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1746,20 +1733,20 @@ a b [G] [E] [L] cmp
    N !-
 ----------  N &gt;= 0
    true</code></pre>
-<h3 id="definition-78">Definition</h3>
+<h3 id="definition-76">Definition</h3>
 <pre><code>0 &gt;=</code></pre>
 <hr />
 <h2 id="nulco">nulco</h2>
 <p>Basis Function Combinator</p>
 <p>[nullary] cons</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-79">Definition</h3>
+<h3 id="definition-77">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-61">Derivation</h3>
+<h3 id="derivation-55">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-62">Source</h3>
+<h3 id="source-55">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-80">Discussion</h3>
+<h3 id="discussion-77">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-77">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1770,16 +1757,16 @@ a b [G] [E] [L] cmp
 <pre><code>   ... [P] nullary
 ---------------------
         ... A</code></pre>
-<h3 id="definition-80">Definition</h3>
+<h3 id="definition-78">Definition</h3>
 <pre><code>[stack] dip infra first</code></pre>
-<h3 id="derivation-62">Derivation</h3>
+<h3 id="derivation-56">Derivation</h3>
 <pre><code>... [P] nullary
 ... [P] [stack] dip infra first
 ... stack [P] infra first
 ... [...] [P] infra first
 ... [A ...] first
 ...  A</code></pre>
-<h3 id="discussion-81">Discussion</h3>
+<h3 id="discussion-78">Discussion</h3>
 <p>A very useful function that runs any other quoted function and returns it&#x2019;s first result without disturbing the stack (under the quoted program.)</p>
 <h3 id="crosslinks-78">Crosslinks</h3>
 <p><a href="#unary">unary</a> <a href="#binary">binary</a> <a href="#ternary">ternary</a></p>
@@ -1788,13 +1775,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>swap at</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-81">Definition</h3>
+<h3 id="definition-79">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-63">Derivation</h3>
+<h3 id="derivation-57">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-63">Source</h3>
+<h3 id="source-56">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-82">Discussion</h3>
+<h3 id="discussion-79">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-79">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1803,13 +1790,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>Same as a | b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-82">Definition</h3>
+<h3 id="definition-80">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-64">Derivation</h3>
+<h3 id="derivation-58">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-64">Source</h3>
+<h3 id="source-57">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-83">Discussion</h3>
+<h3 id="discussion-80">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-80">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1818,13 +1805,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <pre><code>(a2 a1 -- a2 a1 a2)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-83">Definition</h3>
+<h3 id="definition-81">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-65">Derivation</h3>
+<h3 id="derivation-59">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-65">Source</h3>
+<h3 id="source-58">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-84">Discussion</h3>
+<h3 id="discussion-81">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-81">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1833,13 +1820,13 @@ a b [G] [E] [L] cmp
 <p>Basis Function Combinator</p>
 <p>[i] map</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-84">Definition</h3>
+<h3 id="definition-82">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-66">Derivation</h3>
+<h3 id="derivation-60">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-66">Source</h3>
+<h3 id="source-59">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-85">Discussion</h3>
+<h3 id="discussion-82">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-82">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1854,13 +1841,13 @@ a b [G] [E] [L] cmp
 -------------
 a+b a-b</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-85">Definition</h3>
+<h3 id="definition-83">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-67">Derivation</h3>
+<h3 id="derivation-61">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-67">Source</h3>
+<h3 id="source-60">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-86">Discussion</h3>
+<h3 id="discussion-83">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-83">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1869,13 +1856,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a1 --)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-86">Definition</h3>
+<h3 id="definition-84">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-68">Derivation</h3>
+<h3 id="derivation-62">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-68">Source</h3>
+<h3 id="source-61">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-87">Discussion</h3>
+<h3 id="discussion-84">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-84">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1884,13 +1871,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a2 a1 -- a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-87">Definition</h3>
+<h3 id="definition-85">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-69">Derivation</h3>
+<h3 id="derivation-63">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-69">Source</h3>
+<h3 id="source-62">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-88">Discussion</h3>
+<h3 id="discussion-85">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-85">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1899,13 +1886,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a3 a2 a1 -- a2 a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-88">Definition</h3>
+<h3 id="definition-86">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-70">Derivation</h3>
+<h3 id="derivation-64">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-70">Source</h3>
+<h3 id="source-63">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-89">Discussion</h3>
+<h3 id="discussion-86">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-86">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1914,13 +1901,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a2 a1 --)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-89">Definition</h3>
+<h3 id="definition-87">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-71">Derivation</h3>
+<h3 id="derivation-65">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-71">Source</h3>
+<h3 id="source-64">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-90">Discussion</h3>
+<h3 id="discussion-87">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-87">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1929,13 +1916,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a3 a2 a1 -- a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-90">Definition</h3>
+<h3 id="definition-88">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-72">Derivation</h3>
+<h3 id="derivation-66">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-72">Source</h3>
+<h3 id="source-65">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-91">Discussion</h3>
+<h3 id="discussion-88">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-88">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1944,13 +1931,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a4 a3 a2 a1 -- a2 a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-91">Definition</h3>
+<h3 id="definition-89">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-73">Derivation</h3>
+<h3 id="derivation-67">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-73">Source</h3>
+<h3 id="source-66">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-92">Discussion</h3>
+<h3 id="discussion-89">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-89">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1959,13 +1946,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>pop popop</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-92">Definition</h3>
+<h3 id="definition-90">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-74">Derivation</h3>
+<h3 id="derivation-68">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-74">Source</h3>
+<h3 id="source-67">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-93">Discussion</h3>
+<h3 id="discussion-90">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-90">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1974,13 +1961,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Same as a ** b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-93">Definition</h3>
+<h3 id="definition-91">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-75">Derivation</h3>
+<h3 id="derivation-69">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-75">Source</h3>
+<h3 id="source-68">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-94">Discussion</h3>
+<h3 id="discussion-91">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-91">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -1989,13 +1976,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Decrement TOS.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-94">Definition</h3>
+<h3 id="definition-92">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-76">Derivation</h3>
+<h3 id="derivation-70">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-76">Source</h3>
+<h3 id="source-69">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-95">Discussion</h3>
+<h3 id="discussion-92">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-92">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2016,13 +2003,13 @@ a+b a-b</code></pre>
 ------------------------------------------ n &gt; 0
    n (n-1) [Base] [Recur] primrec Recur</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-95">Definition</h3>
+<h3 id="definition-93">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-77">Derivation</h3>
+<h3 id="derivation-71">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-77">Source</h3>
+<h3 id="source-70">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-96">Discussion</h3>
+<h3 id="discussion-93">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-93">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2031,13 +2018,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>1 swap [*] step</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-96">Definition</h3>
+<h3 id="definition-94">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-78">Derivation</h3>
+<h3 id="derivation-72">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-78">Source</h3>
+<h3 id="source-71">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-97">Discussion</h3>
+<h3 id="discussion-94">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-94">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2046,13 +2033,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[unit] dip</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-97">Definition</h3>
+<h3 id="definition-95">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-79">Derivation</h3>
+<h3 id="derivation-73">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-79">Source</h3>
+<h3 id="source-72">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-98">Discussion</h3>
+<h3 id="discussion-95">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-95">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2061,13 +2048,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[0 &lt;=] [1 - dup] anamorphism</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-98">Definition</h3>
+<h3 id="definition-96">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-80">Derivation</h3>
+<h3 id="derivation-74">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-80">Source</h3>
+<h3 id="source-73">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-99">Discussion</h3>
+<h3 id="discussion-96">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-96">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2076,13 +2063,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>unit [down_to_zero] infra</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-99">Definition</h3>
+<h3 id="definition-97">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-81">Derivation</h3>
+<h3 id="derivation-75">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-81">Source</h3>
+<h3 id="source-74">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-100">Discussion</h3>
+<h3 id="discussion-97">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-97">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2091,13 +2078,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>rest cons</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-100">Definition</h3>
+<h3 id="definition-98">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-82">Derivation</h3>
+<h3 id="derivation-76">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-82">Source</h3>
+<h3 id="source-75">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-101">Discussion</h3>
+<h3 id="discussion-98">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-98">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2115,13 +2102,13 @@ a+b a-b</code></pre>
 ------------------------
   [2 3 1]</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-101">Definition</h3>
+<h3 id="definition-99">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-83">Derivation</h3>
+<h3 id="derivation-77">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-83">Source</h3>
+<h3 id="source-76">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-102">Discussion</h3>
+<h3 id="discussion-99">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-99">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2130,13 +2117,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>([a1 ...0] -- [...0])</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-102">Definition</h3>
+<h3 id="definition-100">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-84">Derivation</h3>
+<h3 id="derivation-78">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-84">Source</h3>
+<h3 id="source-77">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-103">Discussion</h3>
+<h3 id="discussion-100">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-100">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2146,13 +2133,13 @@ a+b a-b</code></pre>
 <p>Reverse the list on the top of the stack. :</p>
 <pre><code>reverse == [] swap shunt</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-103">Definition</h3>
+<h3 id="definition-101">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-85">Derivation</h3>
+<h3 id="derivation-79">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-85">Source</h3>
+<h3 id="source-78">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-104">Discussion</h3>
+<h3 id="discussion-101">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-101">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2161,13 +2148,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a1 a2 a3 -- a2 a3 a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-104">Definition</h3>
+<h3 id="definition-102">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-86">Derivation</h3>
+<h3 id="derivation-80">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-86">Source</h3>
+<h3 id="source-79">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-105">Discussion</h3>
+<h3 id="discussion-102">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-102">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2176,13 +2163,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a1 a2 a3 -- a3 a1 a2)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-105">Definition</h3>
+<h3 id="definition-103">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-87">Derivation</h3>
+<h3 id="derivation-81">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-87">Source</h3>
+<h3 id="source-80">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-106">Discussion</h3>
+<h3 id="discussion-103">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-103">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2198,13 +2185,13 @@ a+b a-b</code></pre>
 <p>Round a number to a given precision in decimal digits.</p>
 <p>The return value is an integer if ndigits is omitted or None. Otherwise the return value has the same type as the number. ndigits may be negative.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-106">Definition</h3>
+<h3 id="definition-104">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-88">Derivation</h3>
+<h3 id="derivation-82">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-88">Source</h3>
+<h3 id="source-81">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-107">Discussion</h3>
+<h3 id="discussion-104">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-104">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2213,13 +2200,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>([a1 a2 ...1] -- [...1])</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-107">Definition</h3>
+<h3 id="definition-105">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-89">Derivation</h3>
+<h3 id="derivation-83">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-89">Source</h3>
+<h3 id="source-82">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-108">Discussion</h3>
+<h3 id="discussion-105">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-105">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2228,13 +2215,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Same as a &gt;&gt; b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-108">Definition</h3>
+<h3 id="definition-106">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-90">Derivation</h3>
+<h3 id="derivation-84">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-90">Source</h3>
+<h3 id="source-83">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-109">Discussion</h3>
+<h3 id="discussion-106">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-106">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2243,13 +2230,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>&lt;{} infra</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-109">Definition</h3>
+<h3 id="definition-107">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-91">Derivation</h3>
+<h3 id="derivation-85">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-91">Source</h3>
+<h3 id="source-84">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-110">Discussion</h3>
+<h3 id="discussion-107">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-107">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2258,13 +2245,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>([a1 a2 ...1] -- a2)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-110">Definition</h3>
+<h3 id="definition-108">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-92">Derivation</h3>
+<h3 id="derivation-86">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-92">Source</h3>
+<h3 id="source-85">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-111">Discussion</h3>
+<h3 id="discussion-108">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-108">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2282,13 +2269,13 @@ a+b a-b</code></pre>
    B</code></pre>
 <p>The sequence can contain more than two items but not fewer. Currently Python semantics are used to evaluate the "truthiness" of the Boolean value (so empty string, zero, etc. are counted as false, etc.)</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-111">Definition</h3>
+<h3 id="definition-109">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-93">Derivation</h3>
+<h3 id="derivation-87">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-93">Source</h3>
+<h3 id="source-86">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-112">Discussion</h3>
+<h3 id="discussion-109">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-109">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2297,13 +2284,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Print redistribution information.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-112">Definition</h3>
+<h3 id="definition-110">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-94">Derivation</h3>
+<h3 id="derivation-88">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-94">Source</h3>
+<h3 id="source-87">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-113">Discussion</h3>
+<h3 id="discussion-110">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-110">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2312,13 +2299,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>uncons [swons] dip</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-113">Definition</h3>
+<h3 id="definition-111">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-95">Derivation</h3>
+<h3 id="derivation-89">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-95">Source</h3>
+<h3 id="source-88">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-114">Discussion</h3>
+<h3 id="discussion-111">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-111">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2332,13 +2319,13 @@ a+b a-b</code></pre>
 ---------------------------
        [f e d a b c] </code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-114">Definition</h3>
+<h3 id="definition-112">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-96">Derivation</h3>
+<h3 id="derivation-90">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-96">Source</h3>
+<h3 id="source-89">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-115">Discussion</h3>
+<h3 id="discussion-112">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-112">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2347,13 +2334,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[pop ++] step_zero</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-115">Definition</h3>
+<h3 id="definition-113">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-97">Derivation</h3>
+<h3 id="derivation-91">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-97">Source</h3>
+<h3 id="source-90">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-116">Discussion</h3>
+<h3 id="discussion-113">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-113">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2362,13 +2349,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Given a list return it sorted.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-116">Definition</h3>
+<h3 id="definition-114">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-98">Derivation</h3>
+<h3 id="derivation-92">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-98">Source</h3>
+<h3 id="source-91">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-117">Discussion</h3>
+<h3 id="discussion-114">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-114">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2377,13 +2364,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[[[abs] ii &lt;=] [[&lt;&gt;] [pop !-] ||] &amp;&amp;] [[!-] [[++]] [[--]] ifte dip] [[pop !-] [--] [++] ifte] ifte</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-117">Definition</h3>
+<h3 id="definition-115">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-99">Derivation</h3>
+<h3 id="derivation-93">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-99">Source</h3>
+<h3 id="source-92">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-118">Discussion</h3>
+<h3 id="discussion-115">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-115">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2392,13 +2379,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[drop] [take] clop</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-118">Definition</h3>
+<h3 id="definition-116">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-100">Derivation</h3>
+<h3 id="derivation-94">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-100">Source</h3>
+<h3 id="source-93">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-119">Discussion</h3>
+<h3 id="discussion-116">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-116">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2407,13 +2394,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[take reverse] [drop] clop</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-119">Definition</h3>
+<h3 id="definition-117">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-101">Derivation</h3>
+<h3 id="derivation-95">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-101">Source</h3>
+<h3 id="source-94">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-120">Discussion</h3>
+<h3 id="discussion-117">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-117">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2422,13 +2409,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>dup *</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-120">Definition</h3>
+<h3 id="definition-118">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-102">Derivation</h3>
+<h3 id="derivation-96">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-102">Source</h3>
+<h3 id="source-95">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-121">Discussion</h3>
+<h3 id="discussion-118">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-118">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2437,13 +2424,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Return the square root of the number a. Negative numbers return complex roots.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-121">Definition</h3>
+<h3 id="definition-119">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-103">Derivation</h3>
+<h3 id="derivation-97">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-103">Source</h3>
+<h3 id="source-96">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-122">Discussion</h3>
+<h3 id="discussion-119">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-119">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2452,13 +2439,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(... -- ... [...])</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-122">Definition</h3>
+<h3 id="definition-120">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-104">Derivation</h3>
+<h3 id="derivation-98">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-104">Source</h3>
+<h3 id="source-97">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-123">Discussion</h3>
+<h3 id="discussion-120">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-120">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2467,13 +2454,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[stack] dip</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-123">Definition</h3>
+<h3 id="definition-121">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-105">Derivation</h3>
+<h3 id="derivation-99">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-105">Source</h3>
+<h3 id="source-98">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-124">Discussion</h3>
+<h3 id="discussion-121">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-121">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2496,13 +2483,13 @@ a+b a-b</code></pre>
       ... a . Q [b c] [Q] step</code></pre>
 <p>The step combinator executes the quotation on each member of the list on top of the stack.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-124">Definition</h3>
+<h3 id="definition-122">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-106">Derivation</h3>
+<h3 id="derivation-100">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-106">Source</h3>
+<h3 id="source-99">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-125">Discussion</h3>
+<h3 id="discussion-122">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-122">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2511,13 +2498,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>0 roll&gt; step</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-125">Definition</h3>
+<h3 id="definition-123">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-107">Derivation</h3>
+<h3 id="derivation-101">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-107">Source</h3>
+<h3 id="source-100">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-126">Discussion</h3>
+<h3 id="discussion-123">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-123">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2526,13 +2513,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(... a1 -- ... a1 a1 [...])</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-126">Definition</h3>
+<h3 id="definition-124">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-108">Derivation</h3>
+<h3 id="derivation-102">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-108">Source</h3>
+<h3 id="source-101">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-127">Discussion</h3>
+<h3 id="discussion-124">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-124">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2541,13 +2528,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(... a2 a1 -- ... a2 a1 a1 a2 [...])</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-127">Definition</h3>
+<h3 id="definition-125">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-109">Derivation</h3>
+<h3 id="derivation-103">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-109">Source</h3>
+<h3 id="source-102">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-128">Discussion</h3>
+<h3 id="discussion-125">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-125">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2556,13 +2543,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Same as a - b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-128">Definition</h3>
+<h3 id="definition-126">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-110">Derivation</h3>
+<h3 id="derivation-104">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-110">Source</h3>
+<h3 id="source-103">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-129">Discussion</h3>
+<h3 id="discussion-126">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-126">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2571,13 +2558,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Increment TOS.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-129">Definition</h3>
+<h3 id="definition-127">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-111">Derivation</h3>
+<h3 id="derivation-105">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-111">Source</h3>
+<h3 id="source-104">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-130">Discussion</h3>
+<h3 id="discussion-127">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-127">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2587,13 +2574,13 @@ a+b a-b</code></pre>
 <p>Given a quoted sequence of numbers return the sum. :</p>
 <pre><code>sum == 0 swap [+] step</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-130">Definition</h3>
+<h3 id="definition-128">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-112">Derivation</h3>
+<h3 id="derivation-106">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-112">Source</h3>
+<h3 id="source-105">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-131">Discussion</h3>
+<h3 id="discussion-128">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-128">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2602,13 +2589,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>([...1] -- [...0])</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-131">Definition</h3>
+<h3 id="definition-129">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-113">Derivation</h3>
+<h3 id="derivation-107">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-113">Source</h3>
+<h3 id="source-106">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-132">Discussion</h3>
+<h3 id="discussion-129">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-129">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2617,13 +2604,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a1 a2 -- a2 a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-132">Definition</h3>
+<h3 id="definition-130">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-114">Derivation</h3>
+<h3 id="derivation-108">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-114">Source</h3>
+<h3 id="source-107">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-133">Discussion</h3>
+<h3 id="discussion-130">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-130">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2632,13 +2619,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[swap] dip</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-133">Definition</h3>
+<h3 id="definition-131">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-115">Derivation</h3>
+<h3 id="derivation-109">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-115">Source</h3>
+<h3 id="source-108">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-134">Discussion</h3>
+<h3 id="discussion-131">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-131">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2647,13 +2634,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>swap concat</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-134">Definition</h3>
+<h3 id="definition-132">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-116">Derivation</h3>
+<h3 id="derivation-110">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-116">Source</h3>
+<h3 id="source-109">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-135">Discussion</h3>
+<h3 id="discussion-132">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-132">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2662,13 +2649,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>([...1] a1 -- [a1 ...1])</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-135">Definition</h3>
+<h3 id="definition-133">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-117">Derivation</h3>
+<h3 id="derivation-111">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-117">Source</h3>
+<h3 id="source-110">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-136">Discussion</h3>
+<h3 id="discussion-133">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-133">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2677,13 +2664,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[i] genrec</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-136">Definition</h3>
+<h3 id="definition-134">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-118">Derivation</h3>
+<h3 id="derivation-112">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-118">Source</h3>
+<h3 id="source-111">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-137">Discussion</h3>
+<h3 id="discussion-134">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-134">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2695,13 +2682,13 @@ a+b a-b</code></pre>
 ----------------------
     [b a]</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-137">Definition</h3>
+<h3 id="definition-135">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-119">Derivation</h3>
+<h3 id="derivation-113">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-119">Source</h3>
+<h3 id="source-112">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-138">Discussion</h3>
+<h3 id="discussion-135">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-135">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2712,9 +2699,9 @@ a+b a-b</code></pre>
 <pre><code>   ... z y x [P] unary
 -------------------------
          ... A</code></pre>
-<h3 id="definition-138">Definition</h3>
+<h3 id="definition-136">Definition</h3>
 <pre><code>binary popd</code></pre>
-<h3 id="discussion-139">Discussion</h3>
+<h3 id="discussion-136">Discussion</h3>
 <p>Runs any other quoted function and returns its first result while consuming exactly three items from the stack.</p>
 <h3 id="crosslinks-136">Crosslinks</h3>
 <p><a href="#binary">binary</a> <a href="#nullary">nullary</a> <a href="#unary">unary</a></p>
@@ -2723,13 +2710,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>([a1 a2 a3 ...1] -- a3)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-139">Definition</h3>
+<h3 id="definition-137">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-120">Derivation</h3>
+<h3 id="derivation-114">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-120">Source</h3>
+<h3 id="source-113">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-140">Discussion</h3>
+<h3 id="discussion-137">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-137">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2751,13 +2738,13 @@ a+b a-b</code></pre>
 -------------------------------------  w/ n &gt; 1
   ... . Q (n - 1) [Q] times</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-140">Definition</h3>
+<h3 id="definition-138">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-121">Derivation</h3>
+<h3 id="derivation-115">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-121">Source</h3>
+<h3 id="source-114">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-141">Discussion</h3>
+<h3 id="discussion-138">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-138">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2769,13 +2756,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a2 a1 -- a1 a2 a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-141">Definition</h3>
+<h3 id="definition-139">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-122">Derivation</h3>
+<h3 id="derivation-116">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-122">Source</h3>
+<h3 id="source-115">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-142">Discussion</h3>
+<h3 id="discussion-139">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-139">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2786,9 +2773,9 @@ a+b a-b</code></pre>
 <pre><code>   ... x [P] unary
 ---------------------
        ... A</code></pre>
-<h3 id="definition-142">Definition</h3>
+<h3 id="definition-140">Definition</h3>
 <pre><code>nullary popd</code></pre>
-<h3 id="discussion-143">Discussion</h3>
+<h3 id="discussion-140">Discussion</h3>
 <p>Runs any other quoted function and returns its first result while consuming exactly one item from the stack.</p>
 <h3 id="crosslinks-140">Crosslinks</h3>
 <p><a href="#binary">binary</a> <a href="#nullary">nullary</a> <a href="#ternary">ternary</a></p>
@@ -2799,9 +2786,9 @@ a+b a-b</code></pre>
 <pre><code>   [A ...] uncons
 --------------------
       A [...]</code></pre>
-<h3 id="source-123">Source</h3>
+<h3 id="source-116">Source</h3>
 <pre><code>func(uncons, Si, So) :- func(cons, So, Si).</code></pre>
-<h3 id="discussion-144">Discussion</h3>
+<h3 id="discussion-141">Discussion</h3>
 <p>This is the inverse of <code>cons</code>.</p>
 <h3 id="crosslinks-141">Crosslinks</h3>
 <p><a href="#cons">cons</a></p>
@@ -2810,13 +2797,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Given a list remove duplicate items.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-143">Definition</h3>
+<h3 id="definition-141">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-123">Derivation</h3>
+<h3 id="derivation-117">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-124">Source</h3>
+<h3 id="source-117">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-145">Discussion</h3>
+<h3 id="discussion-142">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-142">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2825,13 +2812,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>(a1 -- [a1 ])</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-144">Definition</h3>
+<h3 id="definition-142">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-124">Derivation</h3>
+<h3 id="derivation-118">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-125">Source</h3>
+<h3 id="source-118">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-146">Discussion</h3>
+<h3 id="discussion-143">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-143">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2840,13 +2827,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>[i] dip</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-145">Definition</h3>
+<h3 id="definition-143">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-125">Derivation</h3>
+<h3 id="derivation-119">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-126">Source</h3>
+<h3 id="source-119">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-147">Discussion</h3>
+<h3 id="discussion-144">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-144">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2855,13 +2842,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <pre><code>([a1 ...1] -- [...1] a1)</code></pre>
 <p>Gentzen diagram.</p>
-<h3 id="definition-146">Definition</h3>
+<h3 id="definition-144">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-126">Derivation</h3>
+<h3 id="derivation-120">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-127">Source</h3>
+<h3 id="source-120">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-148">Discussion</h3>
+<h3 id="discussion-145">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-145">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2870,13 +2857,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>True if the form on TOS is void otherwise False.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-147">Definition</h3>
+<h3 id="definition-145">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-127">Derivation</h3>
+<h3 id="derivation-121">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-128">Source</h3>
+<h3 id="source-121">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-149">Discussion</h3>
+<h3 id="discussion-146">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-146">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2885,13 +2872,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Print warranty information.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-148">Definition</h3>
+<h3 id="definition-146">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-128">Derivation</h3>
+<h3 id="derivation-122">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-129">Source</h3>
+<h3 id="source-122">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-150">Discussion</h3>
+<h3 id="discussion-147">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-147">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2900,13 +2887,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>swap nulco dupdipd concat loop</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-149">Definition</h3>
+<h3 id="definition-147">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-129">Derivation</h3>
+<h3 id="derivation-123">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-130">Source</h3>
+<h3 id="source-123">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-151">Discussion</h3>
+<h3 id="discussion-148">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-148">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2915,13 +2902,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Print all the words in alphabetical order.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-150">Definition</h3>
+<h3 id="definition-148">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-130">Derivation</h3>
+<h3 id="derivation-124">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-131">Source</h3>
+<h3 id="source-124">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-152">Discussion</h3>
+<h3 id="discussion-149">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-149">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2931,22 +2918,22 @@ a+b a-b</code></pre>
 <pre><code>   [F] x
 -----------
    [F] F</code></pre>
-<h3 id="definition-151">Definition</h3>
+<h3 id="definition-149">Definition</h3>
 <pre><code>dup i</code></pre>
-<h3 id="discussion-153">Discussion</h3>
+<h3 id="discussion-150">Discussion</h3>
 <p>The <code>x</code> combinator &#x2026;</p>
 <hr />
 <h2 id="xor">xor</h2>
 <p>Basis Function Combinator</p>
 <p>Same as a ^ b.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-152">Definition</h3>
+<h3 id="definition-150">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-131">Derivation</h3>
+<h3 id="derivation-125">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-132">Source</h3>
+<h3 id="source-125">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-154">Discussion</h3>
+<h3 id="discussion-151">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-150">Crosslinks</h3>
 <p>Lorem ipsum.</p>
@@ -2955,13 +2942,13 @@ a+b a-b</code></pre>
 <p>Basis Function Combinator</p>
 <p>Replace the two lists on the top of the stack with a list of the pairs from each list. The smallest list sets the length of the result list.</p>
 <p>Gentzen diagram.</p>
-<h3 id="definition-153">Definition</h3>
+<h3 id="definition-151">Definition</h3>
 <p>if not basis.</p>
-<h3 id="derivation-132">Derivation</h3>
+<h3 id="derivation-126">Derivation</h3>
 <p>if not basis.</p>
-<h3 id="source-133">Source</h3>
+<h3 id="source-126">Source</h3>
 <p>if basis</p>
-<h3 id="discussion-155">Discussion</h3>
+<h3 id="discussion-152">Discussion</h3>
 <p>Lorem ipsum.</p>
 <h3 id="crosslinks-151">Crosslinks</h3>
 <p>Lorem ipsum.</p>
index f1d79ba..64ec5c2 100644 (file)
@@ -671,267 +671,225 @@ terms of [choice] as above).  The more common "if..then..else" construct
 
 ## ccccons
 
-Basis Function Combinator
+Function
 
-ccons ccons
+       a b c d [...] ccccons
+    ---------------------------
+           [a b c d ...]
 
-Gentzen diagram.
+Do [cons] four times.
 
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
-
-### Discussion
-
-Lorem ipsum.
+> [ccons] [ccons]
 
 ### Crosslinks
 
-Lorem ipsum.
+[ccons] [cons] [times]
+
 
 --------------------
 
 ## ccons
 
-(Function)
-
-Given two items and a list, append the items to the list to make a new list.
+Function
 
-       B A [...] ccons
+       a b [...] ccons
     ---------------------
-          [B A ...]
+          [a b ...]
 
-### Definition
+Do [cons] two times.
 
-    cons cons
-
-### Discussion
+### Definition
 
-Does `cons` twice.
+> [cons] [cons]
 
 ### Crosslinks
 
-[cons](#cons)
+[cons]
+[ccons]
 
 
 ------------------------------------------------------------------------
 
 ## choice
 
-Basis Function Combinator
+Basis Function
 
-Use a Boolean value to select one of two items. :
+Use a Boolean value to select one of two items.
 
-    A B false choice
+       a b false choice
     ----------------------
-    A
+              a
 
-
-    A B true choice
+       a b true choice
     ---------------------
-      B
-
-Currently Python semantics are used to evaluate the \"truthiness\" of
-the Boolean value (so empty string, zero, etc. are counted as false,
-etc.)
-
-Gentzen diagram.
+              b
 
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
+> \[[pop]\] \[[popd]\] [branch]
 
 ### Discussion
 
-Lorem ipsum.
+It's a matter of taste whether you implement this in terms of [branch] or
+the other way around.
 
 ### Crosslinks
 
-Lorem ipsum.
+[branch]
+[select]
+
 
 ------------------------------------------------------------------------
 
 ## clear
 
-Basis Function Combinator
+Basis Function
 
 Clear everything from the stack.
 
-:   clear == stack [pop stack] loop
-
-           ... clear
-        ---------------
-
-Gentzen diagram.
-
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
-
-### Discussion
-
-Lorem ipsum.
+> [stack] [bool] \[[pop] [stack] [bool]\] [loop]
 
 ### Crosslinks
 
-Lorem ipsum.
+[stack]
+[swaack]
+
 
 ------------------------------------------------------------------------
 
 ## cleave
 
-Basis Function Combinator
-
-fork popdd
+Combinator
 
-Gentzen diagram.
+Run two programs in parallel, consuming one additional item, and put their
+results on the stack.
 
-### Definition
-
-if not basis.
+       ... x [A] [B] cleave
+    ------------------------
+            ... a b
 
 ### Derivation
 
-if not basis.
+> [fork] [popdd]
 
-### Source
+### Example
 
-if basis
+       1 2 3 [+] [-] cleave
+    --------------------------
+             1 2 5 -1
 
 ### Discussion
 
-Lorem ipsum.
+One of a handful of useful parallel combinators.
 
 ### Crosslinks
 
-Lorem ipsum.
+[clop]
+[fork]
+[map]
+
 
 ------------------------------------------------------------------------
 
 ## clop
 
-Basis Function Combinator
+Combinator
 
-cleave popdd
+Run two programs in parallel, consuming two additional items, and put their results on the stack.
 
-Gentzen diagram.
+       ... x y [A] [B] clop
+    --------------------------
+            ... a b
 
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
+> [cleave] [popdd]
 
 ### Discussion
 
-Lorem ipsum.
+Like [cleave] but consumes an additional item from the stack.
+
+       1 2 3 4 [+] [-] clop
+    --------------------------
+             1 2 7 -1
 
 ### Crosslinks
 
-Lorem ipsum.
+[cleave]
+[fork]
+[map]
+
 
 ------------------------------------------------------------------------
 
 ## cmp
 
-Basis Function Combinator
+Combinator
 
-cmp takes two values and three quoted programs on the stack and runs one
-of the three depending on the results of comparing the two values: :
+Take two values and three quoted programs on the stack and run one
+of the three depending on the results of comparing the two values.
 
-    a b [G] [E] [L] cmp
+       a b [G] [E] [L] cmp
     ------------------------- a > b
-     G
+            G
 
-    a b [G] [E] [L] cmp
+       a b [G] [E] [L] cmp
     ------------------------- a = b
-         E
+                E
 
-    a b [G] [E] [L] cmp
+       a b [G] [E] [L] cmp
     ------------------------- a < b
-         L
+                    L
+### Discussion
 
-Gentzen diagram.
+This is useful sometimes, and you can [dup] or [dupd] with two quoted
+programs to handle the cases when you just want to deal with [<=] or [>=]
+and not all three possibilities, e.g.:
 
-### Definition
+    [G] [LE] dup cmp
 
-if not basis.
+    [GE] [L] dupd cmp
 
-### Derivation
+Or even:
 
-if not basis.
-
-### Source
-
-if basis
-
-### Discussion
-
-Lorem ipsum.
+    [GL] [E] over cmp
 
 ### Crosslinks
 
-Lorem ipsum.
+TODO: link to tree notebooks where this was used.
+
 
 ------------------------------------------------------------------------
 
 ## codi
 
-Basis Function Combinator
-
-cons dip
+Combinator
 
-Gentzen diagram.
+Take a quoted program from the stack, [cons] the next item onto it, then
+[dip] the whole thing under what was the third item on the stack.
+       a b [F] . codi
+    --------------------
+             b . F a
 
 ### Definition
 
-if not basis.
-
-### Derivation
-
-if not basis.
-
-### Source
-
-if basis
+> [cons] [dip]
 
 ### Discussion
 
-Lorem ipsum.
+This is one of those weirdly specific functions that turns out to be
+useful in a few places.
 
 ### Crosslinks
 
-Lorem ipsum.
+[appN]
+[codireco]
+
 
 ------------------------------------------------------------------------
 
index b343c9b..c5d17ce 100644 (file)
@@ -340,10 +340,9 @@ def choice(stack):
         ---------------------
              B
 
-    Currently Python semantics are used to evaluate the "truthiness" of the
-    Boolean value (so empty string, zero, etc. are counted as false, etc.)
     '''
     (if_, (then, (else_, stack))) = stack
+    assert isinstance(if_, bool), repr(if_)
     return then if if_ else else_, stack