Divisibility #
This file defines the basics of the divisibility relation in the context of (Comm)
Monoid
s.
Main definitions #
Implementation notes #
The divisibility relation is defined for all monoids, and as such, depends on the order of
multiplication if the monoid is not commutative. There are two possible conventions for
divisibility in the noncommutative context, and this relation follows the convention for ordinals,
so a | b
is defined as ∃ c, b = a * c
.
Tags #
divisibility, divides
There are two possible conventions for divisibility, which coincide in a CommMonoid
.
This matches the convention for ordinals.
Transitivity of |
for use in calc
blocks.
Alias of dvd_mul_of_dvd_left
.
theorem
Dvd.intro_left
{α : Type u_1}
[CommSemigroup α]
{a : α}
{b : α}
(c : α)
(h : c * a = b)
:
a ∣ b
theorem
dvd_of_mul_left_eq
{α : Type u_1}
[CommSemigroup α]
{a : α}
{b : α}
(c : α)
(h : c * a = b)
:
a ∣ b
Alias of Dvd.intro_left
.
theorem
Dvd.elim_left
{α : Type u_1}
[CommSemigroup α]
{a : α}
{b : α}
{P : Prop}
(h₁ : a ∣ b)
(h₂ : (c : α) → b = c * a → P)
:
P
Alias of dvd_mul_of_dvd_right
.
theorem
dvd_of_mul_left_dvd
{α : Type u_1}
[CommSemigroup α]
{a : α}
{b : α}
{c : α}
(h : a * b ∣ c)
:
b ∣ c