Abstract Binary Tower Split #
Splitting and recombination lemmas for abstract binary tower extensions.
@[simp]
theorem
BinaryTower.BTField.PowerBasis_cast_dest_eq
(k n m : ℕ)
(h_k_le_n : k ≤ n)
(h_k_le_m : k ≤ m)
(h_eq : m = n)
:
The following two theorems are used to cast the basis of BTField α to BTField β
via changing in index type : Fin (i) to Fin (j) when α ≤ β.
The power basis for BTField (k+1) over BTField k is {1, Z (k+1)}
Instances For
theorem
BinaryTower.sum_join_via_add_smul
(k : ℕ)
(h_pos : k > 0)
(a₁ a₀ b₁ b₀ : BTField (k - 1))
:
join_via_add_smul h_pos a₁ a₀ + join_via_add_smul h_pos b₁ b₀ = join_via_add_smul h_pos (a₁ + b₁) (a₀ + b₀)
(a₁ • Z k + a₀) * (b₁ • Z k + b₀) = a₁ * b₁ • (Z k)^2 + (a₁ * b₀ + a₀ * b₁) • Z k + a₀ * b₀ = a₁ * b₁ • (Z (k-1) * Z k + 1) + (a₁ * b₀ + a₀ * b₁) • Z k + a₀ * b₀ = [a₁ * b₁ * Z (k - 1) + a₁ * b₀ + a₀ * b₁] * (Z k) + (a₀ * b₀ + a₁ * b₁)
Proofs that split is the inverse of join_via_add_smul
theorem
BinaryTower.algebraMap_eq_zero_x
{i j : ℕ}
(h_le : i < j)
(x : BTField i)
:
(algebraMap (BTField i) (BTField j)) x = join_via_add_smul ⋯ 0 ((algebraMap (BTField i) (BTField (j - 1))) x)
@[simp]