Defining a monoid given by generators and relations #
Given relations rels on the free monoid on a type α, this file constructs the monoid
given by generators x : α and relations rels.
Main definitions #
PresentedMonoid rels: the quotient of the free monoid on a typeαby the closure of one-step reductions (arising from a binary relation on free monoid elementsrels).PresentedMonoid.of: The canonical map fromαto a presented monoid with generatorsα.PresentedMonoid.lift f: the canonical monoid homomorphismPresentedMonoid rels → M, given a functionf : α → Gfrom a typeαto a monoidMwhich satisfies the relationsrels.
Tags #
generators, relations, monoid presentations
Given a set of relations, rels, over a type α, PresentedMonoid constructs the monoid with
generators x : α and relations rels as a quotient of a congruence structure over rels.
Equations
- PresentedMonoid rel = (conGen rel).Quotient
Instances For
Given a set of relations, rels, over a type α, PresentedAddMonoid constructs
the monoid with generators x : α and relations rels as a quotient of an AddCon structure over
rels
Equations
- PresentedAddMonoid rel = (addConGen rel).Quotient
Instances For
Equations
- PresentedMonoid.instMonoid = (conGen rels).monoid
Equations
The quotient map from the free monoid on α to the presented monoid with the same generators
and the given relations rels.
Equations
- PresentedMonoid.mk rels = { toFun := Quotient.mk (conGen rels).toSetoid, map_one' := ⋯, map_mul' := ⋯ }
Instances For
The quotient map from the free additive monoid on α to the presented additive
monoid with the same generators and the given relations rels
Equations
- PresentedAddMonoid.mk rels = { toFun := Quotient.mk (addConGen rels).toSetoid, map_zero' := ⋯, map_add' := ⋯ }
Instances For
of is the canonical map from α to a presented monoid with generators x : α. The term x
is mapped to the equivalence class of the image of x in FreeMonoid α.
Equations
- PresentedMonoid.of rels x = (PresentedMonoid.mk rels) (FreeMonoid.of x)
Instances For
of is the canonical map from α to a presented additive monoid with generators x : α. The
term x is mapped to the equivalence class of the image of x in FreeAddMonoid α.
Equations
- PresentedAddMonoid.of rels x = (PresentedAddMonoid.mk rels) (FreeAddMonoid.of x)
Instances For
The generators of a presented monoid generate the presented monoid. That is, the submonoid
closure of the set of generators equals ⊤.
The generators of a presented additive monoid generate the
presented additive monoid. That is, the additive submonoid closure of the set of generators equals
⊤.
The extension of a map f : α → M that satisfies the given relations to a monoid homomorphism
from PresentedMonoid rels → M.
Equations
- PresentedMonoid.lift f h = (conGen rels).lift (FreeMonoid.lift f) ⋯
Instances For
The extension of a map f : α → M that satisfies the given relations to an
additive-monoid homomorphism from PresentedAddMonoid rels → M
Equations
- PresentedAddMonoid.lift f h = (addConGen rels).lift (FreeAddMonoid.lift f) ⋯