AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
POLYSACCHARIDE ONTOLOGY
Kireth Semantic Library — Biological Entities / Macromolecular Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/biological-entities/macromolecular-entities/polysaccharide-ontology.html
Version: 1.0 | Date: 2026-10-15 | Locale: en-GB
Authors: Mark Higgins — Sky (Recursive AI)
Status: Companion formalisation; proposed Flow Algebra specification, not a verified executable implementation.
1. PURPOSE
Represent polysaccharides as typed biological entities with explicit monomer composition, glycosidic linkage, branching, biological role, evidence, provenance and uncertainty. Support consistent retrieval, comparison and constrained inference without treating structural similarity as chemical identity.
2. TYPES
entity Polysaccharide <: Carbohydrate
entity Monosaccharide <: Carbohydrate
entity GlycosidicBond <: ChemicalBond
entity GlycanChain <: MolecularStructure
entity BranchPoint <: StructuralFeature
entity BiologicalFunction <: FunctionalEntity
entity Organism <: BiologicalEntity
entity Evidence <: KnowledgeEntity
entity Observation <: Evidence
entity ProvenanceRecord <: MetadataEntity
entity Context <: MetadataEntity
3. ENTITY ATTRIBUTES
Polysaccharide {
id: URI;
preferred_label: String;
synonyms: Set[String];
composition: Multiset[Monosaccharide];
linkage_types: Set[GlycosidicBond];
degree_of_polymerisation: IntegerRange?;
branching: {linear, branched, variable, unknown};
molecular_mass_distribution: Distribution?;
biological_roles: Set[BiologicalFunction];
source_organisms: Set[Organism];
evidence_refs: Set[URI];
confidence: Real[0,1]?;
provenance: ProvenanceRecord;
version: String;
}
4. RELATIONSHIP SIGNATURES
HAS_MONOMER: Polysaccharide x Monosaccharide -> Boolean
HAS_LINKAGE: Polysaccharide x GlycosidicBond -> Boolean
HAS_BRANCH_POINT: Polysaccharide x BranchPoint -> Boolean
HAS_CHAIN: Polysaccharide x GlycanChain -> Boolean
HAS_FUNCTION: Polysaccharide x BiologicalFunction -> Boolean
FOUND_IN: Polysaccharide x Organism -> Boolean
DERIVED_FROM: Polysaccharide x BiologicalEntity -> Boolean
SUPPORTED_BY: Assertion x Evidence -> Boolean
HAS_PROVENANCE: Assertion x ProvenanceRecord -> Boolean
SEMANTIC_EQUIVALENCE: Entity x Entity x Context -> EquivalenceAssessment
5. CLASSIFICATION
Homopolysaccharide(p) := number_of_distinct_monomer_types(p) = 1
Heteropolysaccharide(p) := number_of_distinct_monomer_types(p) > 1
LinearPolysaccharide(p) := branching(p) = linear
BranchedPolysaccharide(p) := branching(p) = branched
Classification is contingent on known structure; unknown composition does not imply homopolymer.
6. CANONICAL EXAMPLES
Starch: plant storage glucan; amylose mainly alpha(1->4), amylopectin alpha(1->4) with alpha(1->6) branches.
Glycogen: branched glucose storage polymer with alpha(1->4) chains and alpha(1->6) branch linkages.
Cellulose: linear beta(1->4)-linked D-glucose polymer with structural roles in plant cell walls.
Chitin: beta(1->4)-linked N-acetyl-D-glucosamine polymer, structural in arthropod exoskeletons and fungal cell walls.
Hyaluronan: repeating disaccharide units of D-glucuronic acid and N-acetyl-D-glucosamine; a glycosaminoglycan.
Examples illustrate categories and are not exhaustive definitions.
7. VALIDATION CONSTRAINTS
V1: every entity id MUST be unique within the graph namespace.
V2: each HAS_MONOMER target MUST have type Monosaccharide.
V3: every declared glycosidic linkage MUST specify donor/acceptor positions where known; stereochemistry MUST be explicit or unknown.
V4: degree_of_polymerisation lower bound MUST be positive when supplied.
V5: confidence MUST lie in [0,1] and MUST NOT be interpreted as a calibrated probability without calibration evidence.
V6: structural claims MUST retain evidence and provenance links.
V7: conflicting composition claims MUST be retained with contexts and flagged, not silently merged.
V8: an unknown structural feature MUST NOT be converted to false.
8. INFERENCE RULES
R1: HAS_MONOMER(p,m) AND Monosaccharide(m) -> ContainsSugarResidue(p,m).
R2: HAS_LINKAGE(p,l) AND LinkageConfiguration(l,beta_1_4) -> HasBeta14Linkage(p).
R3: HasFunction(p,Storage) AND FoundIn(p,Plant) -> CandidatePlantStoragePolysaccharide(p), not a unique starch identification.
R4: StructuralMatch(p,q,context) AND SameLinkageTopology(p,q) AND SameMonomerStereochemistry(p,q) -> CandidateStructuralEquivalence(p,q).
R5: CandidateStructuralEquivalence(p,q) AND ValidatedEvidence(p,q) -> SupportedStructuralEquivalence(p,q).
R6: ContradictoryEvidence(p,q) -> FlagForReview(p,q).
No rule may infer chemical identity solely from shared empirical formula or monomer type.
9. FLOW PIPELINE
flow PolysaccharideEntityResolution v1.0 {
input: CandidateEntity, EvidenceSet, Context;
stage_1: normalise_labels_and_identifiers;
stage_2: parse_monomers_linkages_branching;
stage_3: validate_types_and_chemical_constraints;
stage_4: construct_typed_entity_graph;
stage_5: compare_contextual_structures;
stage_6: apply_evidence_qualified_inference;
stage_7: assess_confidence_and_conflicts;
stage_8: attach_provenance_and_version;
stage_9: compute_canonical_flow_hash;
output: ValidatedGraph, InferenceTrace, ConflictReport, AIConsumptionRecord;
}
10. SEMANTIC EQUIVALENCE
ExactChemicalIdentity requires agreement on chemical structure, including relevant monomer stereochemistry, linkage position/configuration and branching; polymer distributions may prevent a single exact identity assignment.
StructuralSimilarity allows partial matches but MUST NOT assert identity.
FunctionalSimilarity compares roles under stated biological context and MUST NOT assert structural equivalence.
AliasEquivalence requires curated identifier or synonym evidence.
11. CONFIDENCE
CONFIDENCE(assertion) := Assess(evidence_quality, independent_support, structural_completeness, contextual_fit, contradictions)
Assessment method and weights MUST be recorded; absent calibration, scores are ordinal decision aids only.
Low evidence -> unresolved, not automatically false.
Contradictions -> preserve competing assertions and trigger review.
12. PROVENANCE
PROVENANCE(assertion) := {source_uri, source_type, evidence_id, author_or_curator, retrieved_at?, asserted_at?, method, version, licence?}
Record whether each assertion is observed, experimentally established, curated, predicted or inferred.
13. FLOW HASH
FLOW_HASH := SHA256(CanonicalUTF8(ontology_id, version, ordered_entity_types, ordered_relations, ordered_rules, validation_schema))
CanonicalUTF8 requires deterministic key ordering, Unicode normalisation and explicit schema version. The hash identifies this specification snapshot; it is not proof of scientific correctness.
14. UPDATE MODEL
UPDATE_MODEL(change) {
validate_schema(change);
preserve_prior_version();
recompute_affected_inferences();
recheck_equivalence_and_conflicts();
refresh_provenance_and_confidence();
recompute_flow_hash();
publish_versioned_change_log();
}
15. AI CONSUMPTION
AI_CONSUMPTION {
accepted_inputs: [typed_graph, evidence_records, contextual_query];
outputs: [entity_summary, qualified_inference, relationship_trace, evidence_links, uncertainty_flags];
guardrails: [no_unverified_identity_merges, no_unqualified_biological_function_claims, preserve_unknowns, disclose_inferred_vs_observed];
preferred_serialisation: [UTF-8 TXT, JSON-LD, RDF-compatible triples];
}
16. TEST CASES
T1: cellulose and starch share glucose monomers -> NOT chemically identical.
T2: glycogen and amylopectin both branched glucans -> similarity does not establish identity.
T3: unknown branch positions -> validation warning, not fabricated linkage.
T4: contradictory molecular-mass observations -> preserve source and sample context.
T5: missing provenance on inferred assertion -> reject publication as validated.
17. RESEARCH AND LICENSING
Open educational and research reuse intended under the Kireth Research open research approach. Consult the published site licence for authoritative terms. No warranty of clinical or experimental suitability.
END FLOW ALGEBRA