carlok — zsh — 88×30

cat _posts/2026-09-28-leanfrontier-the-same-fact-twice-and-a-lemma-of-its-own-field-notes-17-and-18.md

LeanFrontier: the same fact twice, and a lemma of its own (Field Notes 17 and 18)

Two Field Notes landed in two days. Field Note 17 — “The Same Fact, Twice” — has the Srinivasan collision identity coming back after the previous note recorded it lost, and then two submissions opened forty-six seconds apart from the same fork, both proving that −1 is a square modulo every Markov number: the first in the integers modulo m via Mathlib’s primitive sums of two squares, the second as the existence of r with r² ≡ −1 (mod m) via a Bézout lemma the same contributor had landed that evening. The receiver accepted both, correctly by its own rules — it compares each statement with Mathlib and the corpus exactly, and two notations for one fact are two statements to it — so the corpus now holds a result twice, and the only reason anyone knows is that a person read both. The same note extends the deepest chain in the corpus to nine modules.

Field Note 18 — “One Lemma of Its Own” — builds the prime-power step on that collision identity: if pᵏ divides a shared Markov coordinate, p²ᵏ divides one factor entirely, which is the arithmetic core of the elementary proofs that a Markov number which is a prime power determines its triple. Of the six Markov submissions merged since Friday, five say in their own claims that the mathematics is not new, and they are right; the sixth is the gcd identity posted yesterday, the piece nothing depends on. Three classical-geometry submissions then landed in one afternoon, all from the fork of qazW12345: the Weitzenböck inequality, Euler’s quadrilateral theorem and Varignon’s theorem, the last stated as equality of both pairs of opposite side vectors of the midpoint parallelogram.

On the maintainer’s side, the catalogue’s import graph is now drawn with Graphviz, one dot drawing per connected group of modules, because a flat graph was unreadable at 92 modules (#406) — and the merge queue got the fix for a failure that could never be seen: gh pr checks exits 1 when any check has failed, so under set -o pipefail the queue’s own pipeline died before its grep could report the failing check, which is why one pull request waited out its full hour and then looped on an expired token (#410).