mathlib documentation

ring_theory.​free_comm_ring

ring_theory.​free_comm_ring

def free_comm_ring  :
Type u → Type u

Equations
@[instance]

Equations
theorem free_comm_ring.​induction_on {α : Type u} {C : free_comm_ring α → Prop} (z : free_comm_ring α) :
C (-1) → (∀ (b : α), C (free_comm_ring.of b)) → (∀ (x y : free_comm_ring α), C x → C y → C (x + y)) → (∀ (x y : free_comm_ring α), C x → C y → C (x * y)) → C z

def free_comm_ring.​lift {α : Type u} {β : Type v} [comm_ring β] :
(α → β) → free_comm_ring α →+ β

Lift a map α → R to a additive group homomorphism free_comm_ring α → R. For a version producing a bundled homomorphism, see lift_hom.

Equations
@[simp]
theorem free_comm_ring.​lift_zero {α : Type u} {β : Type v} [comm_ring β] (f : α → β) :

@[simp]
theorem free_comm_ring.​lift_one {α : Type u} {β : Type v} [comm_ring β] (f : α → β) :

@[simp]
theorem free_comm_ring.​lift_of {α : Type u} {β : Type v} [comm_ring β] (f : α → β) (x : α) :

@[simp]
theorem free_comm_ring.​lift_add {α : Type u} {β : Type v} [comm_ring β] (f : α → β) (x y : free_comm_ring α) :

@[simp]
theorem free_comm_ring.​lift_neg {α : Type u} {β : Type v} [comm_ring β] (f : α → β) (x : free_comm_ring α) :

@[simp]
theorem free_comm_ring.​lift_sub {α : Type u} {β : Type v} [comm_ring β] (f : α → β) (x y : free_comm_ring α) :

@[simp]
theorem free_comm_ring.​lift_mul {α : Type u} {β : Type v} [comm_ring β] (f : α → β) (x y : free_comm_ring α) :

def free_comm_ring.​lift_hom {α : Type u} {β : Type v} [comm_ring β] :
(α → β) → free_comm_ring α →+* β

Lift of a map f : α → β to free_comm_ring α as a ring homomorphism. We don't use it as the canonical form because Lean fails to coerce it to a function.

Equations
@[simp]
theorem free_comm_ring.​coe_lift_hom {α : Type u} {β : Type v} [comm_ring β] (f : α → β) :

@[simp]
theorem free_comm_ring.​lift_pow {α : Type u} {β : Type v} [comm_ring β] (f : α → β) (x : free_comm_ring α) (n : ℕ) :

@[simp]
theorem free_comm_ring.​lift_comp_of {α : Type u} {β : Type v} [comm_ring β] (f : free_comm_ring α → β) [is_ring_hom f] :

@[simp]

def free_comm_ring.​map {α : Type u} {β : Type v} :
(α → β) → free_comm_ring α →+* free_comm_ring β

A map f : α → β produces a ring homomorphism free_comm_ring α → free_comm_ring β.

Equations
theorem free_comm_ring.​map_zero {α : Type u} {β : Type v} (f : α → β) :

theorem free_comm_ring.​map_one {α : Type u} {β : Type v} (f : α → β) :

theorem free_comm_ring.​map_of {α : Type u} {β : Type v} (f : α → β) (x : α) :

theorem free_comm_ring.​map_add {α : Type u} {β : Type v} (f : α → β) (x y : free_comm_ring α) :

theorem free_comm_ring.​map_neg {α : Type u} {β : Type v} (f : α → β) (x : free_comm_ring α) :

theorem free_comm_ring.​map_sub {α : Type u} {β : Type v} (f : α → β) (x y : free_comm_ring α) :

theorem free_comm_ring.​map_mul {α : Type u} {β : Type v} (f : α → β) (x y : free_comm_ring α) :

theorem free_comm_ring.​map_pow {α : Type u} {β : Type v} (f : α → β) (x : free_comm_ring α) (n : ℕ) :

def free_comm_ring.​is_supported {α : Type u} :
free_comm_ring α → set α → Prop

Equations
theorem free_comm_ring.​is_supported_upwards {α : Type u} {x : free_comm_ring α} {s t : set α} :
x.is_supported s → s ⊆ t → x.is_supported t

theorem free_comm_ring.​is_supported_add {α : Type u} {x y : free_comm_ring α} {s : set α} :
x.is_supported s → y.is_supported s → (x + y).is_supported s

theorem free_comm_ring.​is_supported_neg {α : Type u} {x : free_comm_ring α} {s : set α} :

theorem free_comm_ring.​is_supported_sub {α : Type u} {x y : free_comm_ring α} {s : set α} :
x.is_supported s → y.is_supported s → (x - y).is_supported s

theorem free_comm_ring.​is_supported_mul {α : Type u} {x y : free_comm_ring α} {s : set α} :
x.is_supported s → y.is_supported s → (x * y).is_supported s

theorem free_comm_ring.​is_supported_zero {α : Type u} {s : set α} :

theorem free_comm_ring.​is_supported_one {α : Type u} {s : set α} :

theorem free_comm_ring.​is_supported_int {α : Type u} {i : ℤ} {s : set α} :

Equations
@[simp]
theorem free_comm_ring.​restriction_of {α : Type u} (s : set α) [decidable_pred s] (p : α) :
⇑(free_comm_ring.restriction s) (free_comm_ring.of p) = dite (p ∈ s) (λ (H : p ∈ s), free_comm_ring.of ⟨p, H⟩) (λ (H : p ∉ s), 0)

@[simp]

@[simp]

theorem free_comm_ring.​is_supported_of {α : Type u} {p : α} {s : set α} :

theorem free_comm_ring.​exists_finite_support {α : Type u} (x : free_comm_ring α) :
∃ (s : set α), s.finite ∧ x.is_supported s

theorem free_comm_ring.​exists_finset_support {α : Type u} (x : free_comm_ring α) :
∃ (s : finset α), x.is_supported ↑s

@[instance]

Equations
  • _ = _
@[simp]
theorem free_ring.​coe_zero (α : Type u) :
↑0 = 0

@[simp]
theorem free_ring.​coe_one (α : Type u) :
↑1 = 1

@[simp]
theorem free_ring.​coe_of {α : Type u} (a : α) :

@[simp]
theorem free_ring.​coe_neg {α : Type u} (x : free_ring α) :

@[simp]
theorem free_ring.​coe_add {α : Type u} (x y : free_ring α) :
↑(x + y) = ↑x + ↑y

@[simp]
theorem free_ring.​coe_sub {α : Type u} (x y : free_ring α) :
↑(x - y) = ↑x - ↑y

@[simp]
theorem free_ring.​coe_mul {α : Type u} (x y : free_ring α) :
↑(x * y) = ↑x * ↑y

theorem free_ring.​coe_eq (α : Type u) :
coe = functor.map (λ (l : list α), ↑l)

def free_ring.​of' {R : Type u_1} {S : Type u_2} [ring R] [ring S] (e : R ≃ S) [is_ring_hom ⇑e] :
R ≃+* S

Interpret an equivalence f : R ≃ S as a ring equivalence R ≃+* S.

Equations