FLOW ALGEBRA
BIOMOLECULE ONTOLOGY
Kireth Semantic Library | Chemical Foundations of Life
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/chemical-foundations-of-life/biomolecule-ontology-2.html
Companion formalisation | 2026-10-15
Authors: Mark Anthony Higgins — Sky (Recursive AI)
AI INTERPRETATION NOTE
The following is a declarative, typed reasoning specification. Its rules describe valid inference conditions; an implementation must supply a parser, graph store, validation engine and execution semantics. Do not treat inferred hypotheses as experimentally confirmed facts.
flow "BiomoleculeOntology" v1.0
# 01 — DOMAIN AND IDENTITY
DOMAIN: ChemicalFoundationsOfLife
ONTOLOGY: Biomolecule
ENTITY_TYPE: Biomolecule <: BiologicalMolecule <: ChemicalEntity
IDENTITY_KEY: stable_identifier + chemical_structure + context
SCOPE: naturally occurring and biologically relevant molecular entities, including synthetic analogues where explicitly tagged
# 02 — TYPED ENTITIES
entity Biomolecule { id:IRI; name:String; category:BiomoleculeClass; structure:Structure?; formula:String?; charge:Integer?; mass:Quantity?; organism:Taxon?; compartment:Compartment?; evidence:EvidenceRef* }
entity Monomer { id:IRI; kind:MonomerClass; stereochemistry:String? }
entity Polymer { id:IRI; repeat_unit:Monomer?; polymerisation_degree:Integer? }
entity FunctionalGroup { id:IRI; name:String; reactivity:String? }
entity MolecularComplex { id:IRI; components:Biomolecule+; stoichiometry:Map? }
entity Reaction { id:IRI; reactants:ChemicalEntity+; products:ChemicalEntity+; catalysts:Biomolecule* }
entity BiologicalFunction { id:IRI; label:String; context:Context }
entity EvidenceRef { id:IRI; source:IRI; method:String?; date:Date?; quality:EvidenceQuality }
entity Context { taxon:Taxon?; tissue:String?; compartment:Compartment?; pH:Real?; temperature:Quantity?; time:DateTime? }
# 03 — CLASSIFICATION
BiomoleculeClass := Carbohydrate | Lipid | Protein | Peptide | NucleicAcid | Nucleotide | AminoAcid | Metabolite | Cofactor | Vitamin | Hormone | Other
MonomerClass := AminoAcid | Nucleotide | Monosaccharide | Other
Carbohydrate -> {Monosaccharide, Oligosaccharide, Polysaccharide}
Lipid -> {FattyAcid, Triacylglycerol, Phospholipid, Sterol, OtherLipid}
Protein -> {Enzyme, StructuralProtein, TransportProtein, SignallingProtein, OtherProtein}
NucleicAcid -> {DNA, RNA}
NOTE: Class membership can overlap; lipids are not universally polymers, and not every biomolecule is a macromolecule.
# 04 — RELATIONSHIP SIGNATURES
relationship is_a(Biomolecule, BiomoleculeClass)
relationship part_of(ChemicalEntity, ChemicalEntity)
relationship has_monomer(Polymer, Monomer)
relationship has_functional_group(Biomolecule, FunctionalGroup)
relationship binds_to(Biomolecule, ChemicalEntity, Context)
relationship catalyses(Biomolecule, Reaction, Context)
relationship participates_in(Biomolecule, Reaction, Context)
relationship located_in(Biomolecule, Compartment, Context)
relationship encoded_by(Protein, NucleicAcid, Context)
relationship has_function(Biomolecule, BiologicalFunction, Context)
relationship interacts_with(Biomolecule, Biomolecule, Context)
relationship derived_from(Biomolecule, ChemicalEntity, Reaction?)
relationship supported_by(Assertion, EvidenceRef)
relationship equivalent_to(Biomolecule, Biomolecule, EquivalenceBasis)
# 05 — CORE GRAPH ASSERTIONS
assert is_a(Glucose, Monosaccharide)
assert is_a(ATP, Nucleotide)
assert is_a(DNA, NucleicAcid)
assert is_a(Phosphatidylcholine, Phospholipid)
assert has_functional_group(AminoAcid, AminoGroup) [class_level=true]
assert has_functional_group(AminoAcid, CarboxylGroup) [class_level=true; applies_to=standard_alpha_amino_acids]
NOTE: Exemplars are illustrative, not exhaustive taxonomic definitions.
# 06 — INFERENCE RULES
rule R01 ClassificationInheritance:
IF is_a(x, subclass) AND subclass_of(subclass, superclass)
THEN is_a(x, superclass)
GUARD superclass is not disjoint_with subclass
rule R02 PolymerConstituents:
IF has_monomer(polymer, monomer)
THEN contains_repeating_unit(polymer, monomer)
GUARD polymerisation evidence is available
rule R03 EnzymeFunction:
IF catalyses(enzyme, reaction, context)
THEN participates_in(enzyme, reaction, context)
NOTE participation does not imply stoichiometric consumption
rule R04 ContextualFunction:
IF has_function(entity, function, context_a) AND compatible(context_a, context_b)
THEN candidate_function(entity, function, context_b)
STATUS inferred_unverified
rule R05 ComplexMembership:
IF part_of(component, complex) AND is_a(complex, MolecularComplex)
THEN component_of_complex(component, complex)
rule R06 EvidenceInheritanceRestriction:
IF supported_by(assertion, evidence)
THEN evidence_link(assertion, evidence)
NEVER infer experimental verification solely from ontology membership
# 07 — CONSTRAINTS AND VALIDATION
constraint C01: every Biomolecule.id is unique within the graph
constraint C02: chemical formula and molecular mass must be mutually consistent within stated isotopic assumptions and tolerances
constraint C03: electric charge is an integer for a fully specified molecular ion; protonation states must be explicit
constraint C04: part_of edges cannot be reflexive in a strict structural decomposition graph
constraint C05: reaction atom balance and charge balance must hold for complete, explicitly specified reactions
constraint C06: structure-based identity requires matching connectivity, stereochemistry, isotope and charge when relevant
constraint C07: functions, interactions and localisation require biological context and evidence qualification
constraint C08: never assume every protein is an enzyme, every lipid is a polymer, or every nucleotide is DNA
constraint C09: unresolved ambiguity must remain explicit rather than silently merged
constraint C10: do not conflate molecular type with a particular molecular instance
# 08 — SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
exact: identical canonical structure under the same chemical-state assumptions
contextual: equivalent for a stated modelling purpose, not necessarily chemically identical
alias: different labels for the same identified entity
homologous: shared evolutionary relationship; NOT exact identity
analogous: similar biological function; NOT structural equivalence
policy: never collapse homologous, analogous or functionally related entities into exact equivalence
# 09 — CONFIDENCE
CONFIDENCE:
basis: evidence quality + source reliability + structural match + contextual fit + validation status
scale: [0.0, 1.0]
interpretation: calibrated score only if empirical calibration is supplied
unknown: null
aggregation: implementation_defined; do not average correlated evidence as independent
rule: formal logical entailment and empirical confidence must be reported separately
# 10 — PROVENANCE
PROVENANCE:
record: assertion_id, source_id, source_version, evidence_method, observed_at, curator, transformation_history
lineage: original_assertion -> normalisation -> inference -> validation -> output
policy: derived claims retain traceability to every necessary premise
# 11 — RECURSIVE GRAPH REASONING
RECURSION:
traverse: component -> molecular_complex -> pathway -> cellular_process -> biological_function
visited_set: required
max_depth: configurable
cycle_policy: detect_and_report
inference_policy: apply only typed, guarded rules
termination: fixed_point_or_resource_limit
invalidation: recompute dependent conclusions when premises change
# 12 — FLOW HASH
FLOW_HASH:
canonicalise: entity_ids + typed_edges + rule_versions + context + provenance_refs
encoding: UTF-8
digest: SHA-256
semantics: content_integrity_identifier, not scientific proof
exclude: volatile_rendering_metadata
# 13 — UPDATE MODEL
UPDATE_MODEL:
input: new_evidence | changed_structure | changed_classification | corrected_relationship | source_revision
stages: ingest -> validate -> reconcile -> version -> invalidate_dependents -> recompute -> publish
preserve: historical assertions and retraction reasons
conflict_policy: retain competing claims with provenance until resolved
output: versioned graph delta + affected inference identifiers
# 14 — AI CONSUMPTION
AI_CONSUMPTION:
modes: retrieval, entity_resolution, typed_graph_query, constrained_inference, provenance_audit
inputs: natural_language_query | structured_entity_query
outputs: entities, relations, inferred_claims, confidence, evidence, validation_status, graph_version
requirements: cite supporting evidence; distinguish asserted/inferred/unknown; expose uncertainty
prohibited: unsupported biochemical claims, fabricated citations, automatic experimental confirmation
# 15 — EXAMPLE EXECUTION TRACE
INPUT: query "Is ATP a biomolecule and what is its class?"
MATCH: is_a(ATP, Nucleotide)
ONTOLOGY: subclass_of(Nucleotide, Biomolecule)
INFER: is_a(ATP, Biomolecule)
VALIDATE: identifiers, class hierarchy, and supporting evidence
OUTPUT: ATP -> Nucleotide -> Biomolecule
STATUS: ontological classification; biological role depends on context
# 16 — QUALITY GATES
QUALITY_GATES:
syntax: pass_required
type_check: pass_required
identifier_resolution: pass_required
evidence_links: checked
chemical_consistency: checked_where_data_available
circular_inference: guarded
semantic_equivalence: basis_required
confidence_calibration: report_if_unavailable
reproducibility: graph_version + rule_version + provenance
END FLOW ALGEBRA
Download Code
Copy to Clipboard