Structural Relationships
Authors:
MArk Anthony Higgins - Sky Recursive Ai
MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: July 6th 2026
Revised Date: July 6th 2026
AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
Structural Relationships — Kireth Semantic Library
Version: 1.0 | Locale: en-GB
Authors: Mark Anthony Higgins — Sky (Recursive AI)
Source: https://kirethresearch.org/booksai-core/ontologies/relationship-ontologies/structural-relationships.html
PURPOSE
Define a typed, verifiable structural relationship model spanning parent, child, hierarchy, tree, network, graph, node, edge, root and branch ontologies. This is a companion formal specification, not a transcription of page content.
ENTITY_TYPES
Entity(id: URI, label: String, kind: String)
Node(id: URI, entity: Entity)
Edge(id: URI, source: Node, target: Node, relation: RelationType)
Structure(id: URI, nodes: Set[Node], edges: Set[Edge], kind: StructureKind)
Evidence(id: URI, source: URI, observed_at: DateTime)
ENUM RelationType = {PARENT_OF, CHILD_OF, ANCESTOR_OF, DESCENDANT_OF, CONNECTED_TO, BRANCH_OF, ROOT_OF, LINKED_TO}
ENUM StructureKind = {HIERARCHY, TREE, NETWORK, GRAPH}
TYPED_RELATIONSHIPS
parent_of(parent: Node, child: Node) -> Boolean
child_of(child: Node, parent: Node) -> Boolean
ancestor_of(ancestor: Node, descendant: Node) -> Boolean
descendant_of(descendant: Node, ancestor: Node) -> Boolean
connected_to(a: Node, b: Node) -> Boolean
root_of(root: Node, structure: Structure) -> Boolean
branch_of(branch: Node, parent: Node) -> Boolean
AXIOMS
A1: parent_of(p,c) <=> child_of(c,p).
A2: parent_of(p,c) => p.id != c.id.
A3: parent_of(p,c) => ancestor_of(p,c).
A4: ancestor_of(a,b) AND ancestor_of(b,c) => ancestor_of(a,c).
A5: ancestor_of(a,b) => descendant_of(b,a).
A6: structure.kind = TREE => directed parent edges are acyclic.
A7: structure.kind = TREE => exactly one root and each non-root node has exactly one parent.
A8: structure.kind = TREE => all nodes are reachable from the root.
A9: structure.kind = HIERARCHY => ancestor_of(a,b) implies NOT ancestor_of(b,a).
A10: structure.kind = GRAPH => each edge endpoint belongs to structure.nodes.
A11: structure.kind = NETWORK => connections may be cyclic and nodes may have multiple neighbours.
A12: branch_of(b,p) => parent_of(p,b) within a rooted tree context.
INFERENCE
infer_child: PARENT_OF(p,c) -> CHILD_OF(c,p).
infer_ancestor: PARENT_OF(p,c) -> ANCESTOR_OF(p,c).
infer_transitive_ancestor: ANCESTOR_OF(a,b) & ANCESTOR_OF(b,c) -> ANCESTOR_OF(a,c).
infer_root: in a valid non-empty tree, the unique node with indegree 0 is ROOT_OF(tree).
infer_connection: an edge between a and b establishes LINKED_TO(a,b); CONNECTED_TO is symmetric only when the edge is declared undirected.
SEMANTIC_EQUIVALENCE
CHILD_OF(c,p) == inverse(PARENT_OF(p,c)).
DESCENDANT_OF(d,a) == inverse(ANCESTOR_OF(a,d)).
PARENT_OF != ANCESTOR_OF: direct versus transitive relation.
EDGE != RELATIONSHIP: edge is a representation of a relationship.
GRAPH != TREE: every tree is a graph, but not every graph is a tree.
CONFIDENCE
score: Float in [0,1]
asserted: require evidence source or explicitly labelled author assertion.
derived: attach proof path and supporting premises.
conflicting: retain competing assertions; flag for review rather than silently selecting one.
threshold: 0.80 for automatic consumption of uncertain inferred claims (configurable).
VALIDATION
V1: unique entity, node, edge and structure identifiers.
V2: all edge endpoints resolve to declared nodes.
V3: no self-parent relationship.
V4: reject parent cycles in TREE or strict HIERARCHY.
V5: enforce unique parent and unique root for TREE.
V6: ensure root reaches all TREE nodes.
V7: verify provenance and timestamps for externally asserted claims.
V8: do not infer undirected symmetry from directed edges.
FLOW_HASH
algorithm: SHA-256
input: canonical UTF-8 serialisation of version, entity types, relations, axioms and validation rules; sort sets and keys deterministically.
output: lowercase hexadecimal digest computed by implementing system.
UPDATE_MODEL
policy: versioned, append-only change history.
on_change: validate -> recompute inferences -> recompute FLOW_HASH -> publish version.
invalid_change: reject and preserve previous valid snapshot.
provenance: retain origin, timestamp, revision and evidence links.
AI_CONSUMPTION
mode: typed semantic graph with deterministic inference and explicit validation.
sequence: parse -> type-check -> validate -> infer -> score confidence -> export.
outputs: entities, edges, hierarchy paths, roots, branches, proof traces, confidence and version hash.
safeguards: distinguish asserted from inferred facts; do not invent absent edges or evidence.
END FLOW ALGEBRA