TauLib · API Book I

TauLib.BookI.Kernel.Axioms

TauLib.Kernel.Axioms

The six structural axioms K1–K6 of Category τ.

The zeroth axiom K0 (Universe Postulate) is implicit in Lean’s type system: the declarations Generator : Type and TauObj : Type postulate the existence of the universe of discourse. See TauLib.Kernel.Signature for the K0 documentation.

Registry Cross-References

  • [I.K1] Strict Order — K1_strict_order

  • [I.K2] Omega Fixed Point — K2_omega_fixed

  • [I.K3] Orbit-Seeded Generation — K3_orbit_seeded

  • [I.K4] No-Jump / Cover — K4_no_jump

  • [I.K5] Beacon Non-Successor — K5_beacon_non_succ

  • [I.K6] Object Closure — K6_object_closure

Mathematical Content

The 2nd Edition compresses the 1st Edition’s 9 axioms into 6 structural axioms (K1–K6), plus the zeroth axiom K0 (Universe Postulate). K1–K6 are purely about generation and closure. All structural consequences are deferred to Parts II–III.

These axioms operate on the TauObj type, which represents all objects of τ (generators + orbit elements produced by ρ).


Tau.Kernel.TauObj

source structure Tau.Kernel.TauObj :Type

Objects of Category τ: either a generator or an orbit element ρⁿ(g). This is the type AFTER the generative act (Part II).

An object is represented by its seed generator and the number of ρ-applications. The generator ω with n=0 is the beacon; ω with n>0 collapses to ω (K2).

Depth convention: depth 0 = the generator itself (no ρ applied). Orbit elements start at depth 1: α_1 = ⟨α, 1⟩ = ρ(α). The generator α = ⟨α, 0⟩ is the seed, NOT an orbit element “α_0”.

NOTE: This representation makes K6 (object closure) definitional rather than axiomatic: every TauObj is by construction in some orbit ray or is ω.

  • seed : Generator The seed generator of this object’s orbit ray

  • depth : Nat Number of ρ-applications (0 = the generator itself, ≥1 = orbit element)

Instances For


Tau.Kernel.instDecidableEqTauObj

source instance Tau.Kernel.instDecidableEqTauObj :DecidableEq TauObj

Equations

  • Tau.Kernel.instDecidableEqTauObj = Tau.Kernel.instDecidableEqTauObj.decEq

Tau.Kernel.instDecidableEqTauObj.decEq

source def Tau.Kernel.instDecidableEqTauObj.decEq (x✝ x✝¹ : TauObj) :Decidable (x✝ = x✝¹)

Equations

  • Tau.Kernel.instDecidableEqTauObj.decEq { seed := a, depth := a_1 } { seed := b, depth := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯ Instances For

Tau.Kernel.instReprTauObj.repr

source def Tau.Kernel.instReprTauObj.repr :TauObj → Nat → Std.Format

Equations

  • One or more equations did not get rendered due to their size. Instances For

Tau.Kernel.instReprTauObj

source instance Tau.Kernel.instReprTauObj :Repr TauObj

Equations

  • Tau.Kernel.instReprTauObj = { reprPrec := Tau.Kernel.instReprTauObj.repr }

Tau.Kernel.TauObj.ofGen

source def Tau.Kernel.TauObj.ofGen (g : Generator) :TauObj

Construct a TauObj from a generator (depth 0). Equations

  • Tau.Kernel.TauObj.ofGen g = { seed := g, depth := 0 } Instances For

Tau.Kernel.rho

source def Tau.Kernel.rho (x : TauObj) :TauObj

[I.D02] The progression operator ρ: sole primitive iterator. ρ(ω) = ω (K2 omega fixed point); otherwise increments depth. Equations

  • Tau.Kernel.rho x = match x.seed with | Tau.Kernel.Generator.omega => x | x_1 => { seed := x.seed, depth := x.depth + 1 } Instances For

Tau.Kernel.K1_strict_order

source theorem Tau.Kernel.K1_strict_order :Generator.alpha.toNat < Generator.pi.toNat ∧ Generator.pi.toNat < Generator.gamma.toNat ∧ Generator.gamma.toNat < Generator.eta.toNat ∧ Generator.eta.toNat < Generator.omega.toNat

[I.K1] Strict Order: α < π < γ < η < ω is a strict total order on the 5 generators.

In our representation, this holds definitionally via Generator.toNat.


Tau.Kernel.K2_omega_fixed

source theorem Tau.Kernel.K2_omega_fixed (n : Nat) :rho { seed := Generator.omega, depth := n } = { seed := Generator.omega, depth := n }

[I.K2] Omega Fixed Point: ρ(ω) = ω; ω absorbs all operations.

This holds definitionally from our rho definition.


Tau.Kernel.inOrbitRay

source **def Tau.Kernel.inOrbitRay (g : Generator)

(x : TauObj) :Prop**

[I.K3] Orbit-Seeded Generation: Each non-omega generator g seeds its orbit ray O_g = {ρⁿ(g) : n ≥ 0}.

We define the orbit ray predicate. Equations

  • Tau.Kernel.inOrbitRay g x = (x.seed = g ∧ g ≠ Tau.Kernel.Generator.omega) Instances For

Tau.Kernel.K3_orbit_seeded

source **theorem Tau.Kernel.K3_orbit_seeded (g : Generator)

(h : g ≠ Generator.omega) :inOrbitRay g (TauObj.ofGen g)**

[I.K3] Every non-omega generator seeds an orbit ray containing itself.


Tau.Kernel.K4_no_jump

source **theorem Tau.Kernel.K4_no_jump (g : Generator)

(hg : g ≠ Generator.omega)

(n : Nat) :rho { seed := g, depth := n } = { seed := g, depth := n + 1 }**

[I.K4] No-Jump / Cover: ρ acts as a successor within each orbit (no skipping). The cover relation is immediate: ρⁿ(g) covers ρⁿ⁻¹(g).


Tau.Kernel.K5_beacon_non_succ

source **theorem Tau.Kernel.K5_beacon_non_succ (g : Generator)

(hg : g ≠ Generator.omega)

(n : Nat) :(rho { seed := g, depth := n }).seed = g**

[I.K5] Beacon Non-Successor: ω is NOT in the image of ρ restricted to any orbit ray. No finite iteration of ρ on a non-omega generator reaches ω.


Tau.Kernel.K5_omega_unreachable

source **theorem Tau.Kernel.K5_omega_unreachable (g : Generator)

(hg : g ≠ Generator.omega)

(n : Nat) :{ seed := g, depth := n } ≠ { seed := Generator.omega, depth := 0 }**

[I.K5 corollary] ω is unreachable: no orbit element has seed = omega (except ω itself with depth 0).


Tau.Kernel.K6_object_closure

source theorem Tau.Kernel.K6_object_closure (x : TauObj) :x.seed = Generator.alpha ∨ x.seed = Generator.pi ∨ x.seed = Generator.gamma ∨ x.seed = Generator.eta ∨ x.seed = Generator.omega

[I.K6] Object Closure: Obj(τ) = {ω} ∪ O_α ∪ O_π ∪ O_γ ∪ O_η. No other objects exist.

In our representation, this is definitional: every TauObj is constructed from a Generator seed, and Generator has exactly 5 constructors.


Tau.Kernel.gen_distinct

source theorem Tau.Kernel.gen_distinct (a b : Generator) :a ≠ b → a.toNat ≠ b.toNat

[I.P01] Generator distinctness: all five generators are pairwise distinct.


Tau.Kernel.rho_injective

source **theorem Tau.Kernel.rho_injective (g : Generator)

(hg : g ≠ Generator.omega)

(n m : Nat) :rho { seed := g, depth := n } = rho { seed := g, depth := m } → n = m**

[I.P02] ρ is injective on each orbit ray.