mathlib documentation

linear_algebra.smodeq

modular equivalence for submodule #

def smodeq {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] (U : submodule R M) (x y : M) :
Prop

A predicate saying two elements of a module are equivalent modulo a submodule.

Equations
Instances for smodeq
@[protected]
theorem smodeq.def {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x y : M} :
theorem smodeq.sub_mem {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x y : M} :
x ≡ y [SMOD U] ↔ x - y ∈ U
@[simp]
theorem smodeq.top {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {x y : M} :
@[simp]
theorem smodeq.bot {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {x y : M} :
x ≡ y [SMOD ⊥] ↔ x = y
theorem smodeq.mono {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U₁ U₂ : submodule R M} {x y : M} (HU : U₁ ≤ U₂) (hxy : x ≡ y [SMOD U₁]) :
x ≡ y [SMOD U₂]
@[protected, refl]
theorem smodeq.refl {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} (x : M) :
x ≡ x [SMOD U]
@[protected]
theorem smodeq.rfl {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x : M} :
x ≡ x [SMOD U]
@[protected, instance]
def smodeq.is_refl {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} :
@[symm]
theorem smodeq.symm {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x y : M} (hxy : x ≡ y [SMOD U]) :
y ≡ x [SMOD U]
@[trans]
theorem smodeq.trans {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x y z : M} (hxy : x ≡ y [SMOD U]) (hyz : y ≡ z [SMOD U]) :
x ≡ z [SMOD U]
theorem smodeq.add {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x₁ x₂ y₁ y₂ : M} (hxy₁ : x₁ ≡ y₁ [SMOD U]) (hxy₂ : x₂ ≡ y₂ [SMOD U]) :
x₁ + x₂ ≡ y₁ + y₂ [SMOD U]
theorem smodeq.smul {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x y : M} (hxy : x ≡ y [SMOD U]) (c : R) :
c • x ≡ c • y [SMOD U]
theorem smodeq.zero {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x : M} :
x ≡ 0 [SMOD U] ↔ x ∈ U
theorem smodeq.map {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {U : submodule R M} {x y : M} {N : Type u_3} [add_comm_group N] [module R N] (hxy : x ≡ y [SMOD U]) (f : M →ₗ[R] N) :
theorem smodeq.comap {R : Type u_1} [ring R] {M : Type u_2} [add_comm_group M] [module R M] {x y : M} {N : Type u_3} [add_comm_group N] [module R N] (V : submodule R N) {f : M →ₗ[R] N} (hxy : ⇑f x ≡ ⇑f y [SMOD V]) :
theorem smodeq.eval {R : Type u_1} [comm_ring R] {I : ideal R} {x y : R} (h : x ≡ y [SMOD I]) (f : polynomial R) :