Submonoids: membership criteria
In this file we prove various facts about membership in a submonoid:
list_prod_mem
,multiset_prod_mem
,prod_mem
: if each element of a collection belongs to a multiplicative submonoid, then so does their product;list_sum_mem
,multiset_sum_mem
,sum_mem
: if each element of a collection belongs to an additive submonoid, then so does their sum;pow_mem
,nsmul_mem
: ifx ∈ S
whereS
is a multiplicative (resp., additive) submonoid andn
is a natural number, thenx^n
(resp.,n •ℕ x
) belongs toS
;mem_supr_of_directed
,coe_supr_of_directed
,mem_Sup_of_directed_on
,coe_Sup_of_directed_on
: the supremum of a directed collection of submonoid is their union.sup_eq_range
,mem_sup
: supremum of two submonoidsS
,T
of a commutative monoid is the set of products;closure_singleton_eq
,mem_closure_singleton
: the multiplicative (resp., additive) closure of{x}
consists of powers (resp., natural multiples) ofx
.
Tags
submonoid, submonoids
Sum of a list of elements in an add_submonoid
is in the add_submonoid
.
Sum of a multiset of elements in an add_submonoid
of an add_comm_monoid
is
in the add_submonoid
.
Product of a multiset of elements in a submonoid of a comm_monoid
is in the submonoid.
Sum of elements in an add_submonoid
of an add_comm_monoid
indexed by a finset
is in the add_submonoid
.
Product of elements of a submonoid of a comm_monoid
indexed by a finset
is in the
submonoid.
The submonoid generated by an element of a monoid equals the set of natural number powers of the element.
The submonoid generated by an element.
Equations
- submonoid.powers n = (⇑(powers_hom N) n).mrange.copy (set.range (has_pow.pow n)) _
The add_submonoid
generated by an element of an add_monoid
equals the set of
natural number multiples of the element.
The additive submonoid generated by an element.
Equations
- add_submonoid.multiples x = (⇑(multiples_hom A) x).mrange.copy (set.range (λ (i : ℕ), i •ℕ x)) _