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
Download Code
Copy to Clipboard