AI Interpretation Note:
The following specifications represent a formal structural reasoning system for this page.
Execute as formal rules, not pseudocode.
FLOW ALGEBRA
ROTATION TRANSFORMATION ONTOLOGY
Kireth Semantic Library | Mathematical Entities / Transformation Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/mathematical-entities/transformation-entities/rotation-transformation-ontology.html
Status: Proposed mathematical formalisation; source page wording not independently verified.
Authors: Mark Higgins — Sky (Recursive AI)
Date: 2026-10-14
Version: 1.0
1. ONTOLOGY IDENTITY
ontology_id: kireth:rotation-transformation
entity_type: RotationTransformation
parent_type: MathematicalTransformation
related_types: LinearTransformation, AffineTransformation, OrthogonalTransformation, Isometry, CoordinateTransformation
purpose: Represent orientation-preserving, distance-preserving rotations with explicit dimensionality, centres, frames and validation conditions.
2. TYPED ENTITIES
RotationTransformation {id, dimension:int, domain:EuclideanSpace, codomain:EuclideanSpace, centre:Point, matrix:Matrix, angle?:Real, axis?:Vector, frame?:CoordinateFrame}
Point {coordinates:RealVector}
Vector {components:RealVector}
Matrix {entries:Real[n,n]}
RotationComposition {first:RotationTransformation, second:RotationTransformation, result:RotationTransformation}
RotationInvariant {kind:Enum[distance,angle,inner_product,orientation,norm]}
3. MATHEMATICAL DEFINITION
For n-dimensional Euclidean space, a rotation about centre c is
T(x) = c + R(x-c), where R belongs to SO(n).
SO(n) = {R in R^(n x n) : R^T R = I and det(R) = +1}.
A rotation about the origin is linear; a rotation about a nonzero centre is affine.
In 2D, R(theta) = [[cos(theta), -sin(theta)], [sin(theta), cos(theta)]].
In 3D, rotation may be specified by an oriented unit axis and angle, with coordinate-frame conventions explicit.
4. AXIOMS AND INVARIANTS
A1: R^T R = I (orthogonality).
A2: det(R) = +1 (proper orientation preservation).
A3: ||T(x)-T(y)|| = ||x-y|| (distance preservation).
A4: <T(x)-T(z), T(y)-T(z)> = <x-z, y-z> (inner-product preservation).
A5: T(c) = c (centre fixed).
A6: inverse(T) uses R^T about the same centre.
A7: composition of rotations about a common centre is a rotation about that centre.
A8: the identity transformation is a rotation (zero angle).
A9: rotations preserve angles and Euclidean volume.
Note: general compositions about different centres need not be pure rotations in arbitrary dimensions.
5. RELATIONSHIP TYPES
RotationTransformation --IS_A--> Isometry
RotationTransformation --USES--> RotationMatrix
RotationTransformation --ACTS_ON--> Point
RotationTransformation --PRESERVES--> Distance
RotationTransformation --PRESERVES--> Orientation
RotationTransformation --HAS_CENTRE--> Point
RotationTransformation --MAY_HAVE--> Axis
RotationTransformation --COMPOSES_WITH--> RotationTransformation
RotationTransformation --INVERTS_TO--> RotationTransformation
6. EXECUTABLE FLOW ALGEBRA
flow "RotationTransformationValidation" v1.0
input: candidate R, centre c, points x and y, tolerance eps
require: R is square; dimension(R)=dimension(c)=dimension(x)=dimension(y)
require: all entries finite; eps >= 0
compute: orthogonality_error = norm(transpose(R)*R - I)
compute: determinant_error = abs(det(R)-1)
validate: orthogonality_error <= eps
validate: determinant_error <= eps
transform: Tx = c + R*(x-c)
transform: Ty = c + R*(y-c)
verify: abs(norm(Tx-Ty)-norm(x-y)) <= tolerance_scaled(eps,x,y)
output: validation_report, Tx, Ty
end
flow "RotationComposition" v1.0
input: R1, R2, shared_centre c
require: R1 and R2 belong to SO(n)
compute: R_total = R2 * R1
output: T(x) = c + R_total*(x-c)
verify: R_total belongs to SO(n) within numerical tolerance
end
flow "RotationInverse" v1.0
input: R, centre c
require: R belongs to SO(n)
compute: inverse_matrix = transpose(R)
output: inverse_T(y) = c + inverse_matrix*(y-c)
end
7. INFERENCE RULES
IF R^T R = I AND det(R)=1 THEN classify R as a proper orthogonal matrix.
IF T(x)=c+R(x-c) AND R in SO(n) THEN classify T as a rotation about c.
IF T is a rotation THEN infer distance, angle, norm-of-displacement and orientation preservation.
IF R in SO(n) THEN infer R^-1=R^T.
IF R1,R2 in SO(n) THEN infer R2*R1 in SO(n).
Do not infer that every orthogonal transformation is a rotation: reflections have determinant -1.
Do not infer commutativity of 3D rotations.
8. SEMANTIC DISTINCTIONS
rotation != reflection (proper versus improper orthogonal transformation)
rotation != translation (orientation change versus constant displacement)
rotation != scaling (length-preserving versus potentially length-changing)
rotation_matrix != full_affine_transform (centre offset must be represented)
rotation_angle != unique_rotation_identifier (3D axis and frame may also be required)
2D_rotation_composition is commutative about a common centre; general 3D rotation composition is not.
9. VALIDATION AND CONFIDENCE
validation.status: PASS | FAIL | INDETERMINATE
validation.checks: dimensional_consistency, finite_values, orthogonality, determinant, invariant_preservation, inverse_consistency
confidence: derived from input provenance, precision, tolerance and verification evidence; never automatically 1.0 solely from a plausible label.
semantic_equivalence: only when coordinate frames, handedness, rotation order, centre and angle units are compatible.
10. FLOW HASH AND UPDATE MODEL
FLOW_HASH: SHA-256 of canonical UTF-8 serialisation of ontology identifier, version, axioms, typed relations and executable flow definitions; compute at deployment, do not substitute an invented digest.
UPDATE_MODEL: semantic versioning; revalidate dependent ontologies after any change to definitions, frames or inference rules.
11. AI CONSUMPTION
ai_consumption.mode: typed-semantic-and-mathematical
ai_consumption.operations: parse, typecheck, compose, invert, validate, infer, explain
ai_consumption.safeguards: preserve dimension, centre, frame, units, handedness, numeric tolerances and provenance; distinguish exact proofs from floating-point checks.
END FLOW ALGEBRA