Unbundled submonoids (deprecated) #
This file is deprecated, and is no longer imported by anything in mathlib other than other deprecated files, and test files. You should not need to import it.
This file defines unbundled multiplicative and additive submonoids. Instead of using this file,
please use Submonoid G
and AddSubmonoid A
, defined in GroupTheory.Submonoid.Basic
.
Main definitions #
IsAddSubmonoid (S : Set M)
: the predicate that S
is the underlying subset of an additive
submonoid of M
. The bundled variant AddSubmonoid M
should be used in preference to this.
IsSubmonoid (S : Set M)
: the predicate that S
is the underlying subset of a submonoid
of M
. The bundled variant Submonoid M
should be used in preference to this.
Tags #
Submonoid, Submonoids, IsSubmonoid
s
is an additive submonoid: a set containing 0 and closed under addition.
Note that this structure is deprecated, and the bundled variant AddSubmonoid A
should be
preferred.
- zero_mem : 0 ∈ s
The proposition that s contains 0.
The proposition that s is closed under addition.
Instances For
The intersection of two submonoids of a monoid M
is a submonoid of M
.
The intersection of two AddSubmonoid
s of an AddMonoid
M
is an AddSubmonoid
of M.
The intersection of an indexed set of submonoids of a monoid M
is a submonoid of M
.
The intersection of an indexed set of AddSubmonoid
s of an AddMonoid
M
is
an AddSubmonoid
of M
.
The union of an indexed, directed, nonempty set of submonoids of a monoid M
is a submonoid
of M
.
The union of an indexed, directed, nonempty set of AddSubmonoid
s of an AddMonoid
M
is an AddSubmonoid
of M
.
The set of natural number powers of an element of a monoid M
is a submonoid of M
.
The set of natural number multiples of an element of an AddMonoid
M
is
an AddSubmonoid
of M
.
A monoid is a submonoid of itself.
An AddMonoid
is an AddSubmonoid
of itself.
The preimage of a submonoid under a monoid hom is a submonoid of the domain.
The preimage of an AddSubmonoid
under an AddMonoid
hom is
an AddSubmonoid
of the domain.
The image of a submonoid under a monoid hom is a submonoid of the codomain.
The image of an AddSubmonoid
under an AddMonoid
hom is an AddSubmonoid
of the
codomain.
The image of a monoid hom is a submonoid of the codomain.
The image of an AddMonoid
hom is an AddSubmonoid
of the codomain.
Submonoids are closed under natural powers.
An AddSubmonoid
is closed under multiplication by naturals.
The set of natural number multiples of an element of an AddSubmonoid
is a subset of
the AddSubmonoid
.
Alias of IsSubmonoid.powers_subset
.
The set of natural number powers of an element of a Submonoid
is a subset of the
Submonoid
.
The product of a list of elements of a submonoid is an element of the submonoid.
The sum of a list of elements of an AddSubmonoid
is an element of the AddSubmonoid
.
The product of a multiset of elements of a submonoid of a CommMonoid
is an element of
the submonoid.
The sum of a multiset of elements of an AddSubmonoid
of an AddCommMonoid
is an element of the AddSubmonoid
.
The product of elements of a submonoid of a CommMonoid
indexed by a Finset
is an element
of the submonoid.
The sum of elements of an AddSubmonoid
of an AddCommMonoid
indexed by
a Finset
is an element of the AddSubmonoid
.
The inductively defined membership predicate for the submonoid generated by a subset of a monoid.
- basic {A : Type u_2} [AddMonoid A] {s : Set A} {a : A} : a ∈ s → AddMonoid.InClosure s a
- zero {A : Type u_2} [AddMonoid A] {s : Set A} : AddMonoid.InClosure s 0
- add {A : Type u_2} [AddMonoid A] {s : Set A} {a b : A} : AddMonoid.InClosure s a → AddMonoid.InClosure s b → AddMonoid.InClosure s (a + b)
Instances For
The inductively defined membership predicate for the Submonoid
generated by a subset of an
monoid.
- basic {M : Type u_1} [Monoid M] {s : Set M} {a : M} : a ∈ s → Monoid.InClosure s a
- one {M : Type u_1} [Monoid M] {s : Set M} : Monoid.InClosure s 1
- mul {M : Type u_1} [Monoid M] {s : Set M} {a b : M} : Monoid.InClosure s a → Monoid.InClosure s b → Monoid.InClosure s (a * b)
Instances For
The inductively defined submonoid generated by a subset of a monoid.
Equations
- Monoid.Closure s = {a : M | Monoid.InClosure s a}
Instances For
The inductively defined AddSubmonoid
generated by a subset of an AddMonoid
.
Equations
- AddMonoid.Closure s = {a : M | AddMonoid.InClosure s a}
Instances For
A subset of a monoid is contained in the submonoid it generates.
A subset of an AddMonoid
is contained in the AddSubmonoid
it generates.
The submonoid generated by a set is contained in any submonoid that contains the set.
The AddSubmonoid
generated by a set is contained in any AddSubmonoid
that
contains the set.
Given subsets t
and s
of a monoid M
, if s ⊆ t
, the submonoid of M
generated by s
is
contained in the submonoid generated by t
.
Given subsets t
and s
of an AddMonoid M
, if s ⊆ t
, the AddSubmonoid
of M
generated by s
is contained in the AddSubmonoid
generated by t
.
The submonoid generated by an element of a monoid equals the set of natural number powers of the element.
The AddSubmonoid
generated by an element of an AddMonoid
equals the set of
natural number multiples of the element.
The image under a monoid hom of the submonoid generated by a set equals the submonoid generated by the image of the set under the monoid hom.
The image under an AddMonoid
hom of the AddSubmonoid
generated by a set equals
the AddSubmonoid
generated by the image of the set under the AddMonoid
hom.
Given an element a
of the AddSubmonoid
of an AddMonoid M
generated by
a set s
, there exists a list of elements of s
whose sum is a
.
Given sets s, t
of a commutative monoid M
, x ∈ M
is in the submonoid of M
generated by
s ∪ t
iff there exists an element of the submonoid generated by s
and an element of the
submonoid generated by t
whose product is x
.
Given sets s, t
of a commutative AddMonoid M
, x ∈ M
is in the AddSubmonoid
of M
generated by s ∪ t
iff there exists an element of the AddSubmonoid
generated by s
and an element of the AddSubmonoid
generated by t
whose sum is x
.
Create a bundled submonoid from a set s
and [IsSubmonoid s]
.
Equations
- Submonoid.of h = { carrier := s, mul_mem' := ⋯, one_mem' := ⋯ }
Instances For
Create a bundled additive submonoid from a set s
and [IsAddSubmonoid s]
.
Equations
- AddSubmonoid.of h = { carrier := s, add_mem' := ⋯, zero_mem' := ⋯ }