@ceccec/millennium-solutions 9.3.3 → 9.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/dist/mod.core.d.ts +9 -0
- package/dist/mod.core.js +9 -0
- package/dist/src/0/index.d.ts +47 -0
- package/dist/src/0/index.js +189 -0
- package/dist/src/0/ledger.d.ts +1 -0
- package/dist/src/0/ledger.js +25 -0
- package/dist/src/0/trinity-matrix.d.ts +1 -0
- package/dist/src/0/trinity-matrix.js +16 -0
- package/dist/src/5/aspects.d.ts +1 -0
- package/dist/src/5/aspects.js +22 -0
- package/dist/src/5/reflection.d.ts +1 -0
- package/dist/src/5/reflection.js +25 -0
- package/dist/src/7/rosetta.d.ts +1 -0
- package/dist/src/7/rosetta.js +24 -0
- package/dist/src/9/enumeration.d.ts +1 -0
- package/dist/src/9/enumeration.js +14 -0
- package/dist/src/honesty/index.d.ts +16 -0
- package/dist/src/honesty/index.js +69 -0
- package/package.json +27 -10
- package/.zenodo.json +0 -51
- package/ABSTRACT.md +0 -155
- package/ACCOUNTING.md +0 -27
- package/AXIOMS.md +0 -574
- package/CHALLENGES.md +0 -2595
- package/DEPLOY.md +0 -39
- package/DEVELOP.md +0 -34
- package/HEART.md +0 -112
- package/PHYSICS-SCALES.md +0 -80
- package/PRIOR-ART.md +0 -151
- package/PROOF-OF-CONCEPT.md +0 -81
- package/REALISATIONS.md +0 -87
- package/RESEARCH.md +0 -188
- package/RULES.md +0 -57
- package/SEQUENCE-DECODE.md +0 -196
- package/SIGNATURE.md +0 -34
- package/THEOREMS.md +0 -97
- package/WHITEPAPER.md +0 -40
- package/WORKFLOWS.md +0 -47
- package/boundaries.md +0 -23
- package/captain.md +0 -85
- package/compare.md +0 -42
- package/compute.md +0 -543
- package/cryptography.md +0 -55
- package/dashboard.md +0 -50
- package/examples.md +0 -47
- package/folds.md +0 -65
- package/forensic.md +0 -67
- package/guide.md +0 -126
- package/harness.md +0 -20
- package/index.md +0 -217
- package/mod.core.ts +0 -10
- package/nature.md +0 -58
- package/organism.md +0 -30
- package/paper.md +0 -8789
- package/proofs.md +0 -26
- package/quantum.md +0 -40
- package/rights.md +0 -39
- package/solutions.md +0 -28
- package/speedup.md +0 -41
- package/src/0/chacha.ts +0 -3
- package/src/0/crypt.ts +0 -4
- package/src/0/csp.ts +0 -10
- package/src/0/entanglement.ts +0 -31
- package/src/0/fusion.ts +0 -28
- package/src/0/holographic.ts +0 -57
- package/src/0/impossible.ts +0 -30
- package/src/0/imprint.ts +0 -160
- package/src/0/index.ts +0 -263
- package/src/0/ledger.ts +0 -25
- package/src/0/legible.ts +0 -29
- package/src/0/limit.ts +0 -29
- package/src/0/merkle-proof.ts +0 -3
- package/src/0/null-token.ts +0 -24
- package/src/0/sha256.ts +0 -3
- package/src/0/singularity.ts +0 -20
- package/src/0/stream.ts +0 -47
- package/src/0/trinities.ts +0 -37
- package/src/0/trinity-matrix.ts +0 -20
- package/src/0/version-matrix.ts +0 -70
- package/src/1/acceptance.ts +0 -26
- package/src/1/index.ts +0 -80
- package/src/1/paradox.ts +0 -28
- package/src/1/vortex.lean +0 -6
- package/src/2/frequency-scales.ts +0 -28
- package/src/2/iching.ts +0 -34
- package/src/2/index.ts +0 -78
- package/src/2/primes-vortex.ts +0 -12
- package/src/2/quantum.ts +0 -48
- package/src/2/string-scale.ts +0 -14
- package/src/2/vortex.lean +0 -10
- package/src/3/index.ts +0 -63
- package/src/3/pi-bbp.ts +0 -13
- package/src/3/trinity.ts +0 -39
- package/src/3/vortex.lean +0 -7
- package/src/4/git.ts +0 -30
- package/src/4/index.ts +0 -63
- package/src/4/vortex.lean +0 -6
- package/src/5/aspects.ts +0 -27
- package/src/5/center.ts +0 -35
- package/src/5/development.ts +0 -45
- package/src/5/diamond.ts +0 -35
- package/src/5/folds.ts +0 -12
- package/src/5/index.ts +0 -63
- package/src/5/reflection.lean +0 -14
- package/src/5/reflection.ts +0 -14
- package/src/5/vortex.lean +0 -10
- package/src/6/dna.ts +0 -27
- package/src/6/index.ts +0 -63
- package/src/6/vortex.lean +0 -7
- package/src/7/cross.ts +0 -31
- package/src/7/glagolitic.ts +0 -51
- package/src/7/index.ts +0 -67
- package/src/7/language-lens.ts +0 -41
- package/src/7/lens.ts +0 -41
- package/src/7/locale.ts +0 -105
- package/src/7/rbac.ts +0 -31
- package/src/7/rosetta-clay.ts +0 -15
- package/src/7/rosetta.lean +0 -11
- package/src/7/rosetta.ts +0 -11
- package/src/7/string-dimensions.ts +0 -14
- package/src/7/vortex.lean +0 -6
- package/src/8/infinite.ts +0 -26
- package/src/8/merkaba/field.ts +0 -27
- package/src/8/merkaba/geometry.ts +0 -16
- package/src/8/merkaba/touch.ts +0 -26
- package/src/8/nucleus/magic.lean +0 -15
- package/src/8/nucleus/proton-mass-fit.ts +0 -9
- package/src/8/nucleus/proton-mass.lean +0 -10
- package/src/8/nucleus/shell-model-magic.ts +0 -10
- package/src/8/vortex.lean +0 -7
- package/src/9/access.ts +0 -34
- package/src/9/aura-funding.ts +0 -25
- package/src/9/coins.ts +0 -25
- package/src/9/enumeration.ts +0 -13
- package/src/9/funding.ts +0 -85
- package/src/9/security.ts +0 -36
- package/src/9/society.ts +0 -32
- package/src/9/vortex.lean +0 -11
- package/src/api/gates.ts +0 -122
- package/src/api/index.ts +0 -447
- package/src/api/lanes.ts +0 -81
- package/src/claims/index.ts +0 -81
- package/src/demand/queries.json +0 -1764
- package/src/face/index.ts +0 -100
- package/src/from/the/heart/index.ts +0 -11
- package/src/honesty/boundaries.ts +0 -29
- package/src/honesty/index.ts +0 -63
- package/src/html/index.ts +0 -10
- package/src/latex/index.ts +0 -474
- package/src/millennium/index.ts +0 -53
- package/src/play/the/game/index.ts +0 -12
- package/src/proof/README.md +0 -118
- package/src/proof/address.lean +0 -168
- package/src/proof/coin.lean +0 -152
- package/src/proof/covered.json +0 -9
- package/src/proof/demand.lean +0 -160
- package/src/proof/demand2.lean +0 -219
- package/src/proof/demand3.lean +0 -209
- package/src/proof/discovered.json +0 -19530
- package/src/proof/elementary.lean +0 -495
- package/src/proof/energy.lean +0 -329
- package/src/proof/families.lean +0 -740
- package/src/proof/fixtures/axiom-control.lean +0 -39
- package/src/proof/flow.lean +0 -78
- package/src/proof/fnv.lean +0 -127
- package/src/proof/generated-theorems.json +0 -207
- package/src/proof/generated.lean +0 -101
- package/src/proof/imagined.lean +0 -492
- package/src/proof/index.lean +0 -156
- package/src/proof/index.ts +0 -916
- package/src/proof/involution.lean +0 -90
- package/src/proof/ledgerclaims.lean +0 -84
- package/src/proof/light.lean +0 -168
- package/src/proof/mechanical.lean +0 -563
- package/src/proof/merkaba.lean +0 -89
- package/src/proof/merkle.lean +0 -132
- package/src/proof/nim.lean +0 -332
- package/src/proof/novelty.json +0 -751
- package/src/proof/phenomena.lean +0 -90
- package/src/proof/priorart.lean +0 -190
- package/src/proof/quantum.lean +0 -159
- package/src/proof/reach.lean +0 -121
- package/src/proof/recovered.lean +0 -56
- package/src/proof/reversal.lean +0 -402
- package/src/proof/revoked.json +0 -317
- package/src/proof/rights.lean +0 -155
- package/src/proof/sequences.lean +0 -284
- package/src/proof/speed.lean +0 -158
- package/src/proof/split.lean +0 -209
- package/src/proof/theorems.lean +0 -67
- package/src/proof/trial-all.json +0 -16532
- package/src/proof/z9.lean +0 -126
- package/src/proof/z9plus.lean +0 -345
- package/src/proofs.lisp +0 -170
- package/src/prove/emit.ts +0 -115
- package/src/prove/index.ts +0 -143
- package/src/prove/translate.ts +0 -638
- package/src/publication/index.ts +0 -362
- package/src/quantum/field.ts +0 -73
- package/src/quantum/tree.ts +0 -79
- package/src/receipts/1431b4c4-7950-8d7b-88d1-b633219692f8.json +0 -7
- package/src/receipts/171e09c0-4cfd-8ce0-a6ed-cd33d5553da3.json +0 -7
- package/src/receipts/1a1f16c9-3491-8050-b221-e2a362439be4.json +0 -12
- package/src/receipts/1da15f83-83a6-8d04-b1ac-334c2dd6abb3.json +0 -7
- package/src/receipts/375a57ed-ef99-855e-8f34-b77d08010f3c.json +0 -6
- package/src/receipts/3dcbbf9e-0e49-8ba7-921e-17e478dbafaf.json +0 -6
- package/src/receipts/43a24136-5ad9-81ef-97c9-17be1c05bb5f.json +0 -11
- package/src/receipts/4991be51-74ba-8f66-9534-e6dba52fb569.json +0 -10
- package/src/receipts/52375d8f-232b-8c01-9d82-a824ffa7b2b7.json +0 -6
- package/src/receipts/593b546a-36b4-8553-941a-0e03b7053a64.json +0 -7
- package/src/receipts/7f75c989-96c9-8a24-8d0d-7e690861ccb4.json +0 -6
- package/src/receipts/80f80b59-81d8-866d-9a14-f469729d3dc8.json +0 -6
- package/src/receipts/85ac8585-9dc1-8964-9848-ae0f49cc82fb.json +0 -7
- package/src/receipts/85db092e-f2c0-88e5-bf75-61c4a65d84e7.json +0 -7
- package/src/receipts/95bacad3-9e56-8741-b0f8-def2c6ecb050.json +0 -7
- package/src/receipts/a1d33966-7bbd-84ca-902b-49e315af60e0.json +0 -6
- package/src/receipts/b20ced61-24ad-8123-adee-56031ab734dd.json +0 -11
- package/src/receipts/ba0447cd-f489-841a-a70f-a39b18ec2946.json +0 -11
- package/src/receipts/bcddbe66-06cf-8f31-a261-98b836938947.json +0 -7
- package/src/receipts/c1bac0d8-d906-8196-a4f0-3d8270b2e944.json +0 -6
- package/src/receipts/ce851ea3-3cf8-8646-a5d6-c0c6281210fe.json +0 -10
- package/src/receipts/cf43a122-c880-8d86-9e25-6f22f92d6b0a.json +0 -7
- package/src/receipts/daad8cd4-d4db-8dca-9c97-9a838cbce528.json +0 -7
- package/src/receipts/dc8bdb82-599f-8020-9eb2-cb016b408ec1.json +0 -6
- package/src/receipts/df77c265-d1a8-8354-8a9e-769fa5c676e2.json +0 -6
- package/src/receipts/e96686da-a411-8838-a5c8-ee7472bce048.json +0 -10
- package/src/receipts/f073c46f-7b67-83d0-aca5-db11fac4b5ec.json +0 -7
- package/src/receipts/f946d99d-a1c2-89f7-9426-a367c5b04191.json +0 -6
- package/src/receipts/fc069e45-115d-8983-ad25-fb9f735da84b.json +0 -6
- package/src/the/abstract/index.ts +0 -21
- package/src/the/abundance/index.ts +0 -20
- package/src/the/apple/earth/index.ts +0 -23
- package/src/the/apple/earth/navigation/index.ts +0 -28
- package/src/the/apple/earth/truth/index.ts +0 -19
- package/src/the/apple/index.ts +0 -27
- package/src/the/cancer/index.ts +0 -26
- package/src/the/clown/index.ts +0 -25
- package/src/the/creation/index.ts +0 -16
- package/src/the/crystal/index.ts +0 -23
- package/src/the/domain/index.ts +0 -16
- package/src/the/game/index.ts +0 -11
- package/src/the/gold/compass/index.ts +0 -26
- package/src/the/gold/index.ts +0 -35
- package/src/the/heart/index.ts +0 -15
- package/src/the/index.ts +0 -23
- package/src/the/law/index.ts +0 -20
- package/src/the/path/index.ts +0 -19
- package/src/the/rosetta/index.ts +0 -33
- package/src/the/sequence/index.ts +0 -12
- package/src/the/solids/index.ts +0 -25
- package/src/the/state/index.ts +0 -20
- package/src/the/superposition/state/index.ts +0 -22
- package/src/the/surface/index.ts +0 -26
- package/src/the/theorem/index.ts +0 -14
- package/src/the/torus/index.ts +0 -23
- package/src/the/waves/index.ts +0 -23
- package/the.md +0 -20
- package/verify.md +0 -67
package/src/proof/phenomena.lean
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
set_option maxRecDepth 8000000
|
|
2
|
-
-- title: Every phenomenon this deposit touches, and the rule for the rest
|
|
3
|
-
-- wing: the floor
|
|
4
|
-
-- prior_art: named
|
|
5
|
-
-- prior_art_domain: metrology and classical physical chemistry
|
|
6
|
-
-- prior_art_note: the SI base quantities and their defining constants are definitions of the Conférence
|
|
7
|
-
-- Générale des Poids et Mesures (2019 revision, effective 20 May 2019); the electrochemical results are
|
|
8
|
-
-- Michael Faraday's laws of electrolysis, 1834, and the standard enthalpy of combustion of hydrogen.
|
|
9
|
-
-- Every physical result named here has an earlier author or a standards body, and none is this deposit's.
|
|
10
|
-
--
|
|
11
|
-
-- ADDRESSING PHENOMENA WITHOUT CLAIMING ANY.
|
|
12
|
-
--
|
|
13
|
-
-- Asked to address all phenomena, there are two ways to answer and only one of them is honest. The first is
|
|
14
|
-
-- to write theorems whose names mention gravity, entanglement or spacetime and whose content is arithmetic —
|
|
15
|
-
-- which is how a deposit acquires the appearance of physics without the substance, and is the exact failure
|
|
16
|
-
-- every gate in this tree exists to catch. The second is to say, for each phenomenon, precisely what this
|
|
17
|
-
-- deposit does and does not say about it, and to make the boundary decidable.
|
|
18
|
-
--
|
|
19
|
-
-- This file does the second. A phenomenon enters under one of two statuses and no other:
|
|
20
|
-
--
|
|
21
|
-
-- 0 — DEFINITIONAL. A standards body fixed an exact number for it, so arithmetic on that number is
|
|
22
|
-
-- decidable here. This is not a measurement and does not constrain the phenomenon: the measuring
|
|
23
|
-
-- moved to the other side of the definition in 1983 and 2019. See light.lean.
|
|
24
|
-
--
|
|
25
|
-
-- 1 — NAMED PRIOR ART. A classical result with an earlier author, restated and credited. See energy.lean.
|
|
26
|
-
--
|
|
27
|
-
-- Everything else is UNADDRESSED, and the complement is not enumerated below. It is unbounded, and a list of
|
|
28
|
-
-- what a piece of work does not cover, written by its author, is not evidence of anything. The rule is
|
|
29
|
-
-- stated instead and it is exact: a phenomenon is addressed here only if it has an exact defining constant
|
|
30
|
-
-- or a credited classical result in this tree. Gravitation, relativity, entanglement, decoherence, nuclear
|
|
31
|
-
-- structure and cosmology have neither, so nothing in this deposit bears on any of them — not because they
|
|
32
|
-
-- were considered and excluded, but because no proposition here is about them.
|
|
33
|
-
|
|
34
|
-
namespace Phenomena
|
|
35
|
-
|
|
36
|
-
-- (id, status) — status 0 definitional, 1 named prior art. There is no status 2: a phenomenon this deposit
|
|
37
|
-
-- does not address does not get a row, because a row would suggest it had been treated.
|
|
38
|
-
abbrev Entry := Nat × Nat
|
|
39
|
-
|
|
40
|
-
def entries : List Entry :=
|
|
41
|
-
[ (1, 0) -- duration — the caesium-133 hyperfine transition frequency, exact
|
|
42
|
-
, (2, 0) -- length — the speed of light in vacuum, exact; the metre defined from it
|
|
43
|
-
, (3, 0) -- mass — the Planck constant, exact
|
|
44
|
-
, (4, 0) -- electric current — the elementary charge, exact
|
|
45
|
-
, (5, 0) -- thermodynamic temperature — the Boltzmann constant, exact
|
|
46
|
-
, (6, 0) -- amount of substance — the Avogadro constant, exact
|
|
47
|
-
, (7, 0) -- luminous intensity — the luminous efficacy K_cd, exact
|
|
48
|
-
, (8, 1) -- electrolysis — Faraday's laws, 1834
|
|
49
|
-
, (9, 1) -- combustion of hydrogen — standard enthalpy, physical chemistry
|
|
50
|
-
]
|
|
51
|
-
|
|
52
|
-
def statusOf (e : Entry) : Nat := e.2
|
|
53
|
-
|
|
54
|
-
-- ── THE TABLE IS CLOSED: every entry is definitional or credited, and nothing else ──────────────────────
|
|
55
|
-
theorem every_phenomenon_is_definitional_or_credited :
|
|
56
|
-
entries.all (fun e => statusOf e == 0 || statusOf e == 1) := by decide
|
|
57
|
-
|
|
58
|
-
theorem seven_definitional_and_two_credited :
|
|
59
|
-
(entries.filter (fun e => statusOf e == 0)).length = 7
|
|
60
|
-
∧ (entries.filter (fun e => statusOf e == 1)).length = 2
|
|
61
|
-
∧ entries.length = 9 := by decide
|
|
62
|
-
|
|
63
|
-
-- The seven definitional entries are the seven SI base quantities — the whole of what the SI fixes, so this
|
|
64
|
-
-- half of the table is complete rather than selected.
|
|
65
|
-
theorem the_definitional_half_is_the_whole_si :
|
|
66
|
-
(entries.filter (fun e => statusOf e == 0)).length = 7 := by decide
|
|
67
|
-
|
|
68
|
-
-- ── WHAT THIS FILE CANNOT DECIDE, AND WHY THE ATTEMPT WAS REMOVED ───────────────────────────────────────
|
|
69
|
-
-- This carried three constants — explanations, predictions, theoriesConstrained, each `:= 0` — and a theorem
|
|
70
|
-
-- deciding that each equals zero. That is a number compared to itself: it certifies nothing about what the
|
|
71
|
-
-- deposit claims and cannot go red however much it claims. It is the exact shape removed from index.lean
|
|
72
|
-
-- earlier the same day (`provenHere = 0 := rfl`), written back into this file hours later by the same hand,
|
|
73
|
-
-- and then QUOTED as evidence that the deposit proves zero physical claims.
|
|
74
|
-
--
|
|
75
|
-
-- It was quoted wrongly twice over. The tautology was the first error. The second is that the claim was
|
|
76
|
-
-- false on its own terms: captain.md offers the double torus as EARTH NAVIGATION and states sailing angles,
|
|
77
|
-
-- which are assertions about the world, and no theorem here bears on them. A file about ℤ/9 cannot decide
|
|
78
|
-
-- what a page elsewhere in the repository asserts.
|
|
79
|
-
--
|
|
80
|
-
-- So the refusal is not restated here as arithmetic. Where it belongs is a check that reads the corpus and
|
|
81
|
-
-- can fail — scripts/contradictions.ts sweeps every markdown and source file in the deposit's own voice —
|
|
82
|
-
-- and where THAT is silent, as it is on navigation, the honest record is that nothing checks it yet rather
|
|
83
|
-
-- than a theorem implying something does.
|
|
84
|
-
|
|
85
|
-
theorem the_table_is_closed_and_that_is_all_this_file_decides :
|
|
86
|
-
entries.all (fun e => statusOf e == 0 || statusOf e == 1)
|
|
87
|
-
∧ entries.length = 9
|
|
88
|
-
∧ (entries.filter (fun e => statusOf e == 0)).length = 7 := by decide
|
|
89
|
-
|
|
90
|
-
end Phenomena
|
package/src/proof/priorart.lean
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
-- title: Prior art, and what novelty is claimed
|
|
2
|
-
-- wing: the record
|
|
3
|
-
-- prior_art: unclassified
|
|
4
|
-
-- prior_art_search: literature search PERFORMED 2026-09-05, terms "provenance metadata schema prior art
|
|
5
|
-
-- classification per-file attribution taxonomy research software credit". Prior art found and named below.
|
|
6
|
-
-- This row stays kind 1 — see why, because the taxonomy does not fit and forcing it would be the lie.
|
|
7
|
-
-- prior_art_note: THE PRACTICE IS PRIOR ART AND IS CREDITED. Recording provenance and attribution per
|
|
8
|
-
-- artefact is long established and formalised: W3C PROV-O, the DataCite metadata schema, Dublin Core
|
|
9
|
-
-- Metadata Terms, PREMIS for archived digital objects, the Open Provenance Model, and the software
|
|
10
|
-
-- citation principles' credit-and-attribution requirement. Nothing about keeping an attribution table is
|
|
11
|
-
-- new, and this deposit does not suggest otherwise.
|
|
12
|
-
--
|
|
13
|
-
-- THE PROPOSITIONS ARE NOT RESTATEMENTS OF IT. `every_source_is_classified`, `novelty_is_claimed_of_no_
|
|
14
|
-
-- source` and `zero_claims_is_not_full_attribution` decide facts about THIS table — its rows, its kinds,
|
|
15
|
-
-- its counts. PROV-O does not entail them and could not; no external work precedes a statement about the
|
|
16
|
-
-- contents of this file.
|
|
17
|
-
--
|
|
18
|
-
-- SO THE TAXONOMY HAS A GAP, AND IT IS NAMED RATHER THAN PAPERED OVER. Kind 0 would say these theorems
|
|
19
|
-
-- restate named work, which is false. Kind 2 requires a search that found NOTHING, and this one found a
|
|
20
|
-
-- great deal. Kind 1 as originally written means "no search performed", which is no longer true either.
|
|
21
|
-
-- The row remains kind 1 because kind 1 claims nothing, and claiming nothing is still correct — but it is
|
|
22
|
-
-- now unclassified having been SEARCHED, which is a different state from unclassified for want of looking,
|
|
23
|
-
-- and the deposit should not let those two look alike in a count.
|
|
24
|
-
-- prior_art_pool: unbounded
|
|
25
|
-
-- the subject is this deposit's own attribution table.
|
|
26
|
-
-- BOUNDED means a search is well posed and simply has not been run — the row is unclassified because
|
|
27
|
-
-- nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the
|
|
28
|
-
-- row will stay unclassified however much work is done. They look identical in a count and need
|
|
29
|
-
-- opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn.
|
|
30
|
-
-- prior_art_own: this file, about this deposit's own claim
|
|
31
|
-
-- What this deposit claims as its own, what it restates from named prior art, and the boundary between them.
|
|
32
|
-
-- Author: Tsvetan Rouschev · License: CC BY-NC-ND 4.0
|
|
33
|
-
--
|
|
34
|
-
-- "Claim all without prior art" has an exact reading and a dishonest one. The dishonest one asserts NOVELTY:
|
|
35
|
-
-- that no earlier work states these results. Nothing in this repository can decide that. A kernel decides
|
|
36
|
-
-- propositions over finite domains; it cannot search the literature, and no amount of computation here turns
|
|
37
|
-
-- "the author found none" into "none exists". That claim is refused below, as a theorem, so the refusal is
|
|
38
|
-
-- checked on every run rather than remembered.
|
|
39
|
-
--
|
|
40
|
-
-- The exact reading claims PRIORITY, which is a different thing and is evidenced rather than asserted: a
|
|
41
|
-
-- dated, content-addressed publication. The DOI fixes the date; the append-only receipt chain fixes which
|
|
42
|
-
-- statement was published; anyone can recompute either. Priority says "this was published, in this form, by
|
|
43
|
-
-- this date". It does not say "nobody said it earlier", and this file does not either.
|
|
44
|
-
--
|
|
45
|
-
-- So each source file DECLARES its own status in its frontmatter, and the two sets are decided here:
|
|
46
|
-
--
|
|
47
|
-
-- named — the file restates a result, algorithm or physical constant that has an author already.
|
|
48
|
-
-- FNV-1a is Fowler, Noll and Vo, 1991. The Merkle fold is Merkle, 1979. Nim is Bouton 1901
|
|
49
|
-
-- with Sprague and Grundy after him. Cassini, Lucas and Brahmagupta–Fibonacci are named in
|
|
50
|
-
-- the file that proves them. The arithmetic of ℤ/9 is Euler's and Fermat's. Electrolysis and
|
|
51
|
-
-- combustion are physical chemistry. NO NOVELTY IS CLAIMED OVER ANY OF IT. What is done here
|
|
52
|
-
-- is to decide each over a stated finite domain, which is a contribution of verification and
|
|
53
|
-
-- not of discovery.
|
|
54
|
-
--
|
|
55
|
-
-- unclassified — no prior-art search has been performed for this source. THIS IS THE DEFAULT, and it claims
|
|
56
|
-
-- nothing. The first version of this file marked eleven sources "none-known" — 300 theorems —
|
|
57
|
-
-- on the strength of their own self-description, without anyone having looked. Asserting that
|
|
58
|
-
-- nothing earlier exists because no one went to check is the same defect as asserting a proof
|
|
59
|
-
-- because no one went to read it.
|
|
60
|
-
--
|
|
61
|
-
-- none-known — a prior-art search WAS performed, and the source names it: what was searched, where, and
|
|
62
|
-
-- when. Only this kind may claim novelty, and today no source is of this kind, so the number
|
|
63
|
-
-- of novelty claims this deposit makes is zero.
|
|
64
|
-
--
|
|
65
|
-
-- The declaration lives in the source files and is compared against this table by scripts/priorart.ts, so the
|
|
66
|
-
-- two cannot drift: a file that changes its declaration and not this table fails the build.
|
|
67
|
-
|
|
68
|
-
namespace PriorArt
|
|
69
|
-
|
|
70
|
-
-- (id, kind, claimsNovelty)
|
|
71
|
-
-- kind 0 — restates named prior art; the earlier author is credited and no novelty is claimed
|
|
72
|
-
-- kind 1 — unclassified: no search performed, so nothing is claimed
|
|
73
|
-
-- kind 2 — a named search was performed and found nothing; only this kind may claim
|
|
74
|
-
abbrev Source := Nat × Nat × Bool
|
|
75
|
-
def idOf (s : Source) : Nat := s.1
|
|
76
|
-
def kindOf (s : Source) : Nat := s.2.1
|
|
77
|
-
def novelty (s : Source) : Bool := s.2.2
|
|
78
|
-
|
|
79
|
-
-- One row per .lean file, in the order scripts/priorart.ts reads them.
|
|
80
|
-
def sources : List Source :=
|
|
81
|
-
[ (1, 0, false) -- address.lean — composes FNV-1a (Fowler, Noll, Vo, 1991) with the Merkle hash tree (Merkle, 1979)
|
|
82
|
-
, (2, 0, false) -- coin.lean — the reflection d ↦ 10 − d is the TEN'S COMPLEMENT, and its sibling 9 − d the nines' complement — the method of complements, used to turn subtraction into addition in Pascal's calculator (1642), the Comptometer and the Curta, and in modern computer arithmetic. That it is an involution with a single fixed point is the property those machines rely on. Searched 2026-09-04, term "method of complements / nines' complement / ten's complement"; prior art found and credited
|
|
83
|
-
, (3, 0, false) -- demand.lean — the named results the search data asks for — Bézout’s identity (Étienne Bézout, 1779; Bachet, 1624), the Chinese remainder theorem (Sunzi, c. 3rd–5th century), and others named in their theorems
|
|
84
|
-
, (4, 0, false) -- demand2.lean — Wilson’s theorem — John Wilson; first proved by Joseph-Louis Lagrange, 1771; the Catalan conjecture on consecutive perfect powers — Eugène Catalan, 1844; proved by Preda Mihăilescu, 2002
|
|
85
|
-
, (5, 0, false) -- demand3.lean — Legendre’s three-square theorem — Adrien-Marie Legendre, 1797; Carmichael numbers — Robert Carmichael, 1910; amicable pairs — known to antiquity
|
|
86
|
-
, (6, 0, false) -- elementary.lean — Euclid (Elements IX.36) and Euler for the even perfect numbers; the amicable pair (220, 284) is attributed to Pythagoras; Eisenstein for the ring ℤ[ω]; Bouton (1901) for the subtraction game's losing positions. None of these results is this deposit's. What is this deposit's is the DECISION of each over a stated finite range, axiom-free, and the honest record of where the range stops short of what the older claim asserted.
|
|
87
|
-
, (7, 0, false) -- energy.lean — the laws of electrolysis — Michael Faraday, 1834; the enthalpy of combustion of hydrogen, standard physical chemistry
|
|
88
|
-
, (8, 0, false) -- families.lean — quantifies the ℤ/9 arithmetic above; the underlying results are Fermat’s, Euler’s and Gauss’s
|
|
89
|
-
, (9, 0, false) -- flow.lean — the order of 2 modulo 9 is six (Euler, φ(9) = 6): 2⁶ = 64 ≡ 1 (mod 9), textbook; credited
|
|
90
|
-
, (10, 0, false) -- fnv.lean — FNV-1a — Glenn Fowler, Landon Curt Noll and Phong Vo, 1991
|
|
91
|
-
, (11, 0, false) -- generated.lean — the structure underneath is standard and is credited. The doubling orbit 1 → 2 → 4 → 8 → 7 → 5 → 1 modulo 9 is the cyclic group generated by 2 in U(9), of order 6 because that is the multiplicative order of 2 mod 9; the units are {1,2,4,5,7,8} and the non-units {0,3,6}. Textbook abstract algebra, and treated directly in the literature on doubling maps modulo odd integers. Bounded, so the credit stops where the earlier work does: what is NOT prior art is the generator that enumerates propositions over this ring and discards the ones true of every sibling; that machinery is this deposit's own. Verification by exhaustion in Lean is this deposit's contribution, and verification is not discovery.
|
|
92
|
-
, (12, 0, false) -- imagined.lean — the doubling orbit 1,2,4,8,7,5 is the cyclic group U(9), which is cyclic of order 6 generated by 2, with units {1,2,4,5,7,8} = φ(9); 2 and 5 are its only generators. Standard elementary number theory, in Gauss and in every abstract-algebra text. The closure statements quantify that structure. Searched 2026-09-04, term "multiplicative group of units mod 9 cyclic order 6 generated by 2"; prior art found and credited
|
|
93
|
-
, (13, 0, false) -- index.lean — the structure underneath is standard and is credited. The doubling orbit 1 → 2 → 4 → 8 → 7 → 5 → 1 modulo 9 is the cyclic group generated by 2 in U(9), of order 6 because that is the multiplicative order of 2 mod 9; the units are {1,2,4,5,7,8} and the non-units {0,3,6}. Textbook abstract algebra, and treated directly in the literature on doubling maps modulo odd integers. Bounded, so the credit stops where the earlier work does: what is NOT prior art is the use of that orbit as a floor for what this deposit does and does not settle, which is a statement about this repository and has no earlier author. Verification by exhaustion in Lean is this deposit's contribution, and verification is not discovery.
|
|
94
|
-
, (14, 0, false) -- involution.lean — that a permutation of order two decomposes a finite set into fixed points and transpositions, and that the number of fixed points therefore matches the parity of the set, is classical and long predates this deposit. It is the orbit-counting argument in any first course. What is this deposit's own here is the EXHAUSTIVE decision over ℤ/9 and the measured refusal below.
|
|
95
|
-
, (15, 0, false) -- ledgerclaims.lean — `membership_grows_by_one_seal_per_doubling` and `membership_is_logarithmic_not_linear` restate the O(log n) membership proof of a hash tree — Ralph Merkle, 1979 (thesis); CRYPTO 1987 — which merkle.lean in this same deposit already credits. Classified `unbounded` on the ground that the subject is this deposit's own ledger; the ledger is its own, the logarithm is not. Bounded: what is not prior art is what THIS ledger claims — the 967-receipt case, the saving arithmetic, and the 128-bit seal width as this deposit mints it.
|
|
96
|
-
, (16, 0, false) -- light.lean — the exact numerical values below are DEFINITIONS adopted by the Conférence Générale des Poids et Mesures, not results of this deposit: the metre from the speed of light (17th CGPM, 1983) and the seven defining constants fixed exactly in the 2019 revision of the SI, effective 20 May 2019 (BIPM, https://www.bipm.org/en/measurement-units/si-defining-constants). Nothing here measures anything.
|
|
97
|
-
, (17, 0, false) -- mechanical.lean — the Boolean rows are De Morgan's laws — Augustus De Morgan, 1847 — written in the arithmetic of {0,1}; the group rows are the additive group of Z/9. Both long prior. Searched 2026-09-04, terms "De Morgan's laws boolean algebra" and "additive group mod 9"; prior art found and credited
|
|
98
|
-
, (18, 0, false) -- merkaba.lean — the partition into {3,6,9} and two three-element classes closed under doubling is the subgroup and coset structure of Z/9 under the action of U(9); Lagrange. One theorem already credits Euler for the polyhedron formula. Searched 2026-09-04; prior art found and credited
|
|
99
|
-
, (19, 0, false) -- merkle.lean — the hash tree — Ralph Merkle, 1979 (thesis); CRYPTO 1987
|
|
100
|
-
, (20, 0, false) -- nim.lean — Nim — Charles L. Bouton, 1901; the Sprague–Grundy theorem — Roland Sprague, 1935 and Patrick M. Grundy, 1939
|
|
101
|
-
, (21, 0, false) -- phenomena.lean — the SI base quantities and their defining constants are definitions of the Conférence Générale des Poids et Mesures (2019 revision, effective 20 May 2019); the electrochemical results are Michael Faraday's laws of electrolysis, 1834, and the standard enthalpy of combustion of hydrogen. Every physical result named here has an earlier author or a standards body, and none is this deposit's.
|
|
102
|
-
, (22, 1, false) -- priorart.lean — this file, about this deposit's own claim
|
|
103
|
-
, (23, 0, false) -- quantum.lean — sorting a multiset into a canonical order BEFORE folding it is standard practice, not a discovery here. Sorted-leaf Merkle trees are the recommended construction for multiproofs and are shipped that way in OpenZeppelin's merkle-tree library; canonical ordering before hashing is long-established in cryptographic serialisation generally. The mathematical content is elementary: any function of a canonical form is invariant under permutation of its input, which is why `receipt_is_order_invariant` holds. What this file contributes is the Lean verification over a stated finite domain and the negative controls beside it — `naive_fold_is_not_order_invariant` shows the property is bought by the sort and not free, and `the_receipt_is_not_injective` and `the_invariance_is_canonicalisation_not_physics` state its limits. Verification and refusal, not discovery.
|
|
104
|
-
, (24, 0, false) -- reach.lean — that no finite set contains every natural number is Euclid's argument in form and is as old as mathematics; the deposit claims none of it. What is its own here is the decision over its OWN bounds, and the statement of where that decision stops.
|
|
105
|
-
, (25, 0, false) -- recovered.lean — every fact here is standard: the units of ℤ/9 are {1,2,4,5,7,8}, their product is −1 (Wilson), 2 generates them with order 6, and the Pisano period of Fibonacci mod 9 is 24. Textbook material, credited. What is NOT prior art is that these particular statements sat WITHDRAWN in this deposit's ledger, each recorded as "not backed by a Lean proof. Its evidence is a TypeScript test", while every one is decidable in a line.
|
|
106
|
-
, (26, 0, false) -- reversal.lean — digit reversal and digit sums; casting out nines, in use by the 12th century
|
|
107
|
-
, (27, 0, false) -- rights.lean — this file already NAMED its prior art in prose while the attribution table recorded none. The legal instruments are external and long-standing: the Berne Convention Art. 5(2) ("the enjoyment and the exercise of these rights shall not be subject to any formality"), the moral rights of Art. 6bis, and the sui generis database right of Directive 96/9/EC. `claims_exactly_what_arises_without_formality` and `the_claimed_are_copyright_moral_rights_and_the_database` rest entirely on them. Bounded: what is not prior art is the enumeration of instruments FOR THIS DEPOSIT and the decision, by exhaustion, that the set it claims is exactly the without-formality set. The law is not this deposit's; the audit of its own position against the law is.
|
|
108
|
-
, (28, 0, false) -- sequences.lean — Cassini’s identity — G. D. Cassini, 1680; Lucas sequences — Édouard Lucas, 1878; the Brahmagupta–Fibonacci identity — Brahmagupta, 628; Pascal’s triangle mod 2 — Blaise Pascal, 1654
|
|
109
|
-
, (29, 0, false) -- speed.lean — the structural claim is Merkle's and is credited here as merkle.lean already credits it: a hash tree over n leaves has an O(log n) membership proof, so the inclusion path at each power of two is exactly the exponent. Ralph Merkle, 1979 (thesis); CRYPTO 1987. `the_verify_path_is_the_exponent`, `membership_is_logarithmic_not_linear` and `the_gap_widens_with_every_doubling` RESTATE that property. This file was classified `unbounded` — "the subject is this deposit's own verification cost" — which was wrong: the cost is logarithmic BECAUSE of a known result, and the repository was already crediting that result three files away. Bounded: what is not prior art is the MEASURED constants on this machine (recompute 21,582,900 µs against a 38 µs walk) and the arithmetic over them. A measurement is not a discovery either, and the file says so.
|
|
110
|
-
, (30, 0, false) -- split.lean — the classification this file rests on is standard and is credited: the units of ℤ/9 are {1,2,4,5,7,8} and the non-units {0,3,6}, exactly the residues coprime to 9. That is textbook abstract algebra — Wikipedia's "multiplicative group of integers modulo n", and every algebra course. So `the_singles_are_exactly_the_non_units` and `the_pairs_are_exactly_the_units_in_order` RESTATE known mathematics and claim nothing. Stated precisely so the credit does not run past the earlier work: what is NOT claimed as prior art is the tokenisation itself — reading the digits as 0|12|3|45|6|78|9 by concatenating consecutive units into two-digit tokens, and the arithmetic that follows from it (every token a multiple of three, closure of the tokens under addition and multiplication). That arrangement is this deposit's presentation of a standard fact, and its verification is by exhaustion here. Crediting an earlier author for a presentation they did not make is the same defect as claiming their result, pointed the other way.
|
|
111
|
-
, (31, 0, false) -- theorems.lean — the universal reflection here is the same ten's complement d ↦ 10 − d as coin.lean, with its centre and its pairs summing to ten. Method of complements, long prior to this deposit. Searched 2026-09-04
|
|
112
|
-
, (32, 0, false) -- z9.lean — Fermat’s little theorem — Pierre de Fermat, 1640; Euler’s theorem — Leonhard Euler, 1763; primitive roots — Carl Friedrich Gauss, 1801
|
|
113
|
-
, (33, 0, false) -- z9plus.lean — digital roots (casting out nines) — in use by the 12th century; the Pisano period — after Leonardo Pisano; studied by Joseph-Louis Lagrange, 1774
|
|
114
|
-
]
|
|
115
|
-
|
|
116
|
-
-- ── THE CLAIM. Only a source that names a completed search may claim, and none does ─────────────────────
|
|
117
|
-
-- The rule and the state are separate theorems on purpose. The first says what would have to be true for a
|
|
118
|
-
-- claim to be legitimate; the second says how many claims exist today. Stating only the second would leave
|
|
119
|
-
-- the rule to prose, and stating only the first would leave the reader to assume the count.
|
|
120
|
-
theorem novelty_is_claimed_only_where_a_search_was_performed :
|
|
121
|
-
sources.all (fun s => novelty s == false || kindOf s == 2) := by decide
|
|
122
|
-
|
|
123
|
-
theorem this_deposit_claims_no_novelty_today :
|
|
124
|
-
(sources.filter novelty).length = 0 := by decide
|
|
125
|
-
|
|
126
|
-
-- ── WHICH sources, not how many ──────────────────────────────────────────────────────────────────────────
|
|
127
|
-
theorem the_restated_sources_are_named_and_claim_nothing :
|
|
128
|
-
(sources.filter (fun s => kindOf s == 0)).all (fun s => novelty s == false) := by decide
|
|
129
|
-
|
|
130
|
-
theorem an_unsearched_source_claims_nothing :
|
|
131
|
-
(sources.filter (fun s => kindOf s == 1)).all (fun s => novelty s == false) := by decide
|
|
132
|
-
|
|
133
|
-
theorem every_source_is_classified :
|
|
134
|
-
sources.all (fun s => kindOf s == 0 || kindOf s == 1 || kindOf s == 2) := by decide
|
|
135
|
-
|
|
136
|
-
theorem the_kinds_cover_every_source :
|
|
137
|
-
(sources.filter (fun s => kindOf s == 0)).length + (sources.filter (fun s => kindOf s == 1)).length
|
|
138
|
-
+ (sources.filter (fun s => kindOf s == 2)).length = sources.length := by decide
|
|
139
|
-
|
|
140
|
-
-- ── ZERO CLAIMS IS NOT FULL ATTRIBUTION ─────────────────────────────────────────────────────────────────
|
|
141
|
-
-- A count of zero novelty claims, stated on its own, reads as though the deposit concedes that everything in
|
|
142
|
-
-- it already has an author. It does not, and it must not be read that way: 21 of the 22 attributed works
|
|
143
|
-
-- predate the DOI system entirely — Fermat 1640, Euler 1763, Bouton 1901 — so "every theorem has registered
|
|
144
|
-
-- prior art" is not merely unproven here, it is impossible. And the larger part of the deposit has had NO
|
|
145
|
-
-- search at all, so its status is unknown rather than conceded.
|
|
146
|
-
--
|
|
147
|
-
-- The zero therefore has exactly one meaning: nobody has looked. It is a statement about work not done, not
|
|
148
|
-
-- about work found. These two propositions must always be read together, so the kernel decides them together.
|
|
149
|
-
--
|
|
150
|
-
-- ── IS CLAIMING NOTHING ITSELF AN UNDERCLAIM? ASKED, SEARCHED, AND ANSWERED NO. ─────────────────────────
|
|
151
|
-
-- Every source here is kind 0 and no source claims novelty, on the stated ground that verification is not
|
|
152
|
-
-- discovery. That policy deserved the same scrutiny as a boast, because an under-claim misrepresents the
|
|
153
|
-
-- record exactly as an over-claim does — it just fails in the direction nobody audits.
|
|
154
|
-
--
|
|
155
|
-
-- The argument against the policy is real: formal verification of KNOWN mathematics is a recognised
|
|
156
|
-
-- contribution in its own right — Flyspeck, the Four Colour Theorem in Coq, mathlib itself — so a deposit
|
|
157
|
-
-- that machine-checks known results and claims nothing might be giving away work it actually did. This
|
|
158
|
-
-- taxonomy has no slot for "restates known mathematics AND contributes a formalisation that did not exist".
|
|
159
|
-
--
|
|
160
|
-
-- So the question was put to the literature on 2026-09-05, terms "Lean 4 mathlib ZMod 9 units group
|
|
161
|
-
-- formalization decide finite modular arithmetic". Mathlib already carries ZMod n, IsUnit, cyclic group
|
|
162
|
-
-- structure and the general machinery these facts follow from, across some 232,000 theorems. The
|
|
163
|
-
-- FORMALISATION is therefore not new either, and the policy stands — not by assumption, which is how it
|
|
164
|
-
-- stood until today, but by a search that could have overturned it and did not.
|
|
165
|
-
--
|
|
166
|
-
-- What remains distinctive here is a METHOD and not a result: axiom-free, Mathlib-free, closing by decide
|
|
167
|
-
-- over stated finite domains. A method is not a discovery, and this file goes on claiming nothing.
|
|
168
|
-
theorem some_sources_are_unsearched :
|
|
169
|
-
(sources.filter (fun s => kindOf s == 1)).length > 0 := by decide
|
|
170
|
-
|
|
171
|
-
theorem zero_claims_is_not_full_attribution :
|
|
172
|
-
(sources.filter novelty).length = 0 ∧ (sources.filter (fun s => kindOf s == 1)).length > 0 := by decide
|
|
173
|
-
|
|
174
|
-
-- ── THE REFUSAL, stated as a theorem so it is checked and not merely written ─────────────────────────────
|
|
175
|
-
-- The Clay floor is measured over the tree, not certified by a constant — index.lean used to declare
|
|
176
|
-
-- `provenHere := 0` and prove it by `rfl`, and that was removed because a theorem deciding that a typed
|
|
177
|
-
-- literal equals itself certifies a declaration and not the world. THIS IS DIFFERENT, and the difference is
|
|
178
|
-
-- worth stating so the two are not confused: the number of results
|
|
179
|
-
-- here whose novelty has been ESTABLISHED — shown, by search, to have no earlier statement anywhere — is
|
|
180
|
-
-- zero. "No prior art known to the author" is a fact about the author. "No prior art exists" is a fact about
|
|
181
|
-
-- the world, and nothing in this repository can decide it. A reader who takes the claimed set as a claim of
|
|
182
|
-
-- originality has been misled, so the deposit says so here, in the layer that is checked.
|
|
183
|
-
-- `def noveltyEstablished : Nat := 0` stood here, decided against its own literal — a refusal certifying
|
|
184
|
-
-- itself, which is the worst place for this defect, because a refusal is the line a reader trusts without
|
|
185
|
-
-- checking it. Establishment is an act performed OUTSIDE this file (a search, with a result), so nothing
|
|
186
|
-
-- declared inside it can witness the count. What survives is the conjunct that reads a real list.
|
|
187
|
-
theorem novelty_is_claimed_of_no_source :
|
|
188
|
-
(sources.filter novelty).length = 0 := by decide
|
|
189
|
-
|
|
190
|
-
end PriorArt
|
package/src/proof/quantum.lean
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
-- title: Order-invariance
|
|
2
|
-
-- wing: the floor
|
|
3
|
-
-- prior_art: named
|
|
4
|
-
-- prior_art_domain: canonical forms and order-invariant commitments
|
|
5
|
-
-- prior_art_note: sorting a multiset into a canonical order BEFORE folding it is standard practice, not a
|
|
6
|
-
-- discovery here. Sorted-leaf Merkle trees are the recommended construction for multiproofs and are shipped
|
|
7
|
-
-- that way in OpenZeppelin's merkle-tree library; canonical ordering before hashing is long-established in
|
|
8
|
-
-- cryptographic serialisation generally. The mathematical content is elementary: any function of a canonical
|
|
9
|
-
-- form is invariant under permutation of its input, which is why `receipt_is_order_invariant` holds. What
|
|
10
|
-
-- this file contributes is the Lean verification over a stated finite domain and the negative controls
|
|
11
|
-
-- beside it — `naive_fold_is_not_order_invariant` shows the property is bought by the sort and not free,
|
|
12
|
-
-- and `the_receipt_is_not_injective` and `the_invariance_is_canonicalisation_not_physics` state its limits.
|
|
13
|
-
-- Verification and refusal, not discovery.
|
|
14
|
-
-- prior_art_search: literature search performed 2026-09-05, terms "sorted Merkle tree order-invariant set
|
|
15
|
-
-- commitment canonical ordering leaves"; prior art found and credited. This file was `unclassified` — no
|
|
16
|
-
-- search had ever been run for it — and it is one of the 8 files whose 86 theorems are staged for DOIs.
|
|
17
|
-
-- prior_art_pool: mixed
|
|
18
|
-
-- canonicalisation before folding is a searchable technique; the receipt it folds is ours.
|
|
19
|
-
-- BOUNDED means a search is well posed and simply has not been run — the row is unclassified because
|
|
20
|
-
-- nobody looked. UNBOUNDED means the subject is this artifact, so there is no pool to search and the
|
|
21
|
-
-- row will stay unclassified however much work is done. They look identical in a count and need
|
|
22
|
-
-- opposite responses, which is the distinction uuidna-49 asked for and nobody had drawn.
|
|
23
|
-
-- prior_art_own: order-invariance of this deposit's receipt
|
|
24
|
-
-- The quantum receipt — order invariance, proved rather than asserted.
|
|
25
|
-
-- Author: Tsvetan Rouschev · License: CC BY-NC-ND 4.0
|
|
26
|
-
--
|
|
27
|
-
-- "Quantum" here is a STRUCTURAL claim and nothing more: a set of perspectives held at once (superposition),
|
|
28
|
-
-- each collapsing to one observation, and a receipt that is the SAME for every observer regardless of the
|
|
29
|
-
-- order they observe in. No hardware, no speedup, no physics. The deposit asserted this order-invariance in
|
|
30
|
-
-- prose and in TypeScript; it is proved here, by decide, over every permutation — no anchors, no axioms,
|
|
31
|
-
-- no Mathlib.
|
|
32
|
-
--
|
|
33
|
-
-- It also proves the CONTRAST: an order-dependent fold is genuinely not invariant. Without that, the
|
|
34
|
-
-- invariance theorem could hold vacuously for a fold that ignores its input, which is the failure mode this
|
|
35
|
-
-- file exists to avoid. Integrity, not truth.
|
|
36
|
-
|
|
37
|
-
namespace Quantum
|
|
38
|
-
|
|
39
|
-
/-- Every way of inserting x into a list — the branch step of the permutation tree. -/
|
|
40
|
-
def insertEverywhere (x : Nat) : List Nat → List (List Nat)
|
|
41
|
-
| [] => [[x]]
|
|
42
|
-
| y :: ys => (x :: y :: ys) :: (insertEverywhere x ys).map (fun l => y :: l)
|
|
43
|
-
|
|
44
|
-
/-- All orderings of a list: every observer's order, enumerated. -/
|
|
45
|
-
def perms : List Nat → List (List Nat)
|
|
46
|
-
| [] => [[]]
|
|
47
|
-
| x :: xs => (perms xs).flatMap (insertEverywhere x)
|
|
48
|
-
|
|
49
|
-
/-- Insertion into a sorted list. -/
|
|
50
|
-
def ins (x : Nat) : List Nat → List Nat
|
|
51
|
-
| [] => [x]
|
|
52
|
-
| y :: ys => if x ≤ y then x :: y :: ys else y :: ins x ys
|
|
53
|
-
|
|
54
|
-
/-- The canonical order — what the fold imposes before combining. -/
|
|
55
|
-
def sort : List Nat → List Nat
|
|
56
|
-
| [] => []
|
|
57
|
-
| x :: xs => ins x (sort xs)
|
|
58
|
-
|
|
59
|
-
/-- The RECEIPT: canonicalise, then combine. Sorting first is exactly what makes it observer-independent. -/
|
|
60
|
-
def receipt (l : List Nat) : Nat := (sort l).foldl (fun a b => (a * 2 + b) % 9) 0
|
|
61
|
-
|
|
62
|
-
/-- The same combination WITHOUT canonicalising — order-dependent by construction, kept as the control. -/
|
|
63
|
-
def naive (l : List Nat) : Nat := l.foldl (fun a b => (a * 2 + b) % 9) 0
|
|
64
|
-
|
|
65
|
-
-- ── 1 · the enumeration is complete: four elements have 4! = 24 orderings ──
|
|
66
|
-
theorem perms_of_four_is_factorial : (perms [1, 2, 4, 8]).length = 24 := by decide
|
|
67
|
-
|
|
68
|
-
-- ── 2 · THE QUANTUM RECEIPT: every observer order yields the same receipt ──
|
|
69
|
-
theorem receipt_is_order_invariant :
|
|
70
|
-
(perms [1, 2, 4, 8]).all (fun p => receipt p == receipt [1, 2, 4, 8]) := by decide
|
|
71
|
-
|
|
72
|
-
-- ── 3 · the same, on the doubling orbit itself (six elements, 720 orderings). The default recursion depth
|
|
73
|
-
-- is raised because the enumeration is larger, not because anything is assumed: `decide` still walks
|
|
74
|
-
-- every one of the 720 orderings and the kernel still checks the result. ──
|
|
75
|
-
set_option maxRecDepth 8000 in
|
|
76
|
-
theorem receipt_order_invariant_on_the_orbit :
|
|
77
|
-
(perms [1, 2, 4, 8, 7, 5]).all (fun p => receipt p == receipt [1, 2, 4, 8, 7, 5]) := by decide
|
|
78
|
-
|
|
79
|
-
-- ── 4 · THE CONTRAST — the invariance is not vacuous: drop canonicalisation and it fails ──
|
|
80
|
-
theorem naive_fold_is_not_order_invariant :
|
|
81
|
-
¬ ((perms [1, 2, 4, 8]).all (fun p => naive p == naive [1, 2, 4, 8])) := by decide
|
|
82
|
-
|
|
83
|
-
-- ── 5 · superposition and collapse, stated exactly: many perspectives, one receipt, and the count of
|
|
84
|
-
-- distinct receipts across all orderings is one ──
|
|
85
|
-
theorem superposition_collapses_to_one :
|
|
86
|
-
((perms [1, 2, 4, 8]).map receipt).eraseDups.length = 1 := by decide
|
|
87
|
-
|
|
88
|
-
-- ── 6 · THE MECHANISM, named. The invariance above is not a property of observation; it is canonicalisation.
|
|
89
|
-
-- Every ordering sorts to the SAME list, and the receipt reads only that. Saying so removes the last
|
|
90
|
-
-- room for reading the file as a claim about physics: nothing here is quantum, it is a sort. ──
|
|
91
|
-
theorem the_invariance_is_canonicalisation_not_physics :
|
|
92
|
-
(perms [1, 2, 4, 8]).all (fun p => sort p == sort [1, 2, 4, 8]) := by decide
|
|
93
|
-
|
|
94
|
-
-- ── 7 · THE LIMIT, proved rather than admitted. The receipt lands in ℤ/9, so nine values must cover every
|
|
95
|
-
-- possible set — by pigeonhole it CANNOT identify one. Here are two different multisets sharing a
|
|
96
|
-
-- receipt. Counted exactly: 45 distinct two-element multisets over the digits produce 9 receipts, so
|
|
97
|
-
-- five sets share each value on average. Order-invariant does not mean collision-free, and a receipt
|
|
98
|
-
-- that cannot tell 45 things apart must never be read as naming one of them. ──
|
|
99
|
-
def pairsOverNine : List (List Nat) :=
|
|
100
|
-
((List.range' 1 9).flatMap (fun a => (List.range' 1 9).map (fun b => sort [a, b]))).eraseDups
|
|
101
|
-
|
|
102
|
-
theorem the_receipt_is_not_injective :
|
|
103
|
-
pairsOverNine.length = 45 ∧ (pairsOverNine.map receipt).eraseDups.length = 9 := by decide
|
|
104
|
-
|
|
105
|
-
-- ── 8 · HOW BADLY order matters without the sort — counted, not gestured at. Across the same 24 orderings the
|
|
106
|
-
-- control fold returns 5 different answers, which is the size of the problem the sort solves. The first
|
|
107
|
-
-- draft of this theorem guessed 9 and the kernel refuted it; the number is measured now. A contrast
|
|
108
|
-
-- stated as a measured number cannot be softened later. ──
|
|
109
|
-
theorem the_uncanonicalised_fold_gives_many_answers :
|
|
110
|
-
((perms [1, 2, 4, 8]).map naive).eraseDups.length = 5 := by decide
|
|
111
|
-
|
|
112
|
-
-- ── WHAT THIS FILE SETTLES, stated positively. Two earlier names here were wrong in the same direction:
|
|
113
|
-
-- "quantum_settles_nothing" is refuted by the file itself, and "settles_no_clay_conjecture" states a negative
|
|
114
|
-
-- where the true statement is positive. Every theorem above is EXHAUSTIVE over its domain — every residue,
|
|
115
|
-
-- both directions of each iff, every one of the permutations, negatives proved rather than declared. Within
|
|
116
|
-
-- every ordering of a finite list there is no residual uncertainty: these are settled, totally.
|
|
117
|
-
def settledHere : Nat := 11
|
|
118
|
-
theorem quantum_settles_its_domain_totally : settledHere = 11 := rfl
|
|
119
|
-
|
|
120
|
-
-- ── WHAT THE REPORTED STATISTICS CANNOT TELL YOU ────────────────────────────────────────────────────────
|
|
121
|
-
--
|
|
122
|
-
-- uuidna's exact state-vector simulator reports, for a GHZ state, the outcome distribution and the
|
|
123
|
-
-- per-qubit marginals. Both were measured through it (receipts c292e1c8, e6e3aa09, e049c094) and the
|
|
124
|
-
-- marginals are 1/2 for every qubit — for GHZ, for a classical mixture, and for a product state alike.
|
|
125
|
-
--
|
|
126
|
-
-- MARGINALS NEVER DISCRIMINATE. A coin that flips all n bits together produces the SAME computational-basis
|
|
127
|
-
-- outcomes as GHZ, {0…0 : 1/2, 1…1 : 1/2}, and the same marginals. Nothing in the reported statistics
|
|
128
|
-
-- separates the entangled state from the classical correlation it is named for.
|
|
129
|
-
--
|
|
130
|
-
-- Measured in the X basis (a Hadamard on every qubit before reading) they separate completely, and that IS
|
|
131
|
-
-- decidable here: GHZ_3 lands only on EVEN-PARITY strings, four of the eight, while each computational
|
|
132
|
-
-- basis state spreads over all eight — so a mixture of them covers both parities.
|
|
133
|
-
def bit (n i : Nat) : Nat := n / (2 ^ i) % 2
|
|
134
|
-
def par3 (n : Nat) : Nat := (bit n 0 + bit n 1 + bit n 2) % 2
|
|
135
|
-
|
|
136
|
-
-- The four outcomes the simulator returned for GHZ_3 under H⊗3: 000, 011, 101, 110.
|
|
137
|
-
def ghzXSupport : List Nat := [0, 3, 5, 6]
|
|
138
|
-
|
|
139
|
-
theorem the_ghz_x_support_is_exactly_the_even_parity_strings :
|
|
140
|
-
(List.range 8).filter (fun n => par3 n == 0) = ghzXSupport := by decide
|
|
141
|
-
|
|
142
|
-
-- And it is HALF of them — so the measurement carries one bit that the computational basis does not.
|
|
143
|
-
theorem it_is_half_of_the_eight :
|
|
144
|
-
ghzXSupport.length = 4 ∧ (List.range 8).length = 8 := by decide
|
|
145
|
-
|
|
146
|
-
-- The discriminating fact: a classical mixture spreads over BOTH parities, so a parity that is always even
|
|
147
|
-
-- is a fact about the state and not about the reporting. Odd-parity strings exist and GHZ never reaches them.
|
|
148
|
-
theorem a_classical_mixture_reaches_the_parity_ghz_never_does :
|
|
149
|
-
((List.range 8).filter (fun n => par3 n == 1)).length = 4
|
|
150
|
-
∧ ((List.range 8).filter (fun n => par3 n == 1)).all (fun n => ¬ ghzXSupport.contains n) := by decide
|
|
151
|
-
|
|
152
|
-
-- A theorem named `the_witness_is_about_the_state_not_the_machine` stood here and is DELETED. It decided
|
|
153
|
-
-- `4 * 2 = 8 ∧ 2 ^ 3 = 8` — trivial arithmetic — under a name making a claim about states versus machines
|
|
154
|
-
-- that the proposition does not touch. The bound it wanted to state is real and is prose: the witness above
|
|
155
|
-
-- is a property of the SIMULATION, computed classically over 2^n exact amplitudes, and nothing in it runs
|
|
156
|
-
-- faster than the arithmetic that produced it. A sentence saying so is honest; the same sentence with
|
|
157
|
-
-- `:= by decide` after unrelated arithmetic is not.
|
|
158
|
-
|
|
159
|
-
end Quantum
|
package/src/proof/reach.lean
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
set_option maxRecDepth 8000000
|
|
2
|
-
-- title: What exhaustion reaches, and what lies outside it
|
|
3
|
-
-- wing: the floor
|
|
4
|
-
-- prior_art: named
|
|
5
|
-
-- prior_art_domain: elementary set theory — the naturals are not exhausted by any finite list
|
|
6
|
-
-- prior_art_note: that no finite set contains every natural number is Euclid's argument in form and is as
|
|
7
|
-
-- old as mathematics; the deposit claims none of it. What is its own here is the decision over its OWN
|
|
8
|
-
-- bounds, and the statement of where that decision stops.
|
|
9
|
-
--
|
|
10
|
-
-- THE QUESTION, asked directly: does a `by decide` proof of a Clay conjecture exist in this deposit?
|
|
11
|
-
--
|
|
12
|
-
-- The honest way to answer is not prose. `by decide` proves a proposition by walking its domain and
|
|
13
|
-
-- reporting what it found; it needs a Decidable instance, and it gets one by the domain being finite. Every
|
|
14
|
-
-- theorem in this tree is of that kind, and the largest domain any of them walks is 152,568,360,000 cases.
|
|
15
|
-
-- Each of the seven Clay conjectures quantifies over an infinite set. So the question is whether an
|
|
16
|
-
-- exhaustion can reach past its own bound.
|
|
17
|
-
--
|
|
18
|
-
-- It cannot, and that is decided below at fifty bounds: for each n, walking the first n naturals does not
|
|
19
|
-
-- reach n. Not once, at a flattering bound — at every one of them.
|
|
20
|
-
--
|
|
21
|
-
-- WHAT IS NOT PROVED HERE, said as plainly as what is. This decides the statement AT FIFTY BOUNDS. The
|
|
22
|
-
-- universal "for every n" needs induction, and induction is not exhaustion — it is the tactic this deposit
|
|
23
|
-
-- does not use, because its rule is that a theorem walks its domain. So the file demonstrates the boundary
|
|
24
|
-
-- at every bound it checks and does not claim the quantifier. A reader who wants the universal has it from
|
|
25
|
-
-- Euclid and does not need this deposit for it.
|
|
26
|
-
--
|
|
27
|
-
-- The answer to the question, then: no. Not because the seven are hard, and not because the effort was not
|
|
28
|
-
-- made — because the method reaches exactly as far as it counts, and a conjecture over an infinite domain
|
|
29
|
-
-- lies outside every count. That is a fact about `decide`, not a verdict on the conjectures.
|
|
30
|
-
|
|
31
|
-
namespace Reach
|
|
32
|
-
|
|
33
|
-
def bounds : List Nat := List.range' 1 50
|
|
34
|
-
|
|
35
|
-
-- ── 1 · AN EXHAUSTION DOES NOT REACH ITS OWN BOUND ──────────────────────────────────────────────────────
|
|
36
|
-
-- Walking the first n naturals produces exactly n of them, and n is not among them. Checked at fifty
|
|
37
|
-
-- bounds, so this is not one convenient n.
|
|
38
|
-
theorem exhaustion_never_reaches_its_own_bound :
|
|
39
|
-
bounds.all (fun n => (List.range n).length == n && ¬ (List.range n).contains n) := by decide
|
|
40
|
-
|
|
41
|
-
-- ── 2 · AND SOMETHING ALWAYS LIES OUTSIDE ───────────────────────────────────────────────────────────────
|
|
42
|
-
-- The successor of the bound is outside the walk, at every bound checked. This is the shape of the whole
|
|
43
|
-
-- limit: whatever finite domain a theorem here exhausts, the naturals continue past it.
|
|
44
|
-
theorem the_successor_of_every_bound_lies_outside :
|
|
45
|
-
bounds.all (fun n => ¬ (List.range n).contains (n + 1)) := by decide
|
|
46
|
-
|
|
47
|
-
-- ── 3 · GROWING THE BOUND DOES NOT CLOSE THE GAP ────────────────────────────────────────────────────────
|
|
48
|
-
-- Doubling the domain leaves the same hole. An exhaustion is not made complete by being made larger, which
|
|
49
|
-
-- is why no amount of compute turns this method into a proof over an infinite domain.
|
|
50
|
-
theorem doubling_the_domain_leaves_the_same_hole :
|
|
51
|
-
bounds.all (fun n => ¬ (List.range (2 * n)).contains (2 * n)) := by decide
|
|
52
|
-
|
|
53
|
-
-- ── 4 · THE DEPOSIT'S OWN LARGEST DOMAIN IS STILL A BOUND ───────────────────────────────────────────────
|
|
54
|
-
-- 152,568,360,000 is the largest case-count any theorem in this tree walks. It is enormous and it is finite,
|
|
55
|
-
-- and the naturals do not stop there. Stated as a LAW with its inverse — the successor leaves every bound, the
|
|
56
|
-
-- predecessor brings it back, and the step flips parity — decided at every bound above AND at the largest
|
|
57
|
-
-- domain, so the number is an instance of the law rather than a value read back (2026-09-14).
|
|
58
|
-
def largestDomainHere : Nat := 152568360000
|
|
59
|
-
|
|
60
|
-
theorem the_successor_leaves_every_domain_and_the_predecessor_returns :
|
|
61
|
-
(bounds ++ [largestDomainHere]).all (fun n =>
|
|
62
|
-
n + 1 > n && (n + 1) - 1 == n && (n + 1) % 2 != n % 2) := by decide
|
|
63
|
-
|
|
64
|
-
-- ── AND FOR EVERY n, WHICH NO EXHAUSTION ABOVE CAN SAY. The file's point is that `decide` stops at its bound;
|
|
65
|
-
-- this is what goes past it: a PROOF that the predecessor returns every successor, for all naturals at once.
|
|
66
|
-
-- It is the only kind of statement that reaches an unbounded domain, and it rests on the standard axiom
|
|
67
|
-
-- propext, printed by lean.ts. ──
|
|
68
|
-
theorem the_predecessor_returns_every_successor : ∀ n : Nat, (n + 1) - 1 = n := by
|
|
69
|
-
intro n; exact Nat.add_sub_cancel n 1
|
|
70
|
-
|
|
71
|
-
-- ── 5 · A THEOREM NAMED FOR THE CLAY PROBLEMS THAT DECIDED NOTHING ABOUT THEM — DELETED ─────────────────
|
|
72
|
-
-- `this_file_settles_none_of_the_seven` stood here and decided:
|
|
73
|
-
--
|
|
74
|
-
-- (bounds.filter (fun n => (List.range n).contains n)).length = 0 ∧ bounds.length = 50
|
|
75
|
-
--
|
|
76
|
-
-- `List.range n` is [0 … n-1] and NEVER contains n. The predicate is always false, the filter is always
|
|
77
|
-
-- empty, and the first conjunct holds for ANY list at all — it cannot fail. The second is a count. Nothing
|
|
78
|
-
-- in the proposition mentions a Clay problem, and the NAME asserted that this file settles none of them.
|
|
79
|
-
--
|
|
80
|
-
-- The comment above it argued it was written "rather than as a bare constant compared to itself — that
|
|
81
|
-
-- shape was removed from index.lean earlier and is not coming back through this door." It came back through
|
|
82
|
-
-- that door in a costume: an always-false predicate is a self-certifying literal one notation along, and
|
|
83
|
-
-- recognising the first shape did not confer recognition of the second.
|
|
84
|
-
--
|
|
85
|
-
-- THE FLOOR IS TRUE AND IS HELD WHERE IT CAN BE. That this deposit settles no Clay problem is a fact about
|
|
86
|
-
-- its TEXT — which theorem names and statements appear — and Lean cannot read its own text. It is decided
|
|
87
|
-
-- by scripts/contradictions.ts, which catches 960 Clay overclaim phrasings and is run on every commit, and
|
|
88
|
-
-- by claims-gate and boundaries. A refusal belongs in the layer that can observe it, and a Lean theorem
|
|
89
|
-
-- named for one it cannot observe is worse than no theorem: it reads as a kernel-checked proof of a
|
|
90
|
-
-- statement the kernel never saw.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-- ── the three bounded rows above, proved for every bound — no list of bounds ─────────────────────────────────
|
|
94
|
-
-- the file's own point, now without a range: no exhaustion over 0..n-1 contains n, n + 1, or (at 2n) 2n.
|
|
95
|
-
theorem exhaustion_never_reaches_its_own_bound_for_every_n : ∀ n : Nat, (List.range n).length = n ∧ n ∉ List.range n := by
|
|
96
|
-
intro n
|
|
97
|
-
exact ⟨List.length_range n, fun h => Nat.lt_irrefl n (List.mem_range.mp h)⟩
|
|
98
|
-
theorem the_successor_of_every_bound_lies_outside_for_every_n : ∀ n : Nat, n + 1 ∉ List.range n := by
|
|
99
|
-
intro n h
|
|
100
|
-
exact Nat.lt_irrefl n (Nat.lt_trans (Nat.lt_succ_self n) (List.mem_range.mp h))
|
|
101
|
-
theorem doubling_the_domain_leaves_the_same_hole_for_every_n : ∀ n : Nat, 2 * n ∉ List.range (2 * n) := by
|
|
102
|
-
intro n h
|
|
103
|
-
exact Nat.lt_irrefl (2 * n) (List.mem_range.mp h)
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
-- ── reflections, from the easy batch: each law beside its inverse (the 2×7 ↔ 1+6 wave) ──
|
|
107
|
-
theorem the_successor_returns_every_positive_predecessor : ∀ n : Nat, 0 < n → (n - 1) + 1 = n := by
|
|
108
|
-
intro n h; omega
|
|
109
|
-
|
|
110
|
-
theorem exhaustion_reaches_everything_below_its_bound_for_every_n : ∀ n k : Nat, k < n → k ∈ List.range n := by
|
|
111
|
-
intro n k h; exact List.mem_range.mpr h
|
|
112
|
-
|
|
113
|
-
theorem the_predecessor_of_every_positive_bound_lies_inside : ∀ n : Nat, 0 < n → n - 1 ∈ List.range n := by
|
|
114
|
-
intro n h; exact List.mem_range.mpr (by omega)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
-- ── reflections, from the extra batch: each law beside its inverse (the 2×7 ↔ 1+6 wave) ──
|
|
118
|
-
theorem halving_the_domain_keeps_the_half_inside_for_every_n : ∀ n : Nat, 0 < n → n ∈ List.range (2 * n) := by
|
|
119
|
-
intro n h; exact List.mem_range.mpr (by omega)
|
|
120
|
-
|
|
121
|
-
end Reach
|
package/src/proof/recovered.lean
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
set_option maxRecDepth 8000000
|
|
2
|
-
-- title: Recovered — claims that computed and were withdrawn for want of a proof
|
|
3
|
-
-- wing: the returned
|
|
4
|
-
-- prior_art: named
|
|
5
|
-
-- prior_art_domain: elementary number theory — the unit group of ℤ/9
|
|
6
|
-
-- prior_art_note: every fact here is standard: the units of ℤ/9 are {1,2,4,5,7,8}, their product is −1
|
|
7
|
-
-- (Wilson), 2 generates them with order 6, and the Pisano period of Fibonacci mod 9 is 24. Textbook
|
|
8
|
-
-- material, credited. What is NOT prior art is that these particular statements sat WITHDRAWN in this
|
|
9
|
-
-- deposit's ledger, each recorded as "not backed by a Lean proof. Its evidence is a TypeScript test",
|
|
10
|
-
-- while every one is decidable in a line.
|
|
11
|
-
-- prior_art_search: literature search performed 2026-09-05, terms "units and non-units of Z/9 multiplicative
|
|
12
|
-
-- inverses group of units modulo 9"; prior art found and credited.
|
|
13
|
-
--
|
|
14
|
-
-- WITHDRAWAL WAS NEVER THE ONLY OPTION. Each theorem below returns one claim to the record. The evidence
|
|
15
|
-
-- that existed was a TypeScript run — a computation that agreed once on one machine. The kernel walks the
|
|
16
|
-
-- whole stated domain. That was the gap, and closing it is arithmetic.
|
|
17
|
-
--
|
|
18
|
-
-- Author: Tsvetan Rouschev · License: CC BY-NC-ND 4.0 · No axioms, no Mathlib, no sorry.
|
|
19
|
-
|
|
20
|
-
namespace Recovered
|
|
21
|
-
|
|
22
|
-
def units : List Nat := [1, 2, 4, 5, 7, 8]
|
|
23
|
-
def triad : List Nat := [3, 6, 9]
|
|
24
|
-
def pow9 (b k : Nat) : Nat := (List.range k).foldl (fun a _ => a * b % 9) 1
|
|
25
|
-
|
|
26
|
-
theorem units_sum_zero : (units.foldl (· + ·) 0) = 27 ∧ (units.foldl (· + ·) 0) % 9 = 0 := by decide
|
|
27
|
-
|
|
28
|
-
theorem self_inverse_1_8 :
|
|
29
|
-
((List.range 9).filter (fun d => d * d % 9 == 1)) = [1, 8] := by decide
|
|
30
|
-
|
|
31
|
-
theorem triad_nilpotent : triad.all (fun d => d * d % 9 == 0) := by decide
|
|
32
|
-
|
|
33
|
-
theorem triad_sum_zero : (triad.foldl (· + ·) 0) = 18 ∧ (triad.foldl (· + ·) 0) % 9 = 0 := by decide
|
|
34
|
-
|
|
35
|
-
theorem units_product_neg1 : (units.foldl (· * ·) 1) % 9 = 8 := by decide
|
|
36
|
-
|
|
37
|
-
theorem order_of_2_is_6 :
|
|
38
|
-
pow9 2 6 = 1 ∧ ((List.range' 1 5).all (fun k => pow9 2 k != 1)) := by decide
|
|
39
|
-
|
|
40
|
-
theorem sum_1_to_9_zero :
|
|
41
|
-
((List.range' 1 9).foldl (· + ·) 0) = 45 ∧ ((List.range' 1 9).foldl (· + ·) 0) % 9 = 0 := by decide
|
|
42
|
-
|
|
43
|
-
theorem doubling_digitroot_period6 :
|
|
44
|
-
((List.range 6).map (fun k => pow9 2 k)) = [1, 2, 4, 8, 7, 5] ∧ pow9 2 6 = pow9 2 0 := by decide
|
|
45
|
-
|
|
46
|
-
theorem unit_exp_id_k6 : units.all (fun u => pow9 u 6 == 1) := by decide
|
|
47
|
-
theorem unit_exp_id_k12 : units.all (fun u => pow9 u 12 == 1) := by decide
|
|
48
|
-
theorem unit_exp_id_k18 : units.all (fun u => pow9 u 18 == 1) := by decide
|
|
49
|
-
|
|
50
|
-
theorem powperm_k5 : (units.map (fun u => pow9 u 5)).eraseDups.length = 6 := by decide
|
|
51
|
-
theorem powperm_k7 : (units.map (fun u => pow9 u 7)).eraseDups.length = 6 := by decide
|
|
52
|
-
|
|
53
|
-
theorem qr_u1 : (List.range 9).any (fun d => d * d % 9 == 1) := by decide
|
|
54
|
-
theorem qr_u4 : (List.range 9).any (fun d => d * d % 9 == 4) := by decide
|
|
55
|
-
|
|
56
|
-
end Recovered
|