AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
TITLE: Monoid Ontology
DOMAIN: Discrete Mathematics / Algebraic Structures
SOURCE_URL: https://kirethresearch.org/booksai-core/discrete-mathematics-ontologies/algebraic-structures/monoid-ontology.html
VERSION: 1.0
DATE: 2026-10-11
AUTHORS: Mark Higgins — Sky (Recursive AI)
SITE: https://kirethresearch.org
SOURCE_STATUS: Formal mathematical synthesis; live source page not independently verified.
1. ONTOLOGY DEFINITION
flow MonoidOntology v1.0:
entity Monoid := (M, operation, identity)
constraints:
M: nonempty Set
operation: M × M -> M
identity: Element(M)
forall a,b,c in M: operation(operation(a,b),c) = operation(a,operation(b,c))
forall a in M: operation(identity,a) = a = operation(a,identity)
note: Closure is encoded by the operation's type.
2. TYPED ENTITIES
Set; Element; BinaryOperation; IdentityElement; Semigroup; Monoid
CommutativeMonoid; Submonoid; MonoidHomomorphism; MonoidIsomorphism
Unit; Idempotent; FreeMonoid; GeneratedSubmonoid; CongruenceRelation
3. RELATIONSHIPS
Monoid IS_A SemigroupWithIdentity
CommutativeMonoid IS_A Monoid
Group IS_A Monoid
Submonoid SUBSTRUCTURE_OF Monoid
IdentityElement IDENTITY_FOR BinaryOperation
MonoidHomomorphism PRESERVES OperationAndIdentity
FreeMonoid GENERATED_BY Alphabet
MonoidCongruence COMPATIBLE_WITH BinaryOperation
4. CORE OPERATIONS
combine(a:M,b:M) -> M := a * b
power(a:M,n:Natural) -> M:
power(a,0) = identity
power(a,n+1) = power(a,n) * a
generated_submonoid(S subseteq M) := { finite products of elements of S, including empty product }
opposite(M) := (M, operation_op, identity), where a operation_op b := b * a
product(M,N) := (M × N, componentwise_operation, (e_M,e_N))
5. ALGEBRAIC LAWS
ASSOCIATIVITY: (a*b)*c = a*(b*c)
LEFT_IDENTITY: e*a = a
RIGHT_IDENTITY: a*e = a
IDENTITY_UNIQUENESS: if e and f are two-sided identities, then e=f
POWER_ZERO: a^0=e
POWER_ADDITION: a^(m+n)=a^m*a^n
POWER_MULTIPLICATION: (a^m)^n=a^(m*n)
COMMUTATIVITY: a*b=b*a only when the monoid is commutative
INVERSES: not required; a unit has b with a*b=b*a=e
CANCELLATION: not required for arbitrary monoids
6. HOMOMORPHISMS AND ISOMORPHISMS
hom h:M->N valid iff:
forall a,b in M: h(a*b)=h(a)*h(b)
h(e_M)=e_N
isomorphism := bijective monoid homomorphism
kernel_congruence(h) := {(a,b) in M×M | h(a)=h(b)}
image(h) := {h(a) | a in M}, a submonoid of N
composition of monoid homomorphisms is a monoid homomorphism
7. EXAMPLES AND COUNTEREXAMPLES
(NaturalNumbersIncludingZero, +, 0) is a commutative monoid.
(NaturalNumbersIncludingOne, multiplication, 1) is a commutative monoid.
(StringsOverAlphabet, concatenation, empty_string) is a free monoid.
(Functions X->X, composition, identity_function) is a monoid.
(Integers, subtraction) is not a monoid: subtraction is not associative.
(PositiveIntegers, addition) has no identity in its carrier, hence is not a monoid.
8. INFERENCE RULES
R1: Semigroup(S,*) AND exists e in S satisfying two-sided identity -> Monoid(S,*,e)
R2: Monoid(M,*,e) AND forall a,b: a*b=b*a -> CommutativeMonoid(M)
R3: Monoid(M,*,e) AND forall a exists b: a*b=b*a=e -> Group(M)
R4: Monoid(M,*,e) AND S subseteq M AND e in S AND closed(S,*) -> Submonoid(S)
R5: Homomorphism(h:M->N) AND Bijective(h) -> Isomorphism(h)
R6: Monoid(M) AND a in M -> a^0=e and a^(m+n)=a^m*a^n
9. VALIDATION
validate_carrier_nonempty(M)
validate_operation_total_and_closed(M,*)
validate_associativity(M,*)
validate_two_sided_identity(M,*,e)
validate_identity_uniqueness(M,*,e)
validate_submonoid_contains_identity_and_closed(S)
validate_homomorphism_preserves_operation_and_identity(h)
finite_model: exhaustive evaluation is possible
infinite_model: use symbolic proof or bounded tests labelled NON_PROOF
result: VALID | INVALID | UNDETERMINED
10. SEMANTIC_EQUIVALENCE
Monoid == AssociativeUnitalMagma
Monoid == SemigroupWithIdentity
Monoid != Group (groups additionally require inverses)
Monoid != Semigroup (semigroups need not have identity)
'identity element' == 'neutral element' (in this algebraic context)
semantic_scope: algebraic structures; not category-theoretic monad
11. CONFIDENCE
formal_axioms: 1.00 (mathematical definitions)
derived_laws: 1.00 when formally proven from axioms
example_classification: 1.00 when carrier and operation are as specified
external_page_alignment: UNVERIFIED
confidence_policy: do not convert unverified source alignment into a numerical claim
12. FLOW_HASH
hash_algorithm: SHA-256
canonical_input: UTF-8 NFC text of the complete flow excluding any populated FLOW_HASH value
flow_hash: COMPUTE_ON_PUBLICATION
note: no cryptographic hash is asserted without actual computation
13. UPDATE_MODEL
update_trigger: corrected axioms | new theorem | terminology revision | source revision
version_policy: increment version; preserve provenance and change log
validation_after_update: rerun all constraints, examples and inference tests
backward_compatibility: maintain canonical entity identifiers where possible
14. AI_CONSUMPTION
parse_as: typed mathematical ontology
use_for: symbolic reasoning, algebraic classification, proof checking, knowledge graph linking
require: explicit carrier, operation and identity before asserting Monoid
prohibit: inferring commutativity, inverses or cancellation from monoid axioms alone
preserve: quantifier scope, operation order, and distinctions among structure types
provenance: link all extracted facts to SOURCE_URL and flow version
END FLOW ALGEBRA