# mathlib3documentation

linear_algebra.smodeq

# modular equivalence for submodule #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

def smodeq {R : Type u_1} [ring R] {M : Type u_2} [ M] (U : 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} [ M] {U : M} {x y : M} :
x y [SMOD U]
theorem smodeq.sub_mem {R : Type u_1} [ring R] {M : Type u_2} [ M] {U : 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} [ M] {x y : M} :
@[simp]
theorem smodeq.bot {R : Type u_1} [ring R] {M : Type u_2} [ M] {x y : M} :
x y [SMOD ] x = y
theorem smodeq.mono {R : Type u_1} [ring R] {M : Type u_2} [ M] {U₁ U₂ : 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} [ M] {U : M} (x : M) :
x x [SMOD U]
@[protected]
theorem smodeq.rfl {R : Type u_1} [ring R] {M : Type u_2} [ M] {U : M} {x : M} :
x x [SMOD U]
@[protected, instance]
def smodeq.is_refl {R : Type u_1} [ring R] {M : Type u_2} [ M] {U : M} :
(smodeq U)
@[symm]
theorem smodeq.symm {R : Type u_1} [ring R] {M : Type u_2} [ M] {U : 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} [ M] {U : 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} [ M] {U : 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} [ M] {U : 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} [ M] {U : M} {x : M} :
x 0 [SMOD U] x U
theorem smodeq.map {R : Type u_1} [ring R] {M : Type u_2} [ M] {U : M} {x y : M} {N : Type u_3} [ N] (hxy : x y [SMOD U]) (f : M →ₗ[R] N) :
f x f y [SMOD ]
theorem smodeq.comap {R : Type u_1} [ring R] {M : Type u_2} [ M] {x y : M} {N : Type u_3} [ N] (V : N) {f : M →ₗ[R] N} (hxy : f x f y [SMOD V]) :
x y [SMOD ]
theorem smodeq.eval {R : Type u_1} [comm_ring R] {I : ideal R} {x y : R} (h : x y [SMOD I]) (f : polynomial R) :