Skip to main content

Monoid Ontology

Algebraic Structures
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 11 October 2026
Audio Overview
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
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ