Documentation

CompPoly.Fields.Binary.Tower.Abstract.Algebra

Abstract Binary Tower Algebra #

Algebra maps and tower embeddings for the abstract binary tower fields.

noncomputable def BinaryTower.canonicalEmbedding (k : ) :

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

Instances For
    @[simp]
    theorem BinaryTower.BTField_add_eq (k n m : ) :
    BTField (k + n + m) = BTField (k + (n + m))
    @[simp]
    @[simp]
    theorem BinaryTower.BTField.RingHom_cast_dest_apply (k m n : ) (h_eq : m = n) (f : BTField k →+* BTField m) (x : BTField k) :
    (cast f) x = cast (f x)
    @[simp]
    theorem BinaryTower.BTField.RingHom_cast_dest_AdjoinRoot_apply (k m : ) (f : BTField k →+* AdjoinRoot (poly m)) (x : BTField k) :
    (cast f) x = cast (f x)
    @[irreducible]
    def BinaryTower.towerAlgebraMap (l r : ) (h_le : l r) :

    Auxiliary definition for towerAlgebraMap using structural recursion. This is easier to reason about in proofs than the Nat.rec version.

    Instances For

      Right associativity of the Tower Map

      theorem BinaryTower.towerAlgebraMap_succ (l r : ) (h_le : l r) :
      towerAlgebraMap l (r + 1) = (towerAlgebraMap r (r + 1) ).comp (towerAlgebraMap l r h_le)

      Left associativity of the Tower Map

      theorem BinaryTower.towerAlgebraMap_succ_last (r l : ) (h_le : l r) :
      towerAlgebraMap l (r + 1) = (towerAlgebraMap (l + 1) (r + 1) ).comp (towerAlgebraMap l (l + 1) )
      @[simp]
      theorem BinaryTower.BTField.RingHom_comp_cast {α β γ δ : } (f : BTField α →+* BTField β) (g : BTField β →+* BTField γ) (h : γ = δ) :
      (cast g).comp f = cast (g.comp f)

      Cast of composition of BTField ring homomorphism is composition of casted BTField ring homomorphism. Note that this assumes the SAME underlying instances (e.g. NonAssocSemiring) for both the input and output ring homs.

      theorem BinaryTower.towerAlgebraMap_assoc (r mid l : ) (h_l_le_mid : l mid) (h_mid_le_r : mid r) :
      towerAlgebraMap l r = (towerAlgebraMap mid r h_mid_le_r).comp (towerAlgebraMap l mid h_l_le_mid)
      @[implicit_reducible]

      Formalization of Cross-Level Algebra : For any k ≤ τ, BTField τ is an algebra over BTField k.

      @[reducible]
      noncomputable def BinaryTower.binaryAlgebraTower {l r : } (h_le : l r) :
      Instances For
        @[simp]
        theorem BinaryTower.binaryTowerAlgebra_apply_assoc (l mid r : ) (h_l_le_mid : l mid) (h_mid_le_r : mid r) (x : BTField l) :
        (algebraMap (BTField l) (BTField r)) x = (algebraMap (BTField mid) (BTField r)) ((algebraMap (BTField l) (BTField mid)) x)
        @[reducible]
        noncomputable def BinaryTower.binaryTowerModule {l r : } (h_le : l r) :

        This also provides the corresponding Module instance.

        Instances For
          @[implicit_reducible]
          noncomputable instance BinaryTower.algebra_adjacent_tower (l : ) :
          Algebra (BTField l) (BTField (l + 1))