Merge loops/minikanren into architecture: Phase 5 disequality + Phase 6 FD constraints + Phase 7 SLG tabling

Phase 5: =/= disequality with constraint store.
Phase 6: bounds-consistency for fd-plus/fd-times, send-more-money, Sudoku 4x4, N-queens FD.
Phase 7: SLG-style tabling with in-progress sentinel + fixed-point iteration (Fibonacci + Ackermann canaries green).
This commit is contained in:
2026-05-14 20:11:18 +00:00
9 changed files with 1103 additions and 12 deletions

View File

@@ -205,6 +205,23 @@ _(none yet)_
_Newest first._
- **2026-05-09** — **deferred-plan execution**: shipped all four pieces from
`plans/minikanren-deferred.md` (on architecture):
- **Piece B** — bounds-consistency for `fd-plus` / `fd-times` (vvn / nvv /
vnv / vvv branches; integer-division helpers for ceil/floor);
- **Piece D** — send-more-money (column-with-carry encoding, verified
against the known answer) and Sudoku 4×4 (288 fillings of empty grid;
immediate failure on contradictory clues);
- **Piece C** — `=/=` disequality with constraint store, plus `==-cs`
constraint-aware unify so the store re-fires on bindings;
- **Piece A** — SLG-style tabling: in-progress sentinel + fixed-point
iteration. Cyclic patho terminates: `(tab-patho :a :c q)` on a graph
with cycle `a↔b` plus `b→c` returns `((:a :b :c))`. Naive tabling
diverged on the same query. Mutually-recursive coordination across
independent tabled relations is left for follow-up (proper SLG
worklist).
170/170 across the new+FD-related test files.
- **2026-05-08** — **Session snapshot**: 17 lib files, 61 test files, 1229
library LOC + 4360 test LOC, **551/551 tests cumulative**. Library covers
Phases 15 fully, Phase 6 partial (FD helpers + intarith escape), Phase 7