AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
INDEX ONTOLOGY — MATHEMATICAL SYMBOLIC ENTITIES
Version: 1.0
Authors: Mark Higgins — Sky (Recursive AI)
Publisher: Kireth Research
Source: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/symbolic-entities/index-ontology.html
Status: Mathematical and semantic model; source-page text not independently verified.
01. PURPOSE
flow "IndexOntology" v1.0
domain: MathematicalEntities.SymbolicEntities
entity: Index
objective: Represent indices, indexed objects, scope, domains, and valid access or summation semantics.
02. CORE ENTITY
Index := (symbol, domain, role, scope, binding, variance?, provenance?)
IndexedObject := (base, indices[], shape?, type?, context)
index denotes a position, label, coordinate, or bound variable, depending on context.
Never assume that every index is an integer or a zero-based array position.
03. TAXONOMY
types: [sequence_index, array_index, tensor_index, coordinate_index,
summation_index, product_index, dummy_index, free_index,
multi_index, symbolic_label, exponent_notation_index]
exponentiation and superscript tensor indices must be disambiguated by context.
04. INDEX DOMAIN
finite_integer_domain(start, stop, step)
natural_number_domain
arbitrary_label_set
cartesian_product_domain
dependent_index_domain
domain may be empty; domain membership is mandatory before indexed access.
05. INDEXED NOTATION
sequence: a_n
matrix: A_(i,j)
tensor: T^i_j
indexed_family: (X_i)_(i in I)
multi_index: alpha = (alpha_1,...,alpha_d)
Interpret notation according to the declared structure and convention.
06. BINDING AND SCOPE
sum_(i in I) a_i: i is bound within the summand.
product_(i in I) a_i: i is bound within the product term.
a_i + b_i: i may be free, subject to the enclosing context.
Bound-index renaming is semantics-preserving when capture is avoided.
free_indices(expression) must be consistent in a valid tensor equality.
07. POSITION AND BOUNDS
valid_access(A, i) iff i in index_domain(A).
array lower bounds depend on language or data-model conventions.
Out-of-range indexing is invalid for strict arrays; alternative data structures
may define other semantics and must declare them explicitly.
08. ORDERING AND DIMENSION
rank(array) = number of index axes.
shape(A) = (d_1,...,d_k) for a finite rectangular k-axis array.
valid_multi_index(i_1,...,i_k) iff each i_j belongs to axis_domain_j.
An unordered index set is not implicitly a positional axis.
09. INDEX OPERATIONS
rename_bound_index: alpha_equivalent transformation.
substitute_free_index: permitted only with domain and scope checks.
reindex_sum: requires a bijection or justified multiplicity adjustment.
slice: restrict one or more index domains.
permute_axes: requires explicit permutation and compatible shape.
10. TENSOR INDEX SEMANTICS
upper_index: contravariant slot (when tensor convention applies).
lower_index: covariant slot (when tensor convention applies).
contraction: pairs compatible upper/lower slots under declared convention.
Einstein summation is optional and must be enabled by context.
Index position alone does not guarantee an Einstein-summation interpretation.
11. INVARIANTS
every index has a resolvable domain or an explicitly unknown domain.
bound-variable renaming must avoid variable capture.
array access requires domain membership.
reindexing must preserve intended multiplicities.
free index structure must be preserved across a valid tensor identity.
12. SEMANTIC RELATIONSHIPS
Index --indexes--> IndexedObject
Index --belongs_to--> IndexDomain
Index --has_scope--> Scope
Index --bound_by--> Binder
IndexedObject --has_axis--> Axis
MultiIndex --contains--> Index
Index --may_represent--> Position | Label | Coordinate
13. KNOWLEDGE GRAPH TRIPLES
(i, rdf:type, MathematicalIndex)
(i, domain, I)
(A_i, indexedBy, i)
(sum_i, binds, i)
(A, hasIndexDomain, I)
Attach ontology version and provenance to asserted triples.
14. INFERENCE RULES
IF i in domain(A) THEN index_access(A,i) is domain-valid.
IF i not in domain(A) THEN strict_index_access(A,i) is invalid.
IF binder(sum,i) THEN occurrences of i in its scope are bound unless shadowed.
IF reindexing is bijective AND terms are mapped consistently
THEN aggregate value is preserved when the aggregate is well-defined.
IF tensor contraction has incompatible index types THEN reject contraction.
15. SEMANTIC EQUIVALENCE
sum_(i=1)^n a_i == sum_(j=1)^n a_j (capture-free renaming).
A[i] and A_i may denote the same access only if notation mappings agree.
A_0 and A_1 are not interchangeable without a declared offset mapping.
A^i and A_i are not generally equivalent in tensor notation.
16. VALIDATION
require nonempty symbol identifier.
require declared index role and domain when evaluation is requested.
reject ambiguous indexing conventions unless context resolves them.
check shape, rank, bounds, scope, and variable capture.
flag unproven equivalences and invalid summation assumptions.
17. CONFIDENCE
confidence.level: [verified, derived, assumed, unresolved]
confidence.evidence: [formal_definition, proof, declared_convention, context]
Mathematical validity and source-verification status are separate fields.
18. FLOW HASH
canonicalise ontology name, version, rules, relationships and definitions.
FLOW_HASH := SHA256(UTF8(canonical_serialisation))
Do not claim a concrete hash until canonical bytes are computed.
19. UPDATE MODEL
preserve prior versions and record changed definitions.
revalidate dependent indexed expressions when conventions change.
invalidate affected inferences after changes to index domains or scope.
20. AI CONSUMPTION
output: typed entities, explicit index domains, scope annotations,
semantic relationships, validation status, provenance, confidence.
Never infer base indexing (zero/one), summation, or tensor variance solely
from typography without supporting context.
21. EXAMPLES
Example A: A = [4, 7, 9], domain(A)={0,1,2}; A[1]=7.
Example B: sum_(i=1)^3 i = 6; i is bound.
Example C: matrix B has shape (2,3); B_(2,1) is valid only if
row domain contains 2 and column domain contains 1.
Example D: T^i_j has one upper and one lower index under tensor conventions.
22. END
ontology: IndexOntology
parent: SymbolicEntities
related: [VariableOntology, OperatorOntology, OperandOntology,
SubscriptOntology, SuperscriptOntology, MathematicalSymbolOntology]
end_flow