Institution Theory Reference
An institution is a tuple (Sig, Sen, Mod, ⊨) with truth invariant under change of signature. Atlas strong edges must be backed by named Lean equivalences, full comorphisms, conservative/theoroidal comorphisms, or explicit satisfaction-preservation theorems. The final Step 2-8 closure is checked by check_visual_atlas_institution_machinery.py and check_visual_atlas_object_kernel.py --require-final.
Atlas Build Schema — how this page is made & how to expand it
§0 Identity & source of truth
This page = "The Emergence Spine — 7 Representations of Each Stage" (~/Documents/visual_atlas_2026-06-04.html).
GENERATOR (the single source of truth): /tmp/atlas_gen.py. Edit it, then python3 /tmp/atlas_gen.py to rebuild. NEVER hand-edit the HTML output — it is regenerated. If /tmp is wiped, reconstruct the generator from this schema + the tables below.
Siblings: ontophysics_object_buckets_2026-06-03.html = the 485-object registry = the RESERVOIR to draw objects from (each tagged by institution role + theory; its "bridges" are comorphisms). generative_ontology_story_2026-06-03.html = narrative; Fig 0 = the spine; Fig R = the six register rows whose icons this page reuses VERBATIM.
Governed by Grothendieck Institution Theory (see sibling hidden block).
§1 The spine (CANONICAL — never rename, never invent)
8 steps = (symbol, name, gloss, node-theorem, forcing-arrow). Source: story Fig 0 + Ontology/GenerativeTopos/ReductionChain.lean. Arrows ARE kernel theorems (the forcing).
- ⊥ Nothing · the void, kept ·
doubleNeg_fixes_bot · →obs_separates
- a≠¬a Distinction · derived, not posited ·
obs_separates · →witness_necessitated
- ⊢w Witness · forced ·
witness_necessitated · →reentry_halfTurn
- ×(−1) Re-entry · the half-turn √−1 ·
reentry_halfTurn · →reentry_fixed_by_r_nucleus
- j=¬¬ Nucleus · one operator, four faces ·
reentry_fixed_by_r_nucleus · →forcing_subsists_iff
- ¬¬∃⊢∃ Forcing · subsist → exist ·
forcing_subsists_iff · →first_extension_two_poles
- p∧p⊥=⊥ Two poles · QM · GR ·
first_extension_two_poles · →fixpoint_iff_phi
- φ Eigenform · φ²=φ+1 ·
mobiusEigenform_phi · ↻ ratchet
PAST MISTAKE to avoid: do NOT invent names ("the Heart" was wrong — it is Forcing). Eigenform φ is the CULMINATING step 8, not folded into Re-entry.
§2 The 7 representations per stage
Rep 1 = the SPINE (trunk node: number, symbol, name, gloss, theorem, counts). Reps 2–7 = the SIX REGISTERS, reused VERBATIM from story Fig R (do NOT redraw): Logic·gates, Geometry, Matrix, Dynamics, Computation, Topos/Locale. Each story row svg is viewBox "0 0 1160 206" with 8 columns (centres 72.5+145·(n−1), width CW=145). Crop to stage n by emitting the SAME inner svg with viewBox "{145*(n-1)} 8 145 190"; uniquify every id (id= and url(#)) per cell so the 48 inline svgs don't collide. The six registers are an INSTITUTION EQUIVALENCE (the same object in six languages).
DO NOT reintroduce the WRONG registers: the gap's six gradings Q/N/R/A/C/O (qualitative/numerical/recursion/arithmetical/categorical/operational) are NOT the registers; that textual strip was removed.
§3 Data model (in the generator)
TRUNK = [(sym,name,gloss,thm,arrow) × 8].
OBJ[step] = [(name, originating-theory, status)]. status: "f"=✓ formalized-in-repo, "x"=⇄ formalized-in-Isabelle (translate via heyting_translate_isabelle_to_lean), "v"=○ vacancy (literature, to-formalize).
EDGES[step] = [(i, j, kind, proof)]; i,j index OBJ[step]. kind: eq ≡ proven-equal, con → construction, inst ⊨ instance, up ≅ same-universal-property, rel — structural, an ~ analogy-to-prove. CLASSIFY institution-theoretically (see inst block): ≡/≅=equivalence, →=comorphism, ⊨=sub-institution, —=morphism, ~=conjectured comorphism (satisfaction condition = the open obligation).
- Node colour = hash(originating theory). Render: f filled, x blue-dotted, v dashed-hollow. CASCADE injected only at step 5.
§4 Principles (rules earned in build; do not violate)
- PRE-ZERO: Step 1 (Nothing) is pre-zero. ∅ is NOT Nothing — it needs a FRAME, which re-entry closes into, so ∅/initial-object/von-Neumann-0/surreal-cut/poly0 live at STEP 5; numbers cascade from ∅ by successor (von Neumann) + cuts (surreal/Dedekind) → Number Zoo. (SyntacticZero recovers zero "as a horizon".)
- BRANCHING: trunk = the logical process; branches = the mathematics born at each step, rooted where it first becomes possible.
- Group objects by ORIGINATING theory (where the construct comes from), not the bucket label.
- COMPLETENESS: for each step, search the REPO and ONLINE for formalizable objects; mark ✓/⇄/○. Don't claim "exhaustive" (unbounded) — do the sweep. Philosophy-of-nothing (Parmenides/Heidegger/Hegel/śūnyatā) is UNFORMALIZABLE → exclude; but noneism IS formalized (Routley–Meyer/Sylvan/Priest/Jacquette/Zalta AOT/Free Logic/Round Square/Sosein).
- DO NOT: reinvent visuals (reuse the story page); regress objects (never summarise a populated step into category labels — this happened once and was caught); rename steps; use the wrong registers.
- Every edge is an institution relationship; the satisfaction condition is its proof.
§5 How to change / expand
- Add object: append (name,theory,status) to
OBJ[n]; add its edges to EDGES[n] (institution-classified); re-run generator.
- Formalize a vacancy: flip status v→f (or x→f when a translation lands); add the proven comorphism edge + proof handle.
- Expand a step to Step-1 depth: same repo+online sweep; group by theory; ✓/⇄/○; author its relation graph.
- New hidden reference: inject via the repr() pattern used for this block and the institution-theory block.
§6 Layout
Two-col rows: trunk (218px) | branch-zone. LEFT column (340px, .trunk = flex-column) = the spine header (number + name + gloss + theorem, stays at the TOP via .thead) with the chips-by-theory categories (Noneism, Pregeometric Physics, …) stacked UNDERNEATH it (.chips). RIGHT branch-zone (.bz = flex-column) = the 8 register icons strip ENLARGED to span the full branch width (left → near the right end), above the graph (440px, centred below) and cascade@5. main max-width 1560px. Legend at top (edge kinds + ✓/⇄/○ status + node-colour=theory). Step 1 has margin-top 34px. Dark warm palette (--paper #060504, --amber #ffb454). Forcing arrows between rows show the kernel-theorem name.
§7 Current state (2026-06-05 — honest audit)
Step 2 (audited & landed, origin/master fbc8b4574a): the two-valued subobject-classifier basis is genuinely formalized in Institution/Atlas/Step2Distinction.lean — non-degeneracy top ≠ bot (= obs_separates), a real boolClassifier.unique, classifierPreserved forced by uniqueness (the OrderIso.map_bot analogue), an institution whose Sat genuinely fails on a wrong classifier (wrong_characteristic_fails), and a genuine cross-carrier Bool ≃ Fin 2 witness (boolFin2DistinctionEquiv), with executable negative controls (junk_two_element_not_distinction axiom-free). A prior draft’s Bool-field relabeling and its 13 fiat reservoir rows (string-labeled copies of boolClassifier Bool, “equivalences” that were reflexivity) were rejected and removed. The reservoir objects (Sierpiński, 𝔽₂ graph cut, ultrafilter / 2-valued hom, Dedekind cut, indicator, decidable bit, IsCompl, Pauli-Z, Ising Z₂, Pauli exclusion, Landauer, Stern–Gerlach) are vacancies (○) — each needs its own carrier; they are NOT claimed. Closure is incomplete: the honest Atlas/ObjectKernel.lean records 6 proof-carrying rows and 127 open (closure_is_incomplete); there is no “133 rows / 0 open” final closure. Steps 3–8 are a concurrent program not audited here. Every strong edge above names a Lean theorem present on origin; vacancy edges are dashed and labelled with the carrier still to be wired.