FLOW ALGEBRA
PHYSICAL EVIDENCE ONTOLOGY
Kireth Semantic Library | Entity Graph > Physical Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/physical-entities/ai-semantic-library-physical-entities/physical-evidence-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Version: 1.0 | Date: 2026-10-12
Status: Subject-based formalisation; source page content not independently verified.
01. PURPOSE
flow PhysicalEvidenceOntology v1.0
domain: physical_entities.evidence
goal: represent observable physical traces and their evidential relationships to claims, events, objects and measurements
principle: evidence supports or challenges claims; it does not automatically prove causation
02. TYPES
type EvidenceID = str
type EntityID = str
type EventID = str
type ClaimID = str
type ObservationID = str
type InstrumentID = str
type Timestamp = ISO8601
type Probability = float[0..1]
type Unit = str
type Quantity = {value:float, unit:Unit, uncertainty:float?}
type Interval = {start:Timestamp, end:Timestamp?}
type Location = {reference_system:str, coordinates:list[float], uncertainty:float?}
type Provenance = {source:str, collector:str?, method:str, time:Timestamp, custody_events:list[str]}
03. ENTITIES
entity PhysicalEvidence {
id: EvidenceID
evidence_type: EvidenceType
subject: EntityID?
observed_event: EventID?
observation: ObservationID?
properties: map[str,Quantity|str|bool]
location: Location?
observed_at: Timestamp?
collected_at: Timestamp?
provenance: Provenance
integrity_status: IntegrityStatus
uncertainty: float?
}
entity Claim {id:ClaimID, proposition:str, context:str, status:str}
entity Observation {id:ObservationID, observer:str, method:str, time:Timestamp, result:str}
entity Measurement {id:str, quantity:Quantity, instrument:InstrumentID?, calibration_id:str?}
entity Event {id:EventID, time:Interval?, location:Location?, participants:list[EntityID]}
04. ENUMERATIONS
enum EvidenceType = [material_sample, trace, instrument_record, image_record,
acoustic_record, electromagnetic_record, environmental_record,
biological_sample, mechanical_mark, chemical_residue, spatial_pattern]
enum IntegrityStatus = [intact, altered, degraded, contaminated, unknown]
enum ClaimRelation = [supports, contradicts, neutral, inconclusive]
05. TYPED RELATIONSHIPS
relation observed_by: PhysicalEvidence -> Observation
relation measured_by: PhysicalEvidence -> Measurement
relation collected_from: PhysicalEvidence -> EntityID
relation associated_with: PhysicalEvidence -> Event
relation located_at: PhysicalEvidence -> Location
relation supports_claim: PhysicalEvidence -> Claim
relation contradicts_claim: PhysicalEvidence -> Claim
relation derived_from: PhysicalEvidence -> PhysicalEvidence
relation corroborates: PhysicalEvidence -> PhysicalEvidence
relation conflicts_with: PhysicalEvidence -> PhysicalEvidence
relation has_provenance: PhysicalEvidence -> Provenance
06. EVIDENCE ACQUISITION
input: observation, source, method, timestamp, context
require: nonempty(source) and nonempty(method)
operation: create_evidence_record
operation: preserve_raw_observation
operation: attach_time_and_location_with_uncertainty
operation: register_collector_and_custody
output: PhysicalEvidence
invariant: raw observations remain distinguishable from interpretations
07. CHAIN OF CUSTODY
custody_event = {actor, action, timestamp, location?, signature?, prior_hash?, current_hash?}
custody_log: append_only
rule: every transfer records actor, time and action
rule: missing custody steps increase uncertainty; do not imply falsification
rule: hash match confirms byte-level integrity only, not physical authenticity
08. OBSERVATION VALIDITY
VALID_OBSERVATION(o) := method_documented(o) AND time_known(o)
REPRODUCIBLE(o) := protocol_available(o) AND conditions_recorded(o)
INDEPENDENT(o1,o2) := not_shared_uncontrolled_source(o1,o2)
rule: distinguish direct observation from model-derived inference
09. MEASUREMENT AND UNCERTAINTY
measured_value = estimate +/- expanded_uncertainty
combined_standard_uncertainty = sqrt(sum(sensitivity_i^2 * variance_i)
+ 2 * sum(covariance_terms))
require: units_compatible_for_comparison
rule: record calibration and detection limits where applicable
rule: propagate correlated uncertainties when dependencies exist
10. TEMPORAL SEMANTICS
distinguish: event_time, observation_time, collection_time, analysis_time
rule: observation_time >= event_time only when event ordering is established
rule: timestamps include timezone or explicit time standard
rule: uncertainty intervals accompany imprecise dates
11. SPATIAL SEMANTICS
location_match(a,b) := overlap(uncertainty_region(a), uncertainty_region(b))
rule: common location alone does not establish common origin
rule: record coordinate reference systems before geometric comparison
12. EVIDENCE-CLAIM EVALUATION
evaluate(e,c,model):
check provenance, relevance, integrity, measurement_quality
compare expected observations under claim and alternatives
classify relation as supports|contradicts|neutral|inconclusive
retain model assumptions and competing explanations
rule: no single score substitutes for explicit evidential reasoning
13. BAYESIAN UPDATE
posterior_odds(H|E) = prior_odds(H) * likelihood_ratio(E|H,not_H)
likelihood_ratio = P(E|H) / P(E|not_H)
require: nonzero denominator and defensible likelihood model
rule: dependent evidence must not be multiplied as independent
rule: priors and likelihood assumptions must be declared
14. CAUSAL REASONING
rule: correlation(e,event) does_not_imply caused_by(e,event)
rule: causal attribution requires mechanism, temporal compatibility and alternatives
rule: preserve unknown as distinct from false
15. EVIDENCE FUSION
input: evidence_set, dependency_graph, competing_hypotheses
deduplicate: identical_source_or_derived_copy
partition: independent_groups_by_origin
assess: consistency, conflict, relevance, reliability
output: qualified_evidence_assessment
rule: contradictions are retained, not silently averaged away
16. GRAPH INFERENCE
IF evidence.observation references entity THEN link observed_by
IF calibrated measurement linked to evidence THEN link measured_by
IF two records share verified source THEN relate shared_provenance
IF independent observations agree within uncertainty THEN mark corroboration_candidate
IF integrity_status = contaminated THEN flag interpretation_for_review
IF evidence conflicts with claim THEN retain contradiction edge
17. CONFIDENCE
CONFIDENCE: float[0..1]
confidence_dimensions:
provenance_quality
observation_reliability
measurement_quality
relevance_to_claim
independence
model_validity
rule: confidence values require calibration or stated scoring rubric
rule: confidence is not automatically a posterior probability
18. SEMANTIC_EQUIVALENCE
SEMANTIC_EQUIVALENCE(a,b):
require: matching referent, compatible context, time and granularity
distinguish: same_physical_item, same_record, same_observation,
same_measurement_result, same_claim
rule: matching labels or values alone do not establish identity
19. PROVENANCE AND VERSIONING
each_revision = {version, timestamp, author, change_reason, previous_version}
preserve: source_data, processing_steps, instrument_configuration
distinguish: correction, reinterpretation, remeasurement, replacement
20. FLOW_HASH
FLOW_HASH = SHA256(canonical_utf8(flow_definition_without_hash_field))
evidence_record_hash = SHA256(canonical_serialisation(evidence_record))
rule: canonicalisation fixes key order, encoding, number and timestamp formats
rule: hashes demonstrate integrity of bytes, not truth of assertions
21. UPDATE_MODEL
UPDATE_MODEL(new_evidence):
validate_schema(new_evidence)
validate_provenance(new_evidence)
append_observation_without_overwriting_original()
update_evidence_graph()
recompute_affected_claim_assessments()
retain_prior_versions_and_conflicts()
record_update_timestamp_and_reason()
22. AI_CONSUMPTION
export:
entities: typed
relationships: typed_directed
claims: provenance_linked
observations: time_and_context_qualified
measurements: unit_and_uncertainty_aware
conflicts: explicit
confidence: explained
inference_trace: retained
guardrails:
do_not_invent_missing_observations
do_not_treat_inference_as_direct_measurement
do_not_collapse_uncertainty_into_certainty
do_not_assert_causation_from_association
23. VALIDATION
assert unique(evidence.id)
assert valid_timestamp_format(evidence.provenance.time)
assert 0 <= CONFIDENCE <= 1
assert referenced_claims_exist()
assert custody_log_is_append_only()
assert no_circular_derived_from_chains()
assert unit_consistency_for_quantities()
assert provenance_present_for_all_records()
24. EXAMPLE
observation O1: calibrated temperature sensor reports 310.2 K +/- 0.3 K
evidence E1: instrument_record from O1 at time T1
claim C1: object temperature exceeded 309 K at T1
evaluate(E1,C1): supports under stated calibration and uncertainty assumptions
caveat: does not establish why the temperature increased
25. INTEGRATION
parent: Physical Entities
related: Physical Observation Ontology
related: Physical Measurement Ontology
related: Physical Property Ontology
related: Physical State Ontology
related: Physical Process Ontology
related: Physical Relationship Ontology
related: Physical Entity Graph Ontology
END FLOW ALGEBRA
Download Code
Copy to Clipboard