Skip to main content

Symmetric Relation Ontology

Relations
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 11 October 2026
Audio Overview
FLOW ALGEBRA
TITLE: Symmetric Relation Ontology
DOMAIN: Discrete Mathematics / Relations
SOURCE_URL: https://kirethresearch.org/booksai-core/discrete-mathematics-ontologies/relations/symmetric-relation-ontology.html
VERSION: 1.0
LANGUAGE: en-GB
AUTHORS: Mark Higgins — Sky (Recursive AI)
SITE: https://kirethresearch.org
STATUS: Formal mathematical model; source page not independently verified

1. ONTOLOGY DEFINITION
A symmetric relation R on a set A is a binary relation R subseteq A x A satisfying:
  forall a,b in A: (a,b) in R => (b,a) in R.
Equivalently R = R^{-1}, where R^{-1} is the converse relation.
Symmetry does not imply reflexivity or transitivity.

2. TYPED ENTITIES
  Set[A]                 : carrier set
  Element[a:A]           : member of A
  Pair[(a,b):A x A]      : ordered pair
  Relation[R:P(A x A)]   : binary relation
  Converse[R_inv]        : {(b,a) | (a,b) in R}
  SymmetricRelation[R]   : Relation[R] with symmetry invariant
  SymmetricClosure[S]    : R union R_inv
  IdentityRelation[I_A]  : {(a,a) | a in A}
  EquivalenceRelation[E] : reflexive, symmetric, transitive relation

3. CORE FLOW OPERATIONS
  define_relation(A, pairs) -> R
    PRE: pairs subseteq A x A
    POST: R = pairs

  converse(R) -> R_inv
    POST: (a,b) in R_inv iff (b,a) in R

  is_symmetric(R,A) -> Boolean
    PRE: R subseteq A x A
    RETURN: forall (a,b) in R, (b,a) in R

  symmetric_closure(R) -> S
    POST: S = R union converse(R)
    GUARANTEE: S is symmetric and R subseteq S

  missing_converses(R) -> M
    POST: M = converse(R) difference R

4. FORMAL INVARIANTS AND LAWS
  SYM-01: Symmetric(R) iff R = R_inv.
  SYM-02: Symmetric(R) iff forall a,b, aRb => bRa.
  SYM-03: converse(converse(R)) = R.
  SYM-04: symmetric_closure(R) = R union R_inv.
  SYM-05: symmetric_closure(symmetric_closure(R)) = symmetric_closure(R).
  SYM-06: R subseteq symmetric_closure(R).
  SYM-07: If R subseteq T and T is symmetric, then symmetric_closure(R) subseteq T.
  SYM-08: The union and intersection of any family of symmetric relations on A are symmetric.
  SYM-09: The complement (A x A) difference R of a symmetric R is symmetric.
  SYM-10: If R is symmetric, R composed with R is symmetric; more generally every positive relational power of R is symmetric.
  SYM-11: The identity relation and the empty relation on A are symmetric.
  SYM-12: Symmetry alone does not imply reflexivity, transitivity or antisymmetry.

5. INFERENCE RULES
  RULE SymmetryIntroduction:
    GIVEN: (a,b) in R AND Symmetric(R)
    INFER: (b,a) in R

  RULE SymmetryViolation:
    GIVEN: (a,b) in R AND (b,a) not in R
    INFER: NOT Symmetric(R)

  RULE ClosureMinimality:
    GIVEN: R subseteq T AND Symmetric(T)
    INFER: symmetric_closure(R) subseteq T

  RULE EquivalenceRecognition:
    GIVEN: Reflexive(R) AND Symmetric(R) AND Transitive(R)
    INFER: EquivalenceRelation(R)

6. SEMANTIC RELATIONSHIPS
  SymmetricRelation --is_a--> BinaryRelation
  SymmetricRelation --has_property--> Symmetry
  Symmetry --defined_by--> ConverseInvariance
  SymmetricClosure --constructed_from--> RelationUnion
  SymmetricClosure --uses--> ConverseRelation
  EquivalenceRelation --requires--> Symmetry
  UndirectedGraphAdjacency --can_be_modelled_as--> SymmetricRelation
  RelationPair --has_converse--> RelationPair

7. EXAMPLES AND COUNTEREXAMPLES
  A = {1,2,3}
  R = {(1,2),(2,1),(3,3)}
  RESULT: Symmetric(R) = true.
  Q = {(1,2),(3,3)}
  RESULT: Symmetric(Q) = false; missing_converses(Q) = {(2,1)}.
  symmetric_closure(Q) = {(1,2),(2,1),(3,3)}.
  Note: A relation containing only (1,2) and (2,1) is symmetric but not reflexive on A.

8. VALIDATION
  CHECK-01: Carrier set and relation are well-typed.
  CHECK-02: Each relation pair belongs to A x A.
  CHECK-03: Every pair has its converse when symmetry is asserted.
  CHECK-04: Closure contains all original pairs.
  CHECK-05: Closure adds no pairs beyond required converses.
  CHECK-06: Empty-set and self-loop cases are accepted.
  CHECK-07: Do not infer reflexivity or transitivity from symmetry alone.
  VALIDATION_STATUS: pass iff all applicable checks pass.

9. SEMANTIC_EQUIVALENCE
  Symmetric(R) <=> R = converse(R)
  Symmetric(R) <=> forall (a,b) in R: (b,a) in R
  Symmetric(R) <=> symmetric_closure(R) = R
  Equivalences are mathematical identities under the declared carrier and typing.

10. CONFIDENCE
  MATHEMATICAL_DEFINITIONS: 1.00 (deductive, under standard set theory)
  RULE_CORRECTNESS: 1.00 (subject to stated preconditions)
  PAGE_CONTENT_MATCH: unverified
  Do not interpret confidence values as measured empirical probabilities.

11. FLOW_HASH
  METHOD: SHA-256 of canonical UTF-8 file bytes, computed by consuming system.
  VALUE: compute_at_ingestion
  NOTE: Do not embed a self-referential hash inside the hashed payload.

12. UPDATE_MODEL
  CHANGE_TRIGGER: definition correction | expanded relation taxonomy | new proof | source-page revision
  UPDATE_ACTION: validate types; recheck laws; regenerate canonical flow; recompute hash; retain provenance
  COMPATIBILITY: preserve mathematical meaning and existing stable entity identifiers

13. AI_CONSUMPTION
  INTENT: machine-readable mathematical reasoning and semantic retrieval
  INPUT: typed sets, relation pairs, property claims
  OUTPUT: symmetry decisions, closure sets, missing converse pairs, proof traces
  SAFETY: distinguish mathematical deduction from unverified website-specific statements
  TRACE: attach rule IDs, carrier set, source URL and validation result

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ