[[`$.] map dup 2 list [def] each] `prop def; [,:] `Not def; [2 list] `And def; [2 list [,:] map] `Or def; [2 list 1 [,:] amend3] `If def; [2 list 0 [,:] amend3] `Fi def; [2 list [If Fi] [infra i] right i] `Iff def; [dup [*: [,:] map] dip rest , ,:] `condense def; [dup [*: *:] dip rest [,] left] `cancel def; [[[#: 1 >] [@: ~:]] [i] right i &] `neg1 def; [[[#: 1 =] [@: ~:] [i @: ~:]] [i] right i & &] `neg2 def; [[dup #: !:] dip dup [di] dip swap , @] `top def \ [10 20 30 40 50] 2 top; [[dup] dip map dup 1 has] `rule def; [[pop 1 ? top] dip i] `fire def \ [..] [1 0 0 0] 1; [[[@: id ] [[[neg1] rule] [condense] fire] [[[neg2] rule] [cancel] fire ] ,: ] cond] `vector def; [[vector] map flatten] `reduce def; [[reduce] converge] `array def; [[i] treemap] `values def; [[[[@:] [id] [*: ~:] ifte] map] map] `literal def; "pqrst" prop; [p [p [q]] [q]] `t2 set; \\ cancel = double negation elimination: [[... A ...]] B -- ... A ... B ... B condense = negation elimination: [... A ...] B -- : [A] : B