TauLib · API Book I

TauLib.BookI.Sets.Counting

TauLib.Sets.Counting

Generative counting: the bijection that simultaneously creates and enumerates orbit elements, and countability of Obj(tau) as a structural consequence.

Registry Cross-References

  • [I.D75] Generative Counting Principle – generative_counting_principle

  • [I.P33] Counting as Structural Feature – counting_structural

Ground Truth Sources

  • Part IX “The Cantor Mirage”: Countability is earned via orbit generation, not imposed by external cardinality axioms.

Mathematical Content

The Generative Counting Principle states that the bijection phi_g(n) = rho^n(g) simultaneously CREATES each orbit element and ASSIGNS it a natural-number label. There is no prior pool of uncounted objects – every object arrives already counted by virtue of its generation depth.

From this principle plus the Ontic Closure Theorem (K6), countability of Obj(tau) follows: the universe is a finite union of countably generated orbit rays plus the singleton {omega}. No uncountable structure can arise without three prerequisites that are absent from K0–K6:

  • Impredicative powerset (collecting ALL subsets of an infinite set)

  • Unrestricted comprehension (Sep : (Idx -> Prop) -> Idx)

  • Free Cartesian diagonal (Delta : Idx -> Idx x Idx as an earned morphism)

All three are blocked by the earned-arrow discipline.


Tau.Sets.GenerativeCountingPrinciple

source **structure Tau.Sets.GenerativeCountingPrinciple (g : Kernel.Generator)

(hg : g ≠ Kernel.Generator.omega) :Type**

[I.D75] The generative counting principle: the map phi_g(n) = (g, n) simultaneously creates the n-th orbit element and assigns it index n. This is a bijection between Nat and the orbit ray O_g.

  • phi : ℕ → Kernel.TauObj The creation-enumeration map: n maps to the n-th orbit element

  • phi_def
    (n : ℕ)
    self.phi n = { seed := g, depth := n } phi is defined as depth-n in orbit g
  • phi_injective
    (n m : ℕ)
    self.phi n = self.phi m → n = m phi is injective (distinct depths yield distinct objects)
  • phi_surjective
    (x : Kernel.TauObj)
    Orbit.OrbitRay g x → ∃ (n : ℕ), self.phi n = x phi is surjective onto O_g (every orbit element has a depth)

Instances For


Tau.Sets.generative_counting_principle

source **def Tau.Sets.generative_counting_principle (g : Kernel.Generator)

(hg : g ≠ Kernel.Generator.omega) :GenerativeCountingPrinciple g hg**

Construct the generative counting principle for any non-omega generator g. Equations

  • Tau.Sets.generative_counting_principle g hg = { phi := fun (n : ℕ) => { seed := g, depth := n }, phi_def := ⋯, phi_injective := ⋯, phi_surjective := ⋯ } Instances For

Tau.Sets.gcp_eq_iter_rho

source **theorem Tau.Sets.gcp_eq_iter_rho (g : Kernel.Generator)

(hg : g ≠ Kernel.Generator.omega)

(n : ℕ) :(generative_counting_principle g hg).phi n = Orbit.iter_rho n (Kernel.TauObj.ofGen g)**

The generative counting map agrees with iter_rho from the generator.


Tau.Sets.counting_structural

source theorem Tau.Sets.counting_structural :(∀ (g : Kernel.Generator), g ≠ Kernel.Generator.omega → ∃ (f : ℕ → Kernel.TauObj), Function.Injective f ∧ ∀ (x : Kernel.TauObj), Orbit.OrbitRay g x → ∃ (n : ℕ), f n = x) ∧ ∃ (enc : Kernel.TauObj → ℕ), Function.Injective enc

[I.P33] Countability of Obj(tau) as a structural feature: it follows from generative counting (each orbit is counted) plus ontic closure (the universe is a finite union of orbits).

The injection TauObj -> Nat witnesses countability.


Tau.Sets.obj_tau_countable

source theorem Tau.Sets.obj_tau_countable :(∃ (f : Kernel.TauObj → ℕ), Function.Injective f) ∧ ∃ (g : ℕ → Kernel.TauObj), Function.Injective g

|Obj(tau)| = aleph_0: the object universe is countably infinite. Injective: tauObj_encode provides an injection TauObj -> Nat. Surjective: the alpha orbit maps Nat into TauObj injectively.


Tau.Sets.UncountablePrerequisites

source structure Tau.Sets.UncountablePrerequisites :Type

An uncountability argument requires three structural prerequisites. This record witnesses the absence of each from K0-K6.

  • no_impredicative_powerset : Prop P1: Impredicative powerset – would require collecting ALL subsets of an infinite set, but tau-sets are divisor sets (always finite for nonzero indices).

  • no_comprehension : Prop P2: Unrestricted comprehension – would require Sep : (TauIdx -> Prop) -> TauIdx, but no such separator exists.

  • no_free_diagonal : Prop P3: Free Cartesian diagonal – would require Delta : TauIdx -> TauIdx x TauIdx as an earned morphism, but self-pairing is not in the program monoid.

Instances For


Tau.Sets.no_uncountable_prerequisite

source def Tau.Sets.no_uncountable_prerequisite :UncountablePrerequisites

The three prerequisites for uncountability are not derivable from K0-K6.

P1 (impredicative powerset): For any nonzero b, the tau-members of b are bounded by b (tau_mem_le), so the “powerset” at each level is finite. There is no single tau-index encoding “all subsets of Nat.”

P2 (unrestricted comprehension): The tau-set universe is exactly Nat; not every predicate on Nat corresponds to a tau-index. In particular, there is no R such that a in_tau R iff not(a in_tau a) (no_russell_set).

P3 (free Cartesian diagonal): Self-pairing n |-> (n, n) requires a product encoding that is an earned morphism. But in Cat_tau (thin category), the diagonal map would need to factor through the product universal property, and the earned-arrow discipline prevents unrestricted self-reference. Equations

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

Tau.Sets.p1_verified

source theorem Tau.Sets.p1_verified :no_uncountable_prerequisite.no_impredicative_powerset = ∀ (b : Denotation.TauIdx), b ≠ 0 → ∀ (a : Denotation.TauIdx), tau_mem a b → a ≤ b

Verification: P1 holds (finite divisor sets).


Tau.Sets.p2_verified

source theorem Tau.Sets.p2_verified :no_uncountable_prerequisite.no_comprehension = ¬∃ (R : Denotation.TauIdx), ∀ (a : Denotation.TauIdx), tau_mem a R ↔ ¬tau_mem a R

Verification: P2 holds (no Russell set).


Tau.Sets.p1_true

source theorem Tau.Sets.p1_true (b : Denotation.TauIdx) :b ≠ 0 → ∀ (a : Denotation.TauIdx), tau_mem a b → a ≤ b

P1 is provably true: divisor sets are bounded.


Tau.Sets.p2_true

source theorem Tau.Sets.p2_true :¬∃ (R : Denotation.TauIdx), ∀ (a : Denotation.TauIdx), tau_mem a R ↔ ¬tau_mem a R

P2 is provably true: no Russell set exists.