Module docstring
{"# Multiplication by a nonzero element in a GroupWithZero is a permutation.
"}
{"# Multiplication by a nonzero element in a GroupWithZero is a permutation.
"}
unitsEquivNeZero
definition
: G₀ˣ ≃ { a : G₀ // a ≠ 0 }
/-- In a `GroupWithZero` `G₀`, the unit group `G₀ˣ` is equivalent to the subtype of nonzero
elements. -/
@[simps] def _root_.unitsEquivNeZero : G₀ˣG₀ˣ ≃ {a : G₀ // a ≠ 0} where
toFun a := ⟨a, a.ne_zero⟩
invFun a := Units.mk0 _ a.prop
left_inv _ := Units.ext rfl
right_inv _ := rfl
Equiv.mulLeft₀
definition
(a : G₀) (ha : a ≠ 0) : Perm G₀
mulLeft_bijective₀
theorem
(a : G₀) (ha : a ≠ 0) : Function.Bijective (a * · : G₀ → G₀)
theorem _root_.mulLeft_bijective₀ (a : G₀) (ha : a ≠ 0) : Function.Bijective (a * · : G₀ → G₀) :=
(Equiv.mulLeft₀ a ha).bijective
Equiv.mulRight₀
definition
(a : G₀) (ha : a ≠ 0) : Perm G₀
mulRight_bijective₀
theorem
(a : G₀) (ha : a ≠ 0) : Function.Bijective ((· * a) : G₀ → G₀)
theorem _root_.mulRight_bijective₀ (a : G₀) (ha : a ≠ 0) : Function.Bijective ((· * a) : G₀ → G₀) :=
(Equiv.mulRight₀ a ha).bijective
Equiv.divRight₀
definition
(a : G₀) (ha : a ≠ 0) : Perm G₀
/-- Right division by a nonzero element in a `GroupWithZero` is a permutation of the
underlying type. -/
@[simps! +simpRhs]
def divRight₀ (a : G₀) (ha : a ≠ 0) : Perm G₀ where
toFun := (· / a)
invFun := (· * a)
left_inv _ := by simp [ha]
right_inv _ := by simp [ha]
Equiv.divLeft₀
definition
(a : G₀) (ha : a ≠ 0) : Perm G₀
/-- Left division by a nonzero element in a `CommGroupWithZero` is a permutation of the underlying
type. -/
@[simps! +simpRhs]
def divLeft₀ (a : G₀) (ha : a ≠ 0) : Perm G₀ where
toFun := (a / ·)
invFun := (a / ·)
left_inv _ := by simp [ha]
right_inv _ := by simp [ha]