File: Mathlib/RingTheory/WittVector/Teichmuller.lean

full_name: WittVector._aux_Mathlib_RingTheory_WittVector_Teichmuller___unexpand_WittVector_1
code: local notation "𝕎" => WittVector p
goal: Lean.PrettyPrinter.Unexpander

full_name: WittVector._aux_Mathlib_RingTheory_WittVector_Teichmuller___macroRules_WittVector_term𝕎_1
code: local notation "𝕎" => WittVector p
goal: Lean.Macro

full_name: WittVector.teichmullerFun
code: /-- The underlying function of the monoid hom `WittVector.teichmuller`.
The `0`-th coefficient of `teichmullerFun p r` is `r`, and all others are `0`.
-/
def teichmullerFun (r : R) : 𝕎 R 
goal: WittVector p R

full_name: _private.Mathlib.RingTheory.WittVector.Teichmuller.0.WittVector.ghostComponent_teichmullerFun
code: private theorem ghostComponent_teichmullerFun (r : R) (n : ℕ) :
    ghostComponent n (teichmullerFun p r) = r ^ p ^ n 
goal: (WittVector.ghostComponent n) (WittVector.teichmullerFun p r) = r ^ p ^ n

full_name: _private.Mathlib.RingTheory.WittVector.Teichmuller.0.WittVector.map_teichmullerFun
code: private theorem map_teichmullerFun (f : R →+* S) (r : R) :
    map f (teichmullerFun p r) = teichmullerFun p (f r) 
goal: (WittVector.map f) (WittVector.teichmullerFun p r) = WittVector.teichmullerFun p (f r)

full_name: _private.Mathlib.RingTheory.WittVector.Teichmuller.0.WittVector.teichmuller_mul_aux₁
code: private theorem teichmuller_mul_aux₁ (x y : MvPolynomial R ℚ) :
    teichmullerFun p (x * y) = teichmullerFun p x * teichmullerFun p y 
goal: WittVector.teichmullerFun p (x * y) = WittVector.teichmullerFun p x * WittVector.teichmullerFun p y

full_name: _private.Mathlib.RingTheory.WittVector.Teichmuller.0.WittVector.teichmuller_mul_aux₂
code: private theorem teichmuller_mul_aux₂ (x y : MvPolynomial R ℤ) :
    teichmullerFun p (x * y) = teichmullerFun p x * teichmullerFun p y 
goal: WittVector.teichmullerFun p (x * y) = WittVector.teichmullerFun p x * WittVector.teichmullerFun p y

full_name: WittVector.teichmuller
code: /-- The Teichmüller lift of an element of `R` to `𝕎 R`.
The `0`-th coefficient of `teichmuller p r` is `r`, and all others are `0`.
This is a monoid homomorphism. -/
def teichmuller : R →* 𝕎 R 
goal: R →* WittVector p R

full_name: WittVector.teichmuller_coeff_zero
code: @[simp]
theorem teichmuller_coeff_zero (r : R) : (teichmuller p r).coeff 0 = r 
goal: ((WittVector.teichmuller p) r).coeff 0 = r

full_name: WittVector.teichmuller_coeff_pos
code: @[simp]
theorem teichmuller_coeff_pos (r : R) : ∀ (n : ℕ) (_ : 0 < n), (teichmuller p r).coeff n = 0
  
goal: 0 < n → ((WittVector.teichmuller p) r).coeff n = 0

full_name: WittVector.teichmuller_zero
code: @[simp]
theorem teichmuller_zero : teichmuller p (0 : R) = 0 
goal: (WittVector.teichmuller p) 0 = 0

full_name: WittVector.map_teichmuller
code: /-- `teichmuller` is a natural transformation. -/
@[simp]
theorem map_teichmuller (f : R →+* S) (r : R) : map f (teichmuller p r) = teichmuller p (f r) 
goal: (WittVector.map f) ((WittVector.teichmuller p) r) = (WittVector.teichmuller p) (f r)

full_name: WittVector.ghostComponent_teichmuller
code: /-- The `n`-th ghost component of `teichmuller p r` is `r ^ p ^ n`. -/
@[simp]
theorem ghostComponent_teichmuller (r : R) (n : ℕ) :
    ghostComponent n (teichmuller p r) = r ^ p ^ n 
goal: (WittVector.ghostComponent n) ((WittVector.teichmuller p) r) = r ^ p ^ n