Skip to main content

Symbol Entity Graph Ontology

AI Semantic Library Mathematical Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 15 October 2026
Audio Overview
FLOW ALGEBRA
Symbol Entity Graph Ontology
Kireth Research Semantic Library
Source: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/ai-semantic-library-mathematical-entities/symbol-entity-graph-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Version: 1.0 | 2026-10-15

1. PURPOSE
Model mathematical symbols as typed, context-dependent entities in a graph. Distinguish glyph identity, semantic meaning, binding scope, expression occurrence and provenance. Support reproducible parsing, resolution, validation, equivalence and AI retrieval.

2. ENTITY TYPES
SymbolEntity := {id, glyph, canonical_form, notation_system, kind, namespace, context_id, provenance_id}
SymbolOccurrence := {id, symbol_id, expression_id, span, scope_id, role}
MeaningEntity := {id, concept, domain, definition, type_signature}
ExpressionEntity := {id, syntax_tree, domain, assumptions}
ScopeEntity := {id, parent_scope, bound_identifiers}
NotationEntity := {id, convention, locale, rendering}
SourceEntity := {id, source_uri, version, attribution, timestamp}
ConfidenceRecord := {id, subject_id, score, evidence, method, calibration}

3. RELATION TYPES
DENOTES(SymbolEntity, MeaningEntity, Context)
OCCURS_IN(SymbolOccurrence, ExpressionEntity)
INSTANCE_OF(SymbolEntity, SymbolKind)
BOUND_IN(SymbolOccurrence, ScopeEntity)
REFERS_TO(SymbolOccurrence, SymbolEntity)
HAS_TYPE(SymbolEntity, MathematicalType)
OPERATES_ON(SymbolEntity, OperandType)
ALIAS_OF(SymbolEntity, SymbolEntity, Context)
EQUIVALENT_TO(MeaningEntity, MeaningEntity, Assumptions)
DEPENDS_ON(MeaningEntity, Assumption)
DERIVED_FROM(Entity, SourceEntity)
CONFLICTS_WITH(Interpretation, Interpretation, Context)

4. CORE FLOW
flow SymbolEntityGraph(input, context, sources):
  tokens := TOKENISE(input)
  occurrences := EXTRACT_SYMBOL_OCCURRENCES(tokens)
  scopes := RESOLVE_SCOPES(occurrences, context)
  candidates := GENERATE_MEANING_CANDIDATES(occurrences, context)
  typed := TYPE_CHECK(candidates, context.assumptions)
  resolved := DISAMBIGUATE(typed, scopes, context)
  graph := BUILD_TYPED_GRAPH(resolved, occurrences, sources)
  validation := VALIDATE_GRAPH(graph)
  confidence := ASSESS_CONFIDENCE(graph, validation)
  return PUBLISH(graph, validation, confidence, provenance=sources)

5. IDENTITY AND CONTEXT RULES
R1: Identical glyphs do not imply identical mathematical meanings.
R2: Symbol identity must include notation namespace and semantic context.
R3: A bound variable occurrence resolves to its nearest valid binding scope.
R4: Free variables remain unresolved until a declaration or explicit assumption exists.
R5: An overloaded operator must be resolved against operand types and context.
R6: Rendering variants may share a semantic identity only when justified by notation rules.
R7: Renaming a bound variable consistently preserves alpha-equivalence; renaming a free variable does not automatically preserve meaning.
R8: Equality of printed forms does not establish equality of typed expressions.

6. SYMBOL CLASSIFICATION
kinds := {variable, constant, parameter, operator, relation, function,
          quantifier, delimiter, index, tensor_symbol, unit_symbol,
          set_symbol, logical_connective, placeholder}
CLASSIFY(glyph, syntax_position, declarations, domain) -> candidate_kinds
REQUIRE kind-compatible type_signature for every resolved interpretation.

7. GRAPH CONSTRUCTION
NODE(SymbolEntity) -> stable identifier plus semantic metadata
NODE(SymbolOccurrence) -> unique expression position and scope
EDGE(REFERS_TO) -> occurrence-to-symbol identity
EDGE(DENOTES) -> context-qualified symbol-to-meaning link
EDGE(DERIVED_FROM) -> source traceability
MERGE nodes only if identity criteria and namespace rules pass.
Preserve distinct nodes for unresolved homographs.

8. SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE(a, b, assumptions):
  require TYPE_COMPATIBLE(a, b)
  require CONTEXT_COMPATIBLE(a, b)
  result := PROVE_EQUIVALENCE(a, b, assumptions)
  return {status: proved | disproved | unknown, proof: result.evidence}
Never infer semantic equivalence from string similarity alone.

9. VALIDATION
VALIDATE_GRAPH(g):
  check UNIQUE_IDENTIFIERS(g)
  check VALID_RELATION_SIGNATURES(g)
  check SCOPE_CONSISTENCY(g)
  check TYPE_CONSISTENCY(g)
  check NO_UNSUPPORTED_EQUIVALENCE_ASSERTIONS(g)
  check PROVENANCE_LINKS(g)
  check ASSUMPTION_DEPENDENCIES(g)
  return {valid, errors, warnings, unresolved}
A graph with unresolved meanings may be partially valid but not fully resolved.

10. CONFIDENCE
CONFIDENCE(entity, evidence):
  score := CALIBRATED_ESTIMATE(evidence)
  return {score: score, evidence: evidence, method: calibration_method}
Confidence is not proof. A formally verified relation records proof status separately.
Do not assign fabricated numerical confidence where evidence is insufficient.

11. PROVENANCE
PROVENANCE(node) := {source_uri, extraction_method, author,
                     retrieved_at, source_version, assumptions}
Each derived relationship should retain a derivation chain to its input entities.

12. FLOW HASH
FLOW_HASH(graph):
  canonical := CANONICAL_SERIALISE(graph, include_types=true,
                                   include_context=true, include_assumptions=true)
  return SHA256(canonical)
Canonicalisation must fix ordering and encoding; exclude volatile retrieval metadata
from the semantic digest or store it in a separate provenance digest.

13. UPDATE MODEL
UPDATE_MODEL(existing_graph, changes):
  changed := DETECT_CHANGED_SYMBOLS_AND_CONTEXTS(changes)
  affected := TRACE_DEPENDENTS(existing_graph, changed)
  recomputed := RE_RESOLVE_AND_VALIDATE(affected)
  return VERSION_GRAPH(APPLY(existing_graph, recomputed), preserve_history=true)
Never silently overwrite historical interpretations.

14. AI CONSUMPTION
AI_CONSUMPTION(query, graph):
  matches := RETRIEVE_TYPED_SYMBOLS(query, graph)
  filtered := FILTER_BY_CONTEXT_SCOPE_AND_ASSUMPTIONS(matches)
  ranked := RANK_BY_RELEVANCE_AND_EVIDENCE(filtered)
  return {entities: ranked, definitions, relations, proof_status,
          unresolved_ambiguities, provenance, confidence}
AI systems must distinguish established definitions, derived claims and hypotheses.

15. EXAMPLE
Expression: f(x) = x^2
Entities: f:function, x:variable, 2:integer constant, ^:exponentiation operator
Relations: OCCURS_IN(x, expression), HAS_TYPE(2, integer),
           OPERATES_ON(^, numeric operands), DENOTES(f, squaring function, context)
Validation: x is bound by function argument declaration; operator types compatible.
Alternative context: f could denote a different function; context must govern resolution.

16. OUTPUT CONTRACT
output := {ontology: 'Symbol Entity Graph Ontology', version, graph,
           typed_entities, scoped_occurrences, semantic_relations,
           assumptions, validation, confidence, provenance,
           flow_hash, update_history, ai_consumption}

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