The Bottom Element (⊥) - Dictionary and Map
A dictionary and map of the framework’s bottom element ⊥ - what it is, what it is not, and where each characterization is established, most with a machine-checked Lean witness linked to the source.
For the formal framework index and Lean verification, see README. For plain-language introductions, companions, and reading paths, see GUIDE. For the claim-by-claim status of every result, see the Claims Ledger.
What this is
This is a reference for the framework’s bottom element ⊥: a dictionary (what ⊥ is and is not) and a map (where each characterization is established). It is a beginning, not a resolution. What is proved is that each construction’s bottom belongs to the family and that the slot structure recurs; the reading that the various bottoms are one object is retired as ill-typed - they are provably distinct as structures (the “walls”). It closes a standing gap: a framework built on ⊥ that had not yet characterized ⊥ itself.
The short version: concepts that should not coincide, but do
One self-referential structure - a thing that is its own fixed point - keeps turning up in fields that do not expect to meet. Here is each coincidence, ordered by how sure we are of it. Everything provable is checkable: clone the repo and run #print axioms <name>.
Proved, with one commitment - the same element. In any Kleene-structured ZP lattice, the Quine atom (a set that is its own only member, set theory / AFA), the order-bottom ⊥, and the algebraic join-identity are proved to be the same element - the three-name core, axiom-free (t_exec). The fourth name, the Kleene fixed point (a program that reproduces itself, computability), is joined to the other three by an explicit structural commitment: the KleeneStructure typeclass names the computational fixed point as the same role - the motivating commitment, not a derived theorem. So the set that is its own only member is identified with the program that prints itself by that commitment, not proved equal. The computational witness rests on Mathlib’s recursion theorem, which carries Classical.choice; the three-name core needs none.
Proved - each field’s own floor. 0 in the 2-adics, where v₂(0) = ∞ (addVal_bot); unbounded surprisal, the state with no finite description (t2_diverges); the categorical bottom of each real Mathlib category, an inverse limit or initial object (fD_zero_isInitial, fC_zero_isInitial and fB_bottom_is_limit, collected in mc1_correspondence); and the case where the coincidence fails, ℝ vs ℚ₂ by Ostrowski (completions_exhaustive, real_not_equiv_padic). They share a SHAPE (Statement: COINCIDENCE, per field’s own witness above) - one object carrying both extremal characterisations at once - and a shared shape across distinct structures is a type boundary, never a common theorem. (The order-theoretic form of that shape is fork_collapse_iff, choice-free, but none of these satisfies its hypotheses of a complete lattice and a monotone map, so none is an instance of it.) ε₀ is co-witnessed with the 2-adic limit and the machine snap (zpm_triangle).
Mostly proved - a narrow residue argued. The framework’s set-theoretic commitment is not AFA specifically but a fragment it assumes of its host theory: a unique Quine atom ⊥ = {⊥}. That fragment is a checkable object, the QuineHost typeclass. Foundation-freeness is forced by the Quine atom (quineHost_not_wellFounded, axiom-free - a self-loop cannot live in a well-founded world); ordinary set theory (Foundation) is excluded in-kernel about the real theory (zfSet_no_quine_bottom - no set is self-membered under Foundation); Boffa’s axiom is set aside because it admits a proper class of Quine atoms rather than one (Boffa 1968), a gap a toy model makes concrete (boffa_fails_unique) rather than an in-kernel fact about Boffa’s axiom; and AFA is exhibited as the example meeting all three (afaStructure_isQuineHost). What remains argued is only that a Quine atom and its uniqueness are the right two requirements - a Forced Metatheoretic Commitment with a named falsifier, stronger than a free choice and weaker than a theorem. The set-membership face ⊥ ∈ ⊥ stays metatheoretic; the structural fixed point is machine-checked and axiom-free (t_exec).
The family - MC-1. MC-1 names not one object but one family. Each of these floors is a member: it satisfies the shared criteria mapped in the slots below, with per-domain membership machine-verified where marked (the categorical criterion is carried by the per-domain witnesses fD_zero_isInitial, fC_zero_isInitial and fB_bottom_is_limit, collected in mc1_correspondence). The choice of criteria is a design principle; that they characterize the family is an argument. The cross-category numerical identity - that the bottoms are one and the same object - is retired as ill-typed (x = y across distinct categories is not a well-formed proposition), and the members are provably distinct (the “walls” below). What survives is the proved leaves and the proved walls; the only oneness is the shared self-referential shape - the diagonal fixed point - which lives in the apophatic register, never as a formal identity. Within-frame identities stand (the three-name core above; 0 = ∞ under rInv in ℚ₂).
Reading key (for a reader with no prior context)
Slot codes (the map columns, and the positive dictionary entries):
| code | what it means |
|---|---|
| CANT | cannot-have - what ⊥ provably is NOT (its exclusions) |
| NARR | narrow - ⊥ is a single, unique point |
| MEAS | measure - some quantity becomes infinite exactly at ⊥ |
| INV | inversion - the map z↦1/z swaps ⊥ (which is 0) with infinity (the two poles of a Riemann sphere) |
| CONC | concurrency - applying ⊥’s own operation returns ⊥ unchanged (a fixed point: operation and result coincide) |
| SELF | self-reference - ⊥ is defined by referring to itself (a self-reproducing / self-containing object) |
| GEN | generation - ⊥ generates the structure built above it (for example, the ordinal ε₀ generated from 0) |
| DYN | dynamics - how ⊥ is approached and departed, one directional axis with two sub-senses: ↓ inbound (orbits converge to ⊥ - a sink) and ↑ outbound (structure departs from ⊥ irreversibly - a source). ↕ = both, which happens only at a seam (μ=ν). Single-directional, set by whether ⊥ is a sink or a source |
Constructions (the map rows). A #N prefix (#2 Markov, #3 TopCat/p-adic limit, #4 Kleisli, #5 Hilbert
seam) cross-references the bottom-diagram-tree nodes used throughout the Lean source (node #4,
seam node #5, …). Only those four appear as numbered rows; the tree’s order-floor node #1 is the abstract
Lat ⊥ row (shown here without the number), and the other rows (Info, Kleene, ε₀, selfApp, the p-adic
valuation) come from other layers. The partial numbering is scoped, not missing data:
| construction (map row) | what it means |
|---|---|
| Lat ⊥ (ZPA/ZPE) | the abstract order bottom: ⊥ as the least element of the framework’s lattice |
| p-adic (ℚ₂/ℤ₂) | the number 0 in the 2-adic numbers (the floor of the 2-adic distance) |
| Info (ZPC) | the information-theoretic bottom, where surprisal / information grows without bound |
| #4 Kleisli (Fin 0) | the empty type, as the initial object of a probability (Kleisli) category |
| #5 Hilbert (zero obj/seam) | the zero vector space, as the zero object of a linear category (the ‘seam’) |
| #3 TopCat ({0} limit) | the one-point space {0}, obtained as a topological limit of shrinking balls |
| #2 Markov (attractor) | the stationary distribution a random walk settles into |
| Kleene (quine, ZPK) | the self-reproducing program (Kleene fixed point) of computability |
| ε₀ (ordinal, ZPL/M) | the ordinal ε₀, generated from 0 by iterating omega-to-the-power |
| selfApp (abstract ⊥) | the abstract self-application ⊥: the unique fixed point of a self-map |
A few recurring terms:
| term | plain meaning |
|---|---|
| apophatic | characterizing something by what it is NOT (definition by exclusion) |
| μ / ν | least fixed point (μ, built up from the floor) vs greatest fixed point (ν, closed down) |
| Quine atom / Kleene quine | a self-containing set (x = {x}) / a program that prints itself |
| the snap | the framework’s discrete jump off ⊥ into the first structured state |
| ε₀ | the fixed point of omega-to-the-power reached from 0 - both min and max at once (epsilon0_min_eq_max): the least such fixed point (the minimum closure, a floor in the fixed-point order) and the supremum of the ascending tower (a ceiling) - never only a ceiling |
| v₂ → ∞ | the 2-adic valuation going to infinity at 0 (0 is infinitely divisible by 2) |
Dictionary
⊥ cannot be (characterization by exclusion)
| ⊥ cannot be… | witness (links to Lean source) |
|---|---|
| a Lean term or otherwise finitely written down - this is the apophatic ⊥, the descriptionless limit-notion, distinct from the algebraic bottom element the Lean manipulates as a finite, decidable term. The two share the symbol ⊥, not an identity: any written form is a description, so it captures an interpretation of ⊥, never the descriptionless limit itself | meta (no Lean witness) |
| anything that keeps time, space, description, measure or structure (that would be an interpretation of ⊥, not ⊥) | meta (no Lean witness) |
| finite: ⊥ is by definition the point where every finite measure diverges to infinity | meta (no Lean witness) |
| the same object as both the proof-theory floor and the attractor floor (one is well-founded, the other is not) | no_strictMono_real_to_ordinal, simplex_antichain |
| the same object as a categorical initial bottom, if it is a topological limit bottom (their universal properties point opposite ways) | padic_bottom_not_initial, split_kleisli_vs_hilbert |
| reached by a comparison that preserves the ‘closed-down’ (ν) structure - you can only get to ⊥ by forgetting that structure | faithful_iff_descending |
| unified with its self-referential face in a structure-preserving way - the two coincide only as a bare point | faces_iso_unique |
| forced to a single point as a Markov bottom (#2): a reducible chain settles into a whole family of distributions, not one | markov_node_no_universal_property |
| an initial object of the category of spaces (the p-adic floor behaves like a limit / terminal object, the opposite) | padic_bottom_not_initial |
| a zero object (both initial and terminal) of the Kleisli or p-adic categories | kleisli_bottom_not_zero, padic_bottom_not_zero |
| a greatest element (it is the floor, not the top) | zpa_bot_not_greatest |
| an inhabited least-fixed-point for the identity functor: that least fixed point is provably empty | strict_fix_isEmpty, fix_isEmpty_constructive |
| recovered by mapping the least fixed point onto the greatest: the comparison map is not onto | fixToCofix_not_surjective |
| reached by a non-contracting orbit: unit-norm and swap orbits provably do not converge to ⊥ | unit_orbit_not_tendsto_zero, swap_orbit_not_convergent |
⊥ is (positive handles - the slots)
The handles sort by aspect: what ⊥ is (noun), what ⊥ does (verb), or both at once (hinge). The hinge is ⊥’s signature: at the floor the two collapse - the fixed point that is a thing and acts on itself in one step (operation = result). This noun-and-verb reading, and the claim that they collapse at ⊥, is the framework’s interpretation; the slot witnesses below are proved, the lens over them is not.
| slot | aspect | characterization of ⊥ | witness (links to Lean source) |
|---|---|---|---|
| narrow | noun | the single, unique pinned point | q2_unique_fp, fB_bottom_is_limit |
| measure | noun | a quantity that becomes infinite exactly at ⊥ | t2_diverges, addVal_bot |
| inversion | verb | the 0 = ∞ pole: the map z↦1/z swaps 0 and infinity | rInv_swaps, inversion_reverses_filtration |
| concurrency | hinge | the fixed point where least and greatest coincide (operation = result) - Statement: COINCIDENCE |
unique_fp (class field of AbstractSelfApp - assumed by the class, discharged by each instance), selfApp_bot_is_both_extremal |
| self-reference | hinge | the self-reproducing / self-containing fixed point (Quine / Kleene) | kleene_quine_is_bot, quine_period_is_goedel |
| generation | verb | the floor generates the ceiling (ε₀ = the closure of 0 under omega-to-the-power) | epsilonZero_eq_nfp |
| dynamics | verb | ⊥’s one-way approach and departure - two sub-senses: inbound (↓, orbits converge to ⊥ - a sink) and outbound (↑, structure departs from ⊥ irreversibly - a source); ↕ = both, only at a seam (μ=ν) | contraction_orbit_tendsto_zero, t_snap_derived, c3_irreversible, fC_no_return |
Map - slot × construction
Where each characterization stands. Most columns are a claim with a status, not a checkbox: ✓ the witness states a proposition and the kernel checked it · ≝ the cell’s own sentence in Why each cell below says what the witness is ·
✗ refuted (a proved obstruction) · ∅ not-applicable by structure (a category
error - e.g. asking a ν-limit for a μ-generation property - not a gap). A trailing * (✓*, ≝*, ↑*, ↓*) means conditional - established via a bridge or inherited from a sibling layer, a separate axis from ✓/≝. The last column,
dynamics, is DIRECTIONAL instead: ↓ inbound (converges to ⊥ - a sink), ↑ outbound (departs from ⊥
irreversibly - a source), ↕ both (a seam). (The dictionary above links the witnesses it cites; each
map cell’s own witness, or the reason it has none, is in Why each cell below.)
| construction | CANT | NARR | MEAS | INV | CONC | SELF | GEN | DYN |
|---|---|---|---|---|---|---|---|---|
| Lat ⊥ (ZPA/ZPE) | ✓ | ✓ | ∅ | ∅ | ✓* | ✓* | ∅ | ↑ |
| p-adic (ℚ₂/ℤ₂) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓* | ∅ | ↓ |
| Info (ZPC) | ✓* | ∅ | ✓ | ∅ | ∅ | ✓* | ∅ | ↑* |
| #4 Kleisli (Fin 0) | ✓ | ≝ | ∅ | ≝ | ✗ | ∅ | ✓ | ↑ |
| #5 Hilbert (zero obj/seam) | ✓ | ✓ | ∅ | ✓ | ✓ | ✓ | ∅ | ↕ |
| #3 TopCat ({0} limit) | ✓ | ≝ | ∅ | ∅ | ∅ | ∅ | ∅ | ↓* |
| #2 Markov (attractor) | ✓ | ✓* | ∅ | ∅ | ✓ | ∅ | ∅ | ↓ |
| Kleene (quine, ZPK) | ✓ | ✓ | ✓ | ∅ | ✓ | ✓ | ∅ | ↓ |
| ε₀ (ordinal, ZPL/M) | ✓* | ✓ | ✓ | ∅ | ✓ | ✓* | ✓ | ↕ |
| selfApp (abstract ⊥) | ✓ | ✓ | ∅ | ∅ | ≝ | ✓ | ∅ | ↑* |
The informative content is in the non-✓ cells, and splitting them is the point: a ∅
is a settled structural fact (a category error, not a gap), a ✗ is news (a proved obstruction), a ✓* holds only via a bridge, and a ≝ sends you to that cell’s sentence. Two things worth reading off the table:
(1) generation (GEN) is the μ / build-up-from-the-floor side, so the ν-bottoms (p-adic, Markov, the TopCat
point-limit) read ∅ there - a ν-object has no μ-property - and the self-coincident fixed points (Kleene,
selfApp) carry SELF rather than GEN; GEN’s one live cell is ε₀, where the floor generates a distinct ceiling.
(2) The dynamics column is single-directional - ↓ for a sink (ν), ↑ for a source (μ) - and ↕ (both)
appears only at a seam (μ=ν): the zero-object seam #5 Hilbert, and ε₀, whose row is itself the snap-arc
0→ε₀. So ⊥’s dynamics has one direction, fixed by whether ⊥ is a source or a sink.
The structural reading is in the non-✓ cells - the proved obstructions (✗), the structural non-applicabilities (∅), the ✓* cells that are conditional, and the ≝ cells, whose witness is named in its own sentence - not the
filled count. The full reasoning behind the GEN and dynamics columns is written up in
Structural Findings; the reason or witness behind every mark is below.
Why each cell - the reason or witness behind every mark (click to expand)
**Lat ⊥ (ZPA/ZPE)** - `CANT` ✓ - [`zpa_bot_not_greatest`](/ZeroParadox/Category/SeamUniqueness.lean) - `NARR` ✓ - [`da2_bottom_characterization`](/ZeroParadox/Order/Snap.lean) - `MEAS` ∅ - bare [`ZPSemilattice`](/ZeroParadox/Order/Lattice.lean) has no metric/valuation scalar to diverge - `INV` ∅ - a join-semilattice has no top / complement / involution to swap ⊥ with - `CONC` ✓* - [`selfApp_bot_is_both_extremal`](/ZeroParadox/Multihomed/SelfAppSeam.lean) - `SELF` ✓* - [`derived_bot_self_mem`](/ZeroParadox/Computability/SelfApp.lean) - `GEN` ∅ - no infinite joins to form ⊔ₙfⁿ(⊥); ε₀-generation lives in the ordinal row - `DYN` ↑ - [`t_snap_derived`](/ZeroParadox/Order/Snap.lean) (⊥=c₀ departs to c₁ - source/μ) **p-adic (ℚ₂/ℤ₂)** - `CANT` ✓ - [`padic_bottom_not_initial`](/ZeroParadox/Multihomed/TreeObstructions.lean) - `NARR` ✓ - [`fB_bottom_is_limit`](/ZeroParadox/Valuation/TopFunctor.lean) - `MEAS` ✓ - [`addVal_bot`](/ZeroParadox/Valuation/FloorWitness.lean) - `INV` ✓ - [`rInv_swaps`](/ZeroParadox/Valuation/RiemannSphere.lean) (Riemann sphere 0↔∞) - `CONC` ✓ - [`q2_zero_is_fixed`](/ZeroParadox/Computability/SelfApp.lean) - `SELF` ✓* - [`valuation_bot_is_quine`](/ZeroParadox/Valuation/ValuationAFA.lean) - `GEN` ∅ - ν-limit (inverse limit of balls) - carries inbound dynamics, not GEN (μ/ν fork) - `DYN` ↓ - [`contraction_orbit_tendsto_zero`](/ZeroParadox/Valuation/ContractionRate.lean) (converge) + [`c3_irreversible`](/ZeroParadox/Valuation/Padic.lean) (arrival is a jump) - sink/ν **Info (ZPC)** - `CANT` ✓* - [`description_instantiation_gap_closed`](/ZeroParadox/Computability/Kleene.lean) - `NARR` ∅ - the info bottom is the n→∞ surprisal limit, not a pinned carrier point - `MEAS` ✓ - [`t2_diverges`](/ZeroParadox/Information/Surprisal.lean) - `INV` ∅ - −log prob↔info is a coordinate change, not a ⊥↔∞ involution - `CONC` ∅ - no self-application operation on surprisal / distributions - `SELF` ✓* - [`da1_closed_concrete`](/ZeroParadox/Computability/Kleene.lean) - `GEN` ∅ - unbounded ascent, no distinct ceiling constructed - `DYN` ↑* - [`t_snap_derived`](/ZeroParadox/Order/Snap.lean) (snap off the machine null c₀; ZP-E bridge) **#4 Kleisli (Fin 0)** - `CANT` ✓ - [`kleisli_bottom_not_zero`](/ZeroParadox/Category/SeamUniqueness.lean) - `NARR` ≝ - [`fC_zero_isInitial`](/ZeroParadox/Multihomed/InfoFunctor.lean) *(a `def`, and its type is not a proposition)* - `MEAS` ∅ - the empty type supports no PMF - no scalar defined to diverge - `INV` ≝ - `IsInitial.op` *(a `def`, and its type is not a proposition)* (Mathlib) - `CONC` ✗ - [`kleisli_bottom_not_zero`](/ZeroParadox/Category/SeamUniqueness.lean) - `SELF` ∅ - no self-application / diagonal on the empty probability type - `GEN` ✓ - [`node4_generates_nat`](/ZeroParadox/Category/Node4Generation.lean) - `DYN` ↑ - [`fC_no_return`](/ZeroParadox/Multihomed/InfoFunctor.lean) (initial source; nothing returns to ⊥ - μ) **#5 Hilbert (zero obj/seam)** - `CANT` ✓ - [`seam_not_mu_colimit_apex`](/ZeroParadox/Category/SeamNotColimit.lean) - `NARR` ✓ - [`hilbert_bottom_isZero`](/ZeroParadox/Category/TreeSeam.lean) - `MEAS` ∅ - the zero space has finrank 0 - every attached scalar is 0/finite - `INV` ✓ - `hasZeroObject_op` *(an `instance`, and its type is a proposition - so a proof)* (Mathlib) - `CONC` ✓ - [`seam_is_mu_nu_coincidence_SeamCoincidence`](/ZeroParadox/Category/SeamCoincidence.lean) - `SELF` ✓ - [`biprod_diagonal_only_zero`](/ZeroParadox/Multihomed/HilbertDiagonal.lean) (self-similarity) - `GEN` ∅ - μ=ν self-coincident (seam⊔seam≅seam) - generates no distinct ceiling - `DYN` ↕ - [`seam_has_Pin`](/ZeroParadox/Category/SeamArrowSignature.lean) (terminal: maps in) ; [`hilbert_bottom_isZero`](/ZeroParadox/Category/TreeSeam.lean).isInitial (maps out) - the SEAM (μ=ν) **#3 TopCat ({0} limit)** - `CANT` ✓ - [`padic_bottom_not_initial`](/ZeroParadox/Multihomed/TreeObstructions.lean) - `NARR` ≝ - [`floorConeIsLimit`](/ZeroParadox/Order/PadicLimitCone.lean) *(a `def`, and its type is not a proposition)* - `MEAS` ∅ - `TopCat` forgets the scalar; divergence-at-⊥ is the p-adic/info sibling - `INV` ∅ - `TopCat` forgets field mult; z↦1/z is the ℚ₂ Riemann sibling - `CONC` ∅ - no intrinsic self-map on the topological limit object (×2-fp is ℚ₂ field structure) - `SELF` ∅ - no self-application on the topological limit object - `GEN` ∅ - ν-limit ({0} as a topological limit) - carries inbound dynamics, not GEN (μ/ν fork) - `DYN` ↓* - [`c3_irreversible`](/ZeroParadox/Valuation/Padic.lean) (topological no-return; stated on ambient Q₂) - sink/ν **#2 Markov (attractor)** - `CANT` ✓ - [`markov_node_no_universal_property`](/ZeroParadox/Computability/MarkovNuUniversal.lean) - `NARR` ✓* - [`markov_node_irreducible_rescue`](/ZeroParadox/Computability/StationaryUnique.lean) - `MEAS` ∅ - a probability distribution - no finite value diverges at it - `INV` ∅ - no antipodal involution on a simplex - `CONC` ✓ - [`exists_stationary`](/ZeroParadox/Reals/PerronFrobenius.lean) - `SELF` ∅ - no self-application; its fixed point is CONC, no self-similarity - `GEN` ∅ - ν-attractor - carries inbound dynamics, not GEN (μ/ν fork) - `DYN` ↓ - [`doubly_stochastic_mean_ergodic`](/ZeroParadox/State/MeanErgodic.lean) (converge) + [`fullMix_not_injective`](/ZeroParadox/Reals/MarkovSpectralGap.lean) (mixing is lossy) - sink/ν **Kleene (quine, ZPK)** - `CANT` ✓ - [`self_halting_undecidable`](/ZeroParadox/Computability/Kleene.lean) - `NARR` ✓ - [`kleene_quine_is_bot`](/ZeroParadox/Computability/Kleene.lean) - `MEAS` ✓ - [`infinite_quine_family`](/ZeroParadox/Computability/Kleene.lean) - `INV` ∅ - programs carry no reciprocal / involution or ∞ counterpart to swap with - `CONC` ✓ - [`computational_quine_exists`](/ZeroParadox/Computability/Kleene.lean) - `SELF` ✓ - [`quine_period_is_goedel`](/ZeroParadox/Computability/Kleene.lean) - `GEN` ∅ - self-coincident fixed point (⊥ = the quine itself) - carries SELF, not floor→ceiling - `DYN` ↓ - [`quine_encodings_approach_bot`](/ZeroParadox/Multihomed/PadicBridge.lean) (encodings approach ⊥; a static point) **ε₀ (ordinal, ZPL/M)** - `CANT` ✓* - [`kruskal_is_wqo_not_descent`](/ZeroParadox/Ordinal/ProofFloorCanonical.lean) - `NARR` ✓ - [`epsilonZero_le_fixedPoint`](/ZeroParadox/Ordinal/Gentzen.lean) - `MEAS` ✓ - [`cnfToZp2_valuation_unbounded`](/ZeroParadox/Ordinal/Gentzen.lean) - `INV` ∅ - a well-order has a floor but no ∞-pole / order-reversing z↦1/z - `CONC` ✓ - [`epsilonZero_fixedPoint`](/ZeroParadox/Ordinal/Gentzen.lean) - `SELF` ✓* - [`both_fixed_points_exist`](/ZeroParadox/Ordinal/Incompleteness.lean) - `GEN` ✓ - [`epsilonZero_eq_nfp`](/ZeroParadox/Ordinal/Gentzen.lean) - `DYN` ↕ - [`tower_converges_to_zero`](/ZeroParadox/Ordinal/Gentzen.lean) (floor 0) ; [`snap_exactly_at_epsilon_zero`](/ZeroParadox/Ordinal/Gentzen.lean) (ceiling ε₀) - the snap-ARC **selfApp (abstract ⊥)** - `CANT` ✓ - [`scale_ne_fixed`](/ZeroParadox/Valuation/Scale.lean) - `NARR` ✓ - [`selfApp_fp_set_eq_singleton`](/ZeroParadox/Multihomed/SelfAppForkPlace.lean) - `MEAS` ∅ - [`AbstractSelfApp`](/ZeroParadox/Computability/SelfApp.lean) abstracts away valuation (ℚ₂ deliberately not an instance) - `INV` ∅ - no ∞-pole; qua μ=ν seam the point is the inversion-FIXED centre - `CONC` ≝ - [`unique_fp`](/ZeroParadox/Computability/SelfApp.lean) *(class field of [`AbstractSelfApp`](/ZeroParadox/Computability/SelfApp.lean) - assumed by the class, discharged by each instance)* - `SELF` ✓ - [`derived_bot_self_mem`](/ZeroParadox/Computability/SelfApp.lean) - `GEN` ∅ - self-coincident (μ=ν seam, ⊥ = the least fixed point) - carries SELF/CONC, not GEN - `DYN` ↑* - [`t_snap_derived`](/ZeroParadox/Order/Snap.lean) (inherited; the static seam-point does not itself move)The diagonal family - the self-reference arguments as one fixed point
The classical self-reference arguments are not separate theorems that happen to rhyme; they are one diagonal fixed point seen under different conditions (Lawvere 1969; Yanofsky 2003). The framework maps the full roster against ⊥, organized by the μ/ν fork and built off a single engine - negation_no_fixedpoint / lawvere_fixedpoint, both axiom-free. On the wall side (μ) self-reference cannot close: the argument runs as a proof that no reflexive object exists. On the floor side (ν) it does close - the fixed point is genuinely produced, and lands at ⊥. Cantor, Russell, Turing, Tarski, Curry, Löb, and Gödel’s second incompleteness are all axiom-free; only the two computability floor faces (the Kleene quine and Rice’s exists-but-undecidable) carry Classical.choice, inherited from Mathlib’s recursion theory. This roster is ZP-R (the Cross-Category Fixed Point layer and its Diagonal Family Addendum) - a placement of ⊥ among recognized results, not a new theorem; the cross-face identity stays a type boundary, the same walls the map above records.
See it: the interactive Diagonal Family map renders this roster as one engine forking into walls (μ) and floors (ν), each node linking its Lean witness and axiom footprint.
| face | side | what it says | witness | axioms |
|---|---|---|---|---|
| Cantor | μ wall | no surjection onto its own power set - the reflexive object is refuted | cantor_via_engine |
(none) |
| Russell | μ wall | membership is not surjective - no set of all non-self-membered sets | russell_via_engine |
(none) |
| Turing | μ wall | no machine decides its own halting - no self-decider | no_self_decider |
(none) |
| Tarski | μ wall | no internal truth predicate - the liar sentence has no witness | tarski_no_internal_truth |
(none) |
| Curry | μ wall | no naming surjection - Curry’s paradox forces any conclusion | curry_no_bottom |
(none) |
| the wall | μ | no well-founded relation admits a self-loop (the engine’s floor) | wf_no_selfloop |
(none) |
| Gödel 1st | between | the undecidable diagonal sentence, built by the shared engine | lawvere_fixedpoint |
(none) |
| Quine atom | ν floor | the self-containing set ⊥ = {⊥} - executable self-reference, landing at ⊥ | t_exec |
(none) |
| Löb | ν floor | provability of (□A → A) yields A - the provability-logic fixed point | loeb |
(none) |
| Gödel 2nd | ν floor | no consistent system proves its own consistency | godel_two |
(none) |
| Kleene quine | ν floor | a program that reproduces itself - the recursion theorem fires | computability_face_fixedPoint |
Classical.choice |
| Rice | ν floor | the fixed point provably exists, yet its membership is undecidable | rice_face_has_bottom |
Classical.choice |
Generated from bottom_cannot_be.md and the matrix data by build_dictionary_map.py. Witness names are
resolved against the Lean source at generation time and link to the file that declares them; the meta
entries (marked as such) have no Lean witness. To update: edit a source and rerun. The links render
natively on GitHub.