AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
FAULT ONTOLOGY — GEOLOGICAL ENTITIES
Version: 1.1
Authors: Mark Higgins — Sky (Recursive AI)
Publisher: Kireth Research
Source URL: https://kirethresearch.org/booksai-core/entity-graph/physical-entities/geological-entities/fault-ontology.html
Status: Independent scientific synthesis; source page not independently verified.
01. PURPOSE
Represent geological faults as typed, spatially situated discontinuities with measurable displacement, stress, slip history and evidence, supporting geological reasoning without treating uncertain interpretations as observations.
02. SCOPE
Includes brittle faults, fault zones, fault segments, surface traces, fault planes, hanging walls, footwalls, slip, seismic rupture, stress, strain, tectonic context and measurement provenance.
Excludes the assumption that every mapped fault is active or earthquake-producing.
03. CORE TYPES
Entity := GeologicalEntity | PhysicalEntity | Observation | Model | Event.
Fault <: GeologicalStructure.
FaultZone <: GeologicalStructure.
FaultSegment <: GeologicalStructure.
FaultPlane <: GeometricSurface.
FaultTrace <: GeospatialFeature.
RockBlock <: GeologicalEntity.
HangingWall <: RockBlock.
Footwall <: RockBlock.
SlipVector <: Vector3.
StressTensor <: SymmetricTensor3.
StrainTensor <: Tensor3.
RuptureEvent <: GeologicalEvent.
Earthquake <: SeismicEvent.
Measurement <: Observation.
04. TYPE SIGNATURES
hasPlane: Fault -> FaultPlane [0..*].
hasTrace: Fault -> FaultTrace [0..*].
hasSegment: Fault -> FaultSegment [0..*].
partOfZone: Fault -> FaultZone [0..1].
separates: Fault -> Pair<RockBlock>.
hasSlip: Fault -> SlipVector [0..*].
hasRake: Fault -> Angle [0..*].
hasDip: FaultPlane -> Angle.
hasStrike: FaultPlane -> Azimuth.
hasActivityAssessment: Fault -> ActivityAssessment [0..*].
rupturedDuring: FaultSegment -> RuptureEvent [0..*].
measuredBy: Measurement -> InstrumentOrMethod.
supportedBy: Claim -> Evidence [1..*].
05. IDENTIFICATION AND IDENTITY
Fault identity is assigned by a stable identifier, source, mapped geometry and geological interpretation.
Different mapped traces may refer to one fault system; a single trace may represent multiple strands.
Identity equivalence requires geological and spatial evidence, not name similarity alone.
06. FAULT CLASSIFICATION
NormalFault: predominantly dip-slip extension; hanging wall moves down relative to footwall.
ReverseFault: predominantly dip-slip shortening; hanging wall moves up relative to footwall.
ThrustFault: low-angle reverse fault under a declared dip threshold, often < 45 degrees.
StrikeSlipFault: predominantly horizontal displacement parallel to strike.
DextralFault: opposite block appears displaced right when viewed across fault.
SinistralFault: opposite block appears displaced left when viewed across fault.
ObliqueSlipFault: significant strike-slip and dip-slip components.
Classification may change across segments or events.
07. GEOMETRY
Strike = azimuth of intersection of fault plane with horizontal plane.
Dip = angle between fault plane and horizontal plane, 0 <= dip <= 90 degrees.
Rake = signed angle of slip within fault plane from a stated strike reference.
CoordinateReferenceSystem must accompany spatial coordinates.
Uncertainty bounds accompany estimated orientations and locations.
08. DISPLACEMENT AND SLIP
Displacement is the relative movement of corresponding markers across the fault.
NetSlip = magnitude(SlipVector).
SlipRate = delta(slip) / delta(time) for a stated averaging interval.
SlipRate is not necessarily constant through time.
Offset of a marker is not automatically equal to total fault slip.
09. STRESS AND FAILURE
Traction on plane normal n: t = sigma * n.
NormalStress = dot(t,n).
ShearTraction = t - NormalStress*n.
ShearStress = norm(ShearTraction).
Coulomb-style failure criterion: tau >= c + mu*(sigma_n - p), under a compression-positive convention and applicable model assumptions.
Here c = cohesion, mu = friction coefficient, p = pore-fluid pressure.
A failure criterion is a model condition, not a deterministic earthquake prediction.
10. ELASTIC STRAIN AND SEISMIC MOMENT
Scalar seismic moment: M0 = mu_rigidity * A * D, for an appropriate average rigidity, rupture area and average slip.
Moment magnitude: Mw = (2/3)*(log10(M0 in N m) - 9.1), approximate conventional calibration.
Seismic moment is not identical to fault displacement or released energy.
11. RUPTURE AND SEISMICITY
A rupture event may propagate across multiple fault segments.
Earthquake association requires timing, location, focal mechanism and supporting evidence.
Surface rupture may be absent even when subsurface fault slip occurs.
Historical seismicity does not prove the exact future recurrence interval.
12. TECTONIC CONTEXT
Convergent settings commonly support reverse/thrust faulting.
Divergent settings commonly support normal faulting.
Transform settings commonly support strike-slip faulting.
Local stress, inherited structures and rotations permit exceptions.
13. OBSERVATION METHODS
Field mapping, offset markers, trenching, seismic reflection, focal mechanisms, GNSS, InSAR, LiDAR and geochronology may constrain faults.
Each observation records instrument, units, coordinate frame, timestamp, uncertainty and interpretation status.
14. INFERENCE RULES
RULE F01: IF hanging_wall_motion=down_relative_to_footwall AND slip_is_dip_dominated THEN candidate_type=NormalFault.
RULE F02: IF hanging_wall_motion=up_relative_to_footwall AND slip_is_dip_dominated THEN candidate_type=ReverseFault.
RULE F03: IF reverse_fault AND dip < declared_thrust_threshold THEN candidate_type=ThrustFault.
RULE F04: IF slip_parallel_to_strike AND horizontal_dominance THEN candidate_type=StrikeSlipFault.
RULE F05: IF strike_slip_component_significant AND dip_slip_component_significant THEN candidate_type=ObliqueSlipFault.
RULE F06: IF measured_offset AND age_constraint THEN estimate_average_slip_rate WITH propagated_uncertainty.
RULE F07: IF fault_trace_intersects_asset THEN flag_spatial_exposure; DO NOT infer hazard magnitude without additional evidence.
RULE F08: IF observations_conflict THEN preserve both and mark interpretation=contested.
RULE F09: IF no_recent_recorded_earthquakes THEN activity_status=unknown unless independent evidence establishes inactivity.
RULE F10: IF rupture_segments_overlap THEN evaluate shared event provenance; DO NOT automatically merge faults.
15. CONSTRAINTS AND VALIDATION
VALIDATE 0 <= dip <= 90 degrees.
VALIDATE strike is normalised to [0,360) degrees.
VALIDATE lengths, slip magnitudes, rupture areas and rigidity are nonnegative.
VALIDATE every reported slip rate includes time interval and units.
VALIDATE seismic moment units are N m.
VALIDATE activity labels include jurisdictional definition and reference period.
VALIDATE fault coordinates include CRS and geometry provenance.
VALIDATE observed, inferred, modelled and hypothetical assertions are distinguished.
16. WORKED EXAMPLE: SLIP RATE
Observed offset: 12 +/- 2 m.
Estimated elapsed time: 6000 +/- 1000 years.
Nominal average slip rate = 12/6000 m/year = 0.002 m/year = 2 mm/year.
First-order independent uncertainty approximation:
relative_sigma = sqrt((2/12)^2 + (1000/6000)^2) = 0.236.
slip_rate = 2.0 +/- 0.47 mm/year (approximate 1-sigma; only if uncertainties are independent and near-Gaussian).
17. WORKED EXAMPLE: SEISMIC MOMENT
Assume rigidity = 30 GPa, rupture area = 20 km * 10 km, average slip = 1 m.
M0 = 30e9 Pa * 200e6 m^2 * 1 m = 6e18 N m.
Mw approx (2/3)*(log10(6e18)-9.1) = 6.45.
This is an illustrative calculation, not an event assessment.
18. SEMANTIC EQUIVALENCE
FaultPlane ~ FaultSurface only when geometric meaning and source context agree.
FaultTrace != FaultPlane.
Fault != Earthquake.
Slip != SlipRate.
SeismicHazard != SeismicRisk.
ActiveFault != FaultWithRecentInstrumentalEarthquake by default.
19. KNOWLEDGE GRAPH EXAMPLE
entity: Fault_A {type: Fault, status: illustrative}
entity: Plane_A {type: FaultPlane, dip_deg: 60, strike_deg: 120}
entity: Slip_A {type: SlipVector, net_m: 1.2, uncertainty_m: 0.2}
relation: Fault_A --hasPlane--> Plane_A
relation: Fault_A --hasSlip--> Slip_A
claim: Fault_A candidate_type NormalFault [requires verified motion evidence]
20. CONFIDENCE MODEL
Confidence applies to a claim, not to the existence of the ontology.
Confidence = calibrated_score(evidence_quality, measurement_uncertainty, source_agreement, model_fit).
No arbitrary numeric confidence is asserted without calibration.
Preserve source-level and claim-level confidence separately.
21. FLOW HASH
FLOW_HASH algorithm: SHA-256 over UTF-8 NFC-normalised canonical content excluding the FLOW_HASH value itself.
FLOW_HASH value: NOT COMPUTED (generate after final content freeze).
22. UPDATE MODEL
Version semantic changes when definitions, relation signatures or inference rules change.
Record change date, author, source, affected entities, validation result and prior version hash.
Retain deprecated identifiers with mappings; do not silently overwrite provenance.
23. AI CONSUMPTION
Read typed entities before inference.
Preserve unit and coordinate-system constraints.
Distinguish measurements from geological interpretations.
Require evidence for earthquake and hazard assertions.
Return uncertainties and competing interpretations when relevant.
Avoid treating model examples as observed real-world faults.
24. COMPLETENESS CHECK
Required blocks: identity, scope, types, relations, geometry, kinematics, mechanics, observations, inference, validation, examples, equivalence, confidence, hash, updates, AI consumption.
Completeness: all required blocks present.
END FLOW ALGEBRA — FAULT ONTOLOGY