TauLib.BookII.Hartogs.CanonicalBasis
TauLib.BookII.Hartogs.CanonicalBasis
Cylinder generators and the canonical holomorphic basis B_τ.
Registry Cross-References
-
[II.D46] Cylinder Generator —
cylinder_gen,cylinder_gen_indicator -
[II.D45] Canonical Basis —
basis_orthogonality_check,basis_completeness_check,basis_independence_check -
[II.T31] Finite Spectral Support —
finite_spectral_support_check -
[II.P09] Projection Formula —
proj_coeff,projection_recovery_check
Mathematical Content
The canonical holomorphic basis B_τ consists of cylinder generators:
E_{k,prime_idx,v}^(sigma)(x) = 1 if reduce(x, k) mod p_i == v, else 0
where k is the stage, p_i = nth_prime(prime_idx) is a prime dividing P_k, v is the residue class, and sigma ∈ {B, C} selects the bipolar channel.
Key properties:
-
Orthogonality (II.D45): E_{k,p,v} * E_{k,p,w} = 0 for v ≠ w (same prime)
-
Completeness (II.D45): sum_{v=0}^{p-1} E_{k,p,v}(x) = 1 for all x
-
Independence (II.D45): generators for distinct primes are independent
-
Finite spectral support (II.T31): at stage k, the number of nonzero generators is at most sum of primes dividing P_k
Projection formula (II.P09): proj_coeff(f, k, prime_idx, v) = sum_{x : reduce(x,k) mod p == v} f(x)
In the indicator basis, the projection of f onto E_{k,p,v} extracts the sum of f over the residue class v mod p at stage k. The expansion f = sum_v proj_coeff(f, k, p, v) * E_{k,p,v} recovers f on Z/P_kZ.
Tau.BookII.Hartogs.cylinder_gen
source **def Tau.BookII.Hartogs.cylinder_gen (k prime_idx v : Denotation.TauIdx)
(_sigma : Bool)
(x : Denotation.TauIdx) :ℤ**
[II.D46] Cylinder generator E_{k,prime_idx,v}^(sigma)(x).
Returns 1 if x (reduced to stage k) falls in residue class v modulo the prime p_{prime_idx}, and 0 otherwise. Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.cylinder_gen_indicator
source def Tau.BookII.Hartogs.cylinder_gen_indicator (k prime_idx v x : Denotation.TauIdx) :Bool
Cylinder generator as Bool indicator (for decidable checks). Equations
- Tau.BookII.Hartogs.cylinder_gen_indicator k prime_idx v x = (Tau.Polarity.nth_prime prime_idx != 0 && Tau.Polarity.reduce x k % Tau.Polarity.nth_prime prime_idx == v) Instances For
Tau.BookII.Hartogs.ortho_pair
source def Tau.BookII.Hartogs.ortho_pair (k pi_idx v w : Denotation.TauIdx) :Bool
Helper: check orthogonality of generators for residue classes v, w at stage k, prime pi_idx, for all x in [0, P_k). Equations
- Tau.BookII.Hartogs.ortho_pair k pi_idx v w = Tau.BookII.Hartogs.ortho_pair.go k pi_idx v w 0 (Tau.Polarity.primorial k) Instances For
Tau.BookII.Hartogs.ortho_pair.go
source@[irreducible]
**def Tau.BookII.Hartogs.ortho_pair.go (k pi_idx v w : Denotation.TauIdx)
(x fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.basis_orthogonality_check
source def Tau.BookII.Hartogs.basis_orthogonality_check (k_max bound : Denotation.TauIdx) :Bool
[II.D45, orthogonality] For a fixed stage k and prime p_{prime_idx}, the generators for distinct residue classes v and w are orthogonal: E_{k,p,v}(x) * E_{k,p,w}(x) = 0 for all x when v ≠ w. Equations
- Tau.BookII.Hartogs.basis_orthogonality_check k_max bound = Tau.BookII.Hartogs.basis_orthogonality_check.go k_max 1 1 0 0 ((k_max + 1) * (k_max + 1) * (bound + 1)) Instances For
Tau.BookII.Hartogs.basis_orthogonality_check.go
source@[irreducible]
**def Tau.BookII.Hartogs.basis_orthogonality_check.go (k_max : Denotation.TauIdx)
(k pi_idx v w fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.gen_sum
source def Tau.BookII.Hartogs.gen_sum (k pi_idx x : Denotation.TauIdx) :ℤ
Helper: sum of cylinder generators over residue classes v=0..p-1 at stage k, prime pi_idx, for a given x. Equations
- Tau.BookII.Hartogs.gen_sum k pi_idx x = Tau.BookII.Hartogs.gen_sum.go k pi_idx x 0 (Tau.Polarity.nth_prime pi_idx + 1) 0 Instances For
Tau.BookII.Hartogs.gen_sum.go
source@[irreducible]
**def Tau.BookII.Hartogs.gen_sum.go (k pi_idx x : Denotation.TauIdx)
(v fuel : ℕ)
(acc : ℤ) :ℤ**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.basis_completeness_check
source def Tau.BookII.Hartogs.basis_completeness_check (k_max bound : Denotation.TauIdx) :Bool
[II.D45, completeness] For a fixed stage k and prime p_{prime_idx}, sum_{v=0}^{p-1} E_{k,p,v}(x) = 1 for all x. Equations
- Tau.BookII.Hartogs.basis_completeness_check k_max bound = Tau.BookII.Hartogs.basis_completeness_check.go k_max 1 1 0 ((k_max + 1) * (k_max + 1) * (bound + 1)) Instances For
Tau.BookII.Hartogs.basis_completeness_check.go
source@[irreducible]
**def Tau.BookII.Hartogs.basis_completeness_check.go (k_max : Denotation.TauIdx)
(k pi_idx x fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.indep_witness
source def Tau.BookII.Hartogs.indep_witness (k pi1 pi2 : Denotation.TauIdx) :Bool
Helper: find a witness x where E_{k,p1,0}(x) = 1 and E_{k,p2,0}(x) = 1. Equations
- Tau.BookII.Hartogs.indep_witness k pi1 pi2 = Tau.BookII.Hartogs.indep_witness.go k pi1 pi2 0 (Tau.Polarity.primorial k) Instances For
Tau.BookII.Hartogs.indep_witness.go
source@[irreducible]
**def Tau.BookII.Hartogs.indep_witness.go (k pi1 pi2 : Denotation.TauIdx)
(x fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.basis_independence_check
source def Tau.BookII.Hartogs.basis_independence_check (k_max : Denotation.TauIdx) :Bool
[II.D45, independence] Generators for distinct primes at the same stage are independent: CRT guarantees simultaneous residue solutions. Equations
- Tau.BookII.Hartogs.basis_independence_check k_max = Tau.BookII.Hartogs.basis_independence_check.go k_max 2 1 2 (k_max * k_max * k_max + 1) Instances For
Tau.BookII.Hartogs.basis_independence_check.go
source@[irreducible]
**def Tau.BookII.Hartogs.basis_independence_check.go (k_max : Denotation.TauIdx)
(k pi1 pi2 fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.canonical_basis_check
source def Tau.BookII.Hartogs.canonical_basis_check (k_max bound : Denotation.TauIdx) :Bool
[II.D45] Full canonical basis verification: orthogonality + completeness + independence. Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.count_nonzero_generators
source def Tau.BookII.Hartogs.count_nonzero_generators (k _x : Denotation.TauIdx) :ℕ
[II.T31] Count of nonzero cylinder generators at stage k for a given x. At stage k, each prime contributes exactly 1 active residue class. Equations
- Tau.BookII.Hartogs.count_nonzero_generators k _x = Tau.BookII.Hartogs.count_nonzero_generators.go k 1 (k + 1) 0 Instances For
Tau.BookII.Hartogs.count_nonzero_generators.go
source@[irreducible]
**def Tau.BookII.Hartogs.count_nonzero_generators.go (k : Denotation.TauIdx)
(pi_idx fuel acc : ℕ) :ℕ**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.prime_sum
source def Tau.BookII.Hartogs.prime_sum (k : Denotation.TauIdx) :ℕ
Sum of primes dividing P_k: the spectral support bound. Equations
- Tau.BookII.Hartogs.prime_sum k = Tau.BookII.Hartogs.prime_sum.go k 1 (k + 1) 0 Instances For
Tau.BookII.Hartogs.prime_sum.go
source@[irreducible]
**def Tau.BookII.Hartogs.prime_sum.go (k : Denotation.TauIdx)
(i fuel acc : ℕ) :ℕ**
Equations
- Tau.BookII.Hartogs.prime_sum.go k i fuel acc = if fuel = 0 then acc else if i > k then acc else Tau.BookII.Hartogs.prime_sum.go k (i + 1) (fuel - 1) (acc + Tau.Polarity.nth_prime i) Instances For
Tau.BookII.Hartogs.finite_spectral_support_check
source def Tau.BookII.Hartogs.finite_spectral_support_check (k_max bound : Denotation.TauIdx) :Bool
[II.T31] Finite spectral support check: at each stage k, the count of active generators equals k, which is <= sum of p_i. Equations
- Tau.BookII.Hartogs.finite_spectral_support_check k_max bound = Tau.BookII.Hartogs.finite_spectral_support_check.go k_max 1 0 ((k_max + 1) * (bound + 1)) Instances For
Tau.BookII.Hartogs.finite_spectral_support_check.go
source@[irreducible]
**def Tau.BookII.Hartogs.finite_spectral_support_check.go (k_max : Denotation.TauIdx)
(k x fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.proj_coeff
source **def Tau.BookII.Hartogs.proj_coeff (f : Denotation.TauIdx → ℤ)
(k prime_idx v : Denotation.TauIdx) :ℤ**
[II.P09] Spectral projection coefficient: proj_coeff(f, k, prime_idx, v) = sum over x in Z/P_kZ of f(x) * E_{k,p,v}(x). Equations
- Tau.BookII.Hartogs.proj_coeff f k prime_idx v = Tau.BookII.Hartogs.proj_coeff.go f k prime_idx v 0 (Tau.Polarity.primorial k) 0 Instances For
Tau.BookII.Hartogs.proj_coeff.go
source@[irreducible]
**def Tau.BookII.Hartogs.proj_coeff.go (f : Denotation.TauIdx → ℤ)
(k prime_idx v : Denotation.TauIdx)
(x fuel : ℕ)
(acc : ℤ) :ℤ**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.projection_delta_check
source def Tau.BookII.Hartogs.projection_delta_check (k_max : Denotation.TauIdx) :Bool
[II.P09] Projection delta check: for delta_a(x) = (x == a ? 1 : 0), proj_coeff(delta_a, k, pi, a mod p) = 1 for all a in [0, P_k). Equations
- Tau.BookII.Hartogs.projection_delta_check k_max = Tau.BookII.Hartogs.projection_delta_check.go k_max 1 1 0 (k_max * k_max * 100 + 1) Instances For
Tau.BookII.Hartogs.projection_delta_check.go
source@[irreducible]
**def Tau.BookII.Hartogs.projection_delta_check.go (k_max : Denotation.TauIdx)
(k pi_idx a fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.projection_recovery_check
source def Tau.BookII.Hartogs.projection_recovery_check (k_max : Denotation.TauIdx) :Bool
[II.P09] Projection recovery check: for f(x) = 1, proj_coeff(1, k, pi, v) = P_k / p for each v. Equations
- Tau.BookII.Hartogs.projection_recovery_check k_max = Tau.BookII.Hartogs.projection_recovery_check.go k_max 1 1 0 (k_max * k_max * 20 + 1) Instances For
Tau.BookII.Hartogs.projection_recovery_check.go
source@[irreducible]
**def Tau.BookII.Hartogs.projection_recovery_check.go (k_max : Denotation.TauIdx)
(k pi_idx v fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.bipolar_cylinder_gen
source **def Tau.BookII.Hartogs.bipolar_cylinder_gen (_k prime_idx v : Denotation.TauIdx)
(sigma : Bool)
(x : Denotation.TauIdx) :ℤ**
Bipolar cylinder generator: applied to the B or C coordinate of the ABCD decomposition. Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.bipolar_channel_orthogonality
source def Tau.BookII.Hartogs.bipolar_channel_orthogonality (bound : Denotation.TauIdx) :Bool
Bipolar orthogonality: B-channel and C-channel projections have zero cross-product. Equations
- Tau.BookII.Hartogs.bipolar_channel_orthogonality bound = Tau.BookII.Hartogs.bipolar_channel_orthogonality.go bound 2 (bound + 1) Instances For
Tau.BookII.Hartogs.bipolar_channel_orthogonality.go
source@[irreducible]
**def Tau.BookII.Hartogs.bipolar_channel_orthogonality.go (bound : Denotation.TauIdx)
(x fuel : ℕ) :Bool**
Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.full_canonical_basis_check
source def Tau.BookII.Hartogs.full_canonical_basis_check (k_max bound : Denotation.TauIdx) :Bool
Full check combining canonical basis, finite spectral support, and projection formula. Equations
- One or more equations did not get rendered due to their size. Instances For
Tau.BookII.Hartogs.basis_ortho_3_30
source theorem Tau.BookII.Hartogs.basis_ortho_3_30 :basis_orthogonality_check 3 30 = true
Tau.BookII.Hartogs.basis_complete_3_30
source theorem Tau.BookII.Hartogs.basis_complete_3_30 :basis_completeness_check 3 30 = true
Tau.BookII.Hartogs.basis_indep_4
source theorem Tau.BookII.Hartogs.basis_indep_4 :basis_independence_check 4 = true
Tau.BookII.Hartogs.basis_3_30
source theorem Tau.BookII.Hartogs.basis_3_30 :canonical_basis_check 3 30 = true
Tau.BookII.Hartogs.spectral_support_3_30
source theorem Tau.BookII.Hartogs.spectral_support_3_30 :finite_spectral_support_check 3 30 = true
Tau.BookII.Hartogs.proj_delta_3
source theorem Tau.BookII.Hartogs.proj_delta_3 :projection_delta_check 3 = true
Tau.BookII.Hartogs.proj_recovery_3
source theorem Tau.BookII.Hartogs.proj_recovery_3 :projection_recovery_check 3 = true
Tau.BookII.Hartogs.bipolar_ortho_20
source theorem Tau.BookII.Hartogs.bipolar_ortho_20 :bipolar_channel_orthogonality 20 = true
Tau.BookII.Hartogs.full_basis_3_20
source theorem Tau.BookII.Hartogs.full_basis_3_20 :full_canonical_basis_check 3 20 = true