feat(syntax): axiom 6 — fold a point onto a line, crease through a fixed point #17

Merged
toph merged 10 commits from feat/axiom6-clean into main 2026-06-30 11:04:11 +00:00
Owner

Adds Beloch axiom 6 (Justin operation ⑥): map .p onto --d through .p' — fold a point onto a line with the crease pinned through a fixed point. Optional toward .x picks between the two solutions.

Geometry is the circle (centre .p', radius |p'p|) intersected with --d; each landing yields a crease (the perpendicular bisector of .p and its image). Second-degree — square roots only, so Num is untouched.

Numbering: Beloch follows strict Justin numbering (verified against refs/justin1986.md §8.1), so axiom 6 is the quadratic ⑥, not the cubic. This corrects the earlier "axiom 6 = the cubic" shorthand — the cubic Beloch fold is Justin ⑦ and lands as a future axiom 7 (it needs a real-algebraic number kernel).

Errors: out of reach, ambiguous (needs toward), and .p = .p'. When .p already lies on --d the identity landing is dropped. 96 tests green.

Follows #16.


examples/through.bel — fold the sheet centre .ctr onto the bottom edge, crease through corner .b, toward .a (a slanted crease landing at the constructible point (1 − 1/√2, 0)):

crease pattern folded
crease pattern folded
Adds Beloch axiom 6 (Justin operation ⑥): `map .p onto --d through .p'` — fold a point onto a line with the crease pinned through a fixed point. Optional `toward .x` picks between the two solutions. Geometry is the circle (centre `.p'`, radius `|p'p|`) intersected with `--d`; each landing yields a crease (the perpendicular bisector of `.p` and its image). Second-degree — square roots only, so `Num` is untouched. Numbering: Beloch follows strict Justin numbering (verified against `refs/justin1986.md` §8.1), so axiom 6 is the quadratic ⑥, **not** the cubic. This corrects the earlier "axiom 6 = the cubic" shorthand — the cubic Beloch fold is Justin ⑦ and lands as a future axiom 7 (it needs a real-algebraic number kernel). Errors: out of reach, ambiguous (needs `toward`), and `.p = .p'`. When `.p` already lies on `--d` the identity landing is dropped. 96 tests green. Follows #16. --- `examples/through.bel` — fold the sheet centre `.ctr` onto the bottom edge, crease through corner `.b`, `toward .a` (a slanted crease landing at the constructible point `(1 − 1/√2, 0)`): | crease pattern | folded | |---|---| | ![crease pattern](https://git.toph.so/attachments/fe41188b-c3ea-4868-8205-cd33f950f88b) | ![folded](https://git.toph.so/attachments/d52f3cd8-0aa7-4765-89d5-78f58ddd5974) |
toph merged commit c36984151a into main 2026-06-30 11:04:11 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
toph/beloch!17
No description provided.