Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Bidirectional computation

TODO: The Logic trait and its bound() method. How :plus(x,y,z) can derive any one argument from the other two. How :range(lo, mid, hi) enumerates mid given lo and hi. How NotEq validates without proposing.