Generator

Split and list: 8 clauses on 6 variables become 16 vectors

Rendered here at the parameters it defaults to, with every essay that calls it — which is the same list as the blast radius of changing it.
Split and list: 8 clauses on 6 variables become 16 vectorsEach row is one assignment to half the variables, written as the clauses it fails to satisfy: one column per clause, a filled square where that half leaves the clause unsatisfied. A pair of rows is orthogonal — no clause filled in both — exactly when the two halves together satisfy every clause, so the formula is satisfiable if and only if the two lists contain an orthogonal pair. This one is satisfiable, and the scan found a pair after 3 comparisons. The lists hold 8 and 8 vectors and 8 times 8 is 64, which is every assignment there is.one column per clause; filled means this half fails itvars 1..3vars 4..6#001110000#111110001#200001000#310001001#401010110#511010011#600001110#710001011#001100100#100100100#200001101#300010101#401100010#510100000#600001010#710010000rows #0 and #2 fill no clause in commonfirst 8 of 8 rows each side · 8 clausessatisfiable

Split and list: 8 clauses on 6 variables become 16 vectors

Each row is one assignment to half the variables, written as the clauses it fails to satisfy: one column per clause, a filled square where that half leaves the clause unsatisfied. A pair of rows is orthogonal — no clause filled in both — exactly when the two halves together satisfy every clause, so the formula is satisfiable if and only if the two lists contain an orthogonal pair. This one is satisfiable, and the scan found a pair after 3 comparisons. The lists hold 8 and 8 vectors and 8 times 8 is 64, which is every assignment there is.

Drawn at 700 × 538, wide on the page. Everything above is what reduction returns with no arguments; the caption is the generator's own, computed from the numbers in the drawing rather than written beside it.

1 essay calls reduction. The drawing above is what it returns with no arguments at all; every call below passes it something, because a placement that passes nothing draws whichever member of the family the generator happens to default to rather than the one its essay argues about — which is what optcheck and figfill exist to catch.

Where it is called

Changing this generator changes every one of these figures.

The library, page 3 of 5 — where reduction sits