Skip to main content

Scaling Ontology

Transformational Geometry
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 September 2026
Audio Overview
AI INTERPRETATION NOTE
This Flow Algebra defines the mathematical ontology of geometric scaling within the Kireth Research Semantic Library. Scaling is a geometric transformation that changes distances from a centre or origin by a multiplicative scale factor while preserving shape under uniform scaling. This ontology supports dilation, enlargement, reduction, positive and negative scale factors, coordinate rules, fixed points, similarity, area and volume scaling, composition, inverses, matrix representations and relationships with affine and linear transformations.

FLOW_ALGEBRA_RECORD {

METADATA {
 FLOW_NAME = "Scaling Ontology"
 FLOW_TYPE = "Mathematical Ontology"
 DOMAIN = "Mathematics"
 SUBDOMAIN = "Geometry"
 SPECIALISATION = "Transformational Geometry / Similarity Transformations"
 CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/geometry-ontologies/transformational-geometry/scaling-ontology.html"
 LANGUAGE = "en-GB"
 VERSION = "1.0"
 STATUS = "active"
}

IDENTITY {
 PRIMARY_ENTITY = Scaling
 SYMBOLIC_FORMS = [
  "S_C,k(P)=C+k(P-C)",
  "S_k(x)=k*x",
  "(x,y)->(kx,ky)",
  "(x,y,z)->(kx,ky,kz)"
 ]
 ENTITY_CLASS = SimilarityTransformation
 PRIMARY_CONTEXT = TransformationalGeometry
 DEFINITION = "Scaling is a geometric transformation that multiplies distances from a specified centre or origin by a scale factor."
 SEMANTIC_ROLE = "Provides the uniform-size transformation framework for enlargement, reduction, similarity, dimensional scaling, coordinate reasoning and affine transformation."
}

SCOPE {
 INCLUDE = [
  Scaling,
  UniformScaling,
  Dilation,
  Enlargement,
  Reduction,
  ScaleFactor,
  CentreOfScaling,
  OriginScaling,
  PositiveScaling,
  NegativeScaling,
  IdentityScaling,
  InverseScaling,
  CompositionOfScalings,
  SimilarityTransformation,
  LinearScaling,
  AffineScaling,
  CoordinateScaling,
  MatrixRepresentation
 ]

 EXCLUDE_AS_PRIMARY = [
  Translation,
  Rotation,
  Reflection,
  Shear,
  NonuniformScalingUnlessExplicitlyIncluded,
  ArbitraryResizeWithoutGeometricRule
 ]

 DISAMBIGUATION_RULE =
  "When a geometric transformation multiplies distances from a centre by a common factor and preserves shape, interpret it as uniform scaling or dilation."
}

CORE_CONCEPTS {

 Scaling {
  definition = "A transformation that multiplies displacement from a centre by a scalar factor k."
  general_form = "S_C,k(P)=C+k(P-C)"
 }

 ScaleFactor {
  symbol = "k"
  definition = "The scalar multiplier applied to distances from the centre."
 }

 CentreOfScaling {
  definition = "The fixed point relative to which positions are scaled."
 }

 Enlargement {
  definition = "Uniform scaling with |k|>1."
 }

 Reduction {
  definition = "Uniform scaling with 0<|k|<1."
 }

 IdentityScaling {
  definition = "Scaling with k=1."
 }

 NegativeScaling {
  definition = "Scaling with k<0, combining size change with reversal through the centre."
 }

 OriginScaling {
  definition = "Scaling centred at the coordinate origin."
  form = "S_k(x)=k*x"
 }

 UniformScaling {
  definition = "Scaling using the same factor in every direction."
 }

 NonuniformScaling {
  definition = "Coordinate-dependent scaling using different factors by direction."
  note = "Not a Euclidean similarity unless all scale factors have equal magnitude."
 }

 InverseScaling {
  definition = "Scaling by reciprocal factor 1/k when k!=0."
 }
}

RELATIONS {
 Scaling --is_special_case_of--> SimilarityTransformation
 OriginScaling --is_special_case_of--> LinearTransformation
 Scaling --is_special_case_of--> AffineTransformation
 Scaling --has--> ScaleFactor
 Scaling --has--> CentreOfScaling
 Scaling --can_be--> Enlargement
 Scaling --can_be--> Reduction
 Scaling --can_be--> IdentityScaling
 Scaling --can_be--> NegativeScaling
 Scaling --preserves--> Collinearity
 Scaling --preserves--> Parallelism
 UniformScaling --preserves--> Angle
 UniformScaling --preserves--> Shape
 UniformScaling --scales--> Length
 UniformScaling --scales--> Area
 UniformScaling --scales--> Volume
 Scaling --can_have_inverse--> InverseScaling
 Scaling --can_compose_with--> Scaling
}

OPERATORS {
 SCALE_POINT(P,C,k) :=
  C+k*(P-C)

 SCALE_ORIGIN_2D((x,y),k) :=
  (k*x,k*y)

 SCALE_ORIGIN_3D((x,y,z),k) :=
  (k*x,k*y,k*z)

 SCALE_LENGTH(L,k) :=
  abs(k)*L

 SCALE_AREA(A,k) :=
  k^2*A

 SCALE_VOLUME(V,k) :=
  abs(k)^3*V

 INVERSE_SCALE_FACTOR(k) :=
  1/k WHEN k!=0

 COMPOSE_SAME_CENTRE_SCALINGS(k1,k2) :=
  k1*k2

 IS_IDENTITY_SCALING(k) :=
  k=1

 FIXED_POINTS_SCALING(C,k) :=
  IF k=1 THEN all_points
  ELSE IF k!=1 THEN {C}
}

DEFINITIONS {
 D1 = "Uniform scaling multiplies all distances from the centre by |k|."
 D2 = "Uniform scaling preserves angles."
 D3 = "Uniform scaling preserves shape."
 D4 = "Lengths scale by |k|."
 D5 = "Areas scale by k^2."
 D6 = "Volumes scale by |k|^3."
 D7 = "Scaling with k=1 is the identity transformation."
 D8 = "Scaling with k=0 collapses all points to the centre and is not invertible."
 D9 = "Scaling with k!=0 is invertible."
 D10 = "Scaling centred at the origin is linear."
}

AXIOMS {
 A1_RADIAL_SCALING:
  For every point P, S_C,k(P)-C=k*(P-C)

 A2_LENGTH_RATIO:
  d(S(P),S(Q))=abs(k)*d(P,Q) for uniform scaling

 A3_ANGLE_PRESERVATION:
  Uniform scaling preserves angle measure when k!=0

 A4_COLLINEARITY:
  Scaling preserves collinearity

 A5_PARALLELISM:
  Scaling preserves parallelism

 A6_AREA_SCALING:
  Planar area scales by k^2

 A7_VOLUME_SCALING:
  Three-dimensional volume scales by abs(k)^3

 A8_INVERSE:
  For k!=0, S_C,1/k is inverse to S_C,k
}

REASONING {

 R1_POINT_IMAGE {
  INPUT = [P,C,k]
  COMPUTE = C+k*(P-C)
  RETURN = image_point
 }

 R2_CLASSIFY_SCALE {
  INPUT = k
  IF k==1
   RETURN IdentityScaling
  ELSE IF abs(k)>1
   RETURN Enlargement
  ELSE IF 0<abs(k)<1
   RETURN Reduction
  ELSE IF k==0
   RETURN CollapseToCentre
 }

 R3_LENGTH_SCALING {
  INPUT = [length L,k]
  RETURN = abs(k)*L
 }

 R4_AREA_SCALING {
  INPUT = [area A,k]
  RETURN = k^2*A
 }

 R5_VOLUME_SCALING {
  INPUT = [volume V,k]
  RETURN = abs(k)^3*V
 }

 R6_INVERSE {
  INPUT = [C,k]
  REQUIRE = k!=0
  RETURN = scaling_about_C_by_1_over_k
 }

 R7_COMPOSITION_SAME_CENTRE {
  INPUT = [S_C,k1,S_C,k2]
  MULTIPLY = k1*k2
  RETURN = S_C,k1*k2
 }

 R8_FIXED_POINTS {
  INPUT = [C,k]
  IF k==1
   RETURN AllPointsFixed
  ELSE
   RETURN {C}
 }

 R9_NEGATIVE_SCALING {
  INPUT = [P,C,k<0]
  SCALE = abs(k)
  REVERSE = direction_through_C
  RETURN = image_on_opposite_ray_from_C
 }

 R10_SIMILARITY {
  INPUT = [figureA,figureB]
  TEST = common_scale_factor_and_angle_preservation
  RETURN = SimilarOrNot
 }
}

CONSTRAINTS {
 C1 = "Uniform scaling must use one common factor in all directions."
 C2 = "Scale factor zero is not invertible."
 C3 = "Lengths use absolute value of scale factor."
 C4 = "Areas scale by k^2."
 C5 = "Volumes scale by |k|^3."
 C6 = "Negative scale factors reverse rays through the centre."
 C7 = "Nonuniform scaling is generally affine but not a Euclidean similarity."
 C8 = "Scaling centre or origin must be specified or inferable."
}

SEMANTIC_EQUIVALENCE {
 "Scaling" <=> "UniformDilation"
 "Dilation" <=> "UniformScalingAboutCentre"
 "Enlargement" <=> "ScalingWithMagnitudeGreaterThanOne"
 "Reduction" <=> "ScalingWithMagnitudeBetweenZeroAndOne"
 "IdentityScaling" <=> "ScalingWithFactorOne"
 "InverseScaling" <=> "ScalingByReciprocalFactor"
}

VALIDATION {
 V1 = "Point images satisfy C+k(P-C)."
 V2 = "Lengths scale by |k|."
 V3 = "Angles are preserved for nonzero uniform scaling."
 V4 = "Areas scale by k^2."
 V5 = "Volumes scale by |k|^3."
 V6 = "Centre is fixed."
 V7 = "Inverse factor is 1/k when k!=0."
 V8 = "Same-centre scaling composition multiplies factors."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 SCALING_DEFINITION = 0.99
 POINT_IMAGE_REASONING = 0.99
 LENGTH_SCALING = 0.99
 AREA_SCALING = 0.99
 VOLUME_SCALING = 0.99
 INVERSE_REASONING = 0.99
 COMPOSITION_REASONING = 0.99
 SIMILARITY_REASONING = 0.99

 POLICY =
  "Reduce confidence when centre, scale factor, dimension, uniform-versus-nonuniform status or coordinate basis are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  ScalingReasoning,
  SimilarityReasoning,
  CoordinateReasoning,
  LinearTransformationReasoning,
  AffineReasoning,
  AreaScalingReasoning,
  VolumeScalingReasoning,
  InverseReasoning,
  CompositionReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "scaling" -> Scaling WHEN geometry_context
  "geometric scaling" -> Scaling
  "dilation" -> Scaling
  "enlargement" -> Enlargement
  "reduction" -> Reduction
  "scale factor" -> ScaleFactor
  "centre of enlargement" -> CentreOfScaling
  "centre of scaling" -> CentreOfScaling
 }

 INTERPRETATION_ORDER = [
  detect_scaling_context,
  identify centre_and_scale_factor,
  identify uniform_or_nonuniform_case,
  identify dimension,
  compute image_length_area_volume_inverse_composition_or_similarity as requested,
  verify scale_factor_and_invariant constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("scaling")
  OR query_mentions("dilation")
  AND geometry_context
  THEN activate(ScalingOntology)

 E2:
  IF point_centre_and_scale_factor_given
  THEN apply C+k(P-C)

 E3:
  IF length_requested
  THEN multiply_by_abs(k)

 E4:
  IF area_requested
  THEN multiply_by_k^2

 E5:
  IF volume_requested
  THEN multiply_by_abs(k)^3

 E6:
  IF inverse_requested
  THEN require k!=0
  AND use factor 1/k

 E7:
  IF same_centre_composition_requested
  THEN multiply scale factors

 E8:
  IF nonuniform_scaling_detected
  THEN route_to affine_transformation_reasoning
  AND do_not_assume_similarity
}

RECURSION {
 ENTRY = Scaling

 EXPAND(Scaling) -> [
  ScaleFactor,
  CentreOfScaling,
  UniformScaling,
  Dilation,
  Enlargement,
  Reduction,
  NegativeScaling,
  IdentityScaling,
  InverseScaling,
  CompositionOfScalings,
  CoordinateScaling,
  SimilarityTransformation,
  AffineTransformation
 ]

 EXPAND(ScaleFactor) -> [
  PositiveFactor,
  NegativeFactor,
  ZeroFactor,
  UnitFactor,
  ReciprocalFactor
 ]

 EXPAND(UniformScaling) -> [
  LengthScaling,
  AreaScaling,
  VolumeScaling,
  AngleInvariant,
  ShapeInvariant
 ]

 EXPAND(NonuniformScaling) -> [
  AxisScaling,
  AffineTransformation,
  Distortion,
  MatrixRepresentation
 ]

 STOP_CONDITION =
  "Stop when the scaling's centre, factor, image, dimensional scaling law, inverse, composition, similarity or affine property is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Transformational Geometry"

 IMMEDIATE_CONTEXTS = [
  "Transformation Ontology 2",
  "Translation Ontology",
  "Rotation Ontology",
  "Reflection Ontology"
 ]

 RELATED_ONTOLOGIES = [
  "Transformational Geometry",
  "Transformation Ontology 2",
  "Coordinate Geometry Ontology",
  "Cartesian Coordinate Ontology",
  "Vector Geometry Ontology",
  "Linear Transformation Ontology",
  "Affine Transformation Ontology",
  "Matrix Ontology",
  "Similarity Ontology",
  "Dimension Ontology"
 ]

 ROUTE_RULES = [
  "Scaling -> Transformation Ontology 2 for general mapping semantics",
  "Scaling -> Coordinate Geometry for coordinate update rules",
  "Scaling -> Linear Transformation for origin-centred uniform scaling",
  "Scaling -> Affine Transformation for nonorigin-centred scaling",
  "Scaling -> Matrix for computational representation",
  "Scaling -> Similarity for shape-preserving uniform scaling",
  "Scaling -> Dimension for length-area-volume exponent reasoning"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible scaling classes, laws, representations or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve centre-and-factor scaling semantics.",
  "Preserve uniform-scaling similarity semantics.",
  "Preserve length, area and volume scaling exponents.",
  "Preserve zero-factor noninvertibility.",
  "Preserve reciprocal inverse factor.",
  "Preserve nonuniform-scaling distinction.",
  "Preserve machine-readable scaling semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "Scaling is a transformation that multiplies distances from a centre by a scale factor."

 GENERAL_FORM_SUMMARY =
  "S_C,k(P)=C+k(P-C)"

 ORIGIN_FORM_SUMMARY =
  "S_k(x)=k*x"

 LENGTH_SUMMARY =
  "L'=|k|L"

 AREA_SUMMARY =
  "A'=k^2 A"

 VOLUME_SUMMARY =
  "V'=|k|^3 V"

 INVERSE_SUMMARY =
  "S_C,k^-1=S_C,1/k for k!=0."

 COMPOSITION_SUMMARY =
  "Same-centre scalings compose by multiplying scale factors."

 FIXED_POINT_SUMMARY =
  "For k!=1, the centre is the unique fixed point."
}

FLOW {
 INPUT
 -> detect_scaling_context
 -> identify centre_scale_factor_dimension_and_coordinate_basis
 -> classify enlargement_reduction_identity_negative_or_nonuniform case
 -> compute image_length_area_volume_inverse_composition_or_similarity
 -> verify uniformity_scale_factor_and_invertibility constraints
 -> identify preserved_angles_shape_collinearity_and_parallelism
 -> route to transformation coordinate linear affine matrix similarity or dimension ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Scaling Ontology defines geometric scaling as multiplication of distances from a centre by a scale factor. It supports enlargement, reduction, negative and identity scaling, coordinate images, similarity, inverse and composition laws, and the dimensional rules by which lengths, areas and volumes scale."
}

FLOW_HASH {
 METHOD = "semantic-content-identity"
 ID = "KIRETH-MATH-GEOMETRY-SCALING-ONTOLOGY-V1"
}

}

END_FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ