Documentation

CompPoly.Fields.Binary.Tower.Concrete.Field

Concrete Binary Tower Field #

Field-structure lemmas for successive levels of the concrete binary tower.

Lemmas of field properties at level k that depends on field properties at level (k-1)

theorem ConcreteBinaryTower.concrete_mul_eq {k : โ„•} {h_k : k > 0} (prevBTFieldProps : ConcreteBTFieldProps (k - 1)) (a b : ConcreteBTField k) {aโ‚ aโ‚€ bโ‚ bโ‚€ : ConcreteBTField (k - 1)} (h_a : (aโ‚, aโ‚€) = split h_k a) (h_b : (bโ‚, bโ‚€) = split h_k b) :
concrete_mul a b = join h_k (concrete_mul aโ‚€ bโ‚ + concrete_mul bโ‚€ aโ‚ + concrete_mul (concrete_mul aโ‚ bโ‚) (Z (k - 1))) (concrete_mul aโ‚€ bโ‚€ + concrete_mul aโ‚ bโ‚)
theorem ConcreteBinaryTower.concrete_mul_comm {k : โ„•} {h_k : k > 0} (prevBTFieldProps : ConcreteBTFieldProps (k - 1)) (a b : ConcreteBTField k) :
theorem ConcreteBinaryTower.concrete_mul_assoc {k : โ„•} {h_k : k > 0} (prevBTFieldProps : ConcreteBTFieldProps (k - 1)) (a b c : ConcreteBTField k) :
theorem ConcreteBinaryTower.concrete_mul_left_distrib {k : โ„•} {h_k : k > 0} (prevBTFieldProps : ConcreteBTFieldProps (k - 1)) (a b c : ConcreteBTField k) :
theorem ConcreteBinaryTower.concrete_mul_right_distrib {k : โ„•} {h_k : k > 0} (prevBTFieldProps : ConcreteBTFieldProps (k - 1)) (a b c : ConcreteBTField k) :
theorem ConcreteBinaryTower.norm_of_ne_zero_is_ne_zero {k : โ„•} {h_k_gt_0 : k > 0} (prevBTFieldResult : ConcreteBTFStepResult (k - 1)) (a : ConcreteBTField k) (h_a_ne_zero : a โ‰  0) :
have aโ‚ := (split h_k_gt_0 a).1; have aโ‚€ := (split h_k_gt_0 a).2; concrete_mul aโ‚€ (aโ‚€ + concrete_mul aโ‚ (Z (k - 1))) + concrete_mul aโ‚ aโ‚ โ‰  0

Inductive tower construction, using lemmas from BTFieldPropsOneLevelLiftingLemmas

theorem ConcreteBinaryTower.Z_square_eq (k : โ„•) (prevBTFieldProps : ConcreteBTFieldProps k) (curBTFieldProps : ConcreteBTFieldProps (k + 1)) :
Z (k + 1) ^ 2 = join โ‹ฏ (Z k) 1
@[reducible]
Instances For

    The canonical ring homomorphism embedding ConcreteBTField k into ConcreteBTField (k + 1). This is the AdjoinRoot.of map.

    Instances For
      @[implicit_reducible]

      adjoined root of poly k, generator of successor field BTField (k + 1)

      Instances For