Skip to main content

Shear Transformation 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 shear transformation within the Kireth Research Semantic Library. A shear is an affine transformation that displaces points in one direction by an amount proportional to another coordinate while preserving parallelism, collinearity and affine structure. This ontology supports horizontal and vertical shear, shear factors, coordinate and matrix forms, determinant and area behaviour, fixed lines, composition, inverse shear, affine invariants and relationships with linear and affine transformations.

FLOW_ALGEBRA_RECORD {

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

IDENTITY {
 PRIMARY_ENTITY = ShearTransformation
 SYMBOLIC_FORMS = [
  "(x,y)->(x+ky,y)",
  "(x,y)->(x,y+kx)",
  "S=[[1,k],[0,1]]",
  "S=[[1,0],[k,1]]"
 ]
 ENTITY_CLASS = AffineTransformation
 PRIMARY_CONTEXT = TransformationalGeometry
 DEFINITION = "A shear transformation is an affine transformation that shifts points parallel to a fixed direction by an amount proportional to their position relative to a complementary direction."
 SEMANTIC_ROLE = "Provides the affine deformation framework for skewing geometry while preserving lines, collinearity, parallelism, ratios on lines and, in standard unit-determinant cases, area."
}

SCOPE {
 INCLUDE = [
  ShearTransformation,
  HorizontalShear,
  VerticalShear,
  ShearFactor,
  ShearDirection,
  FixedLine,
  InvariantLine,
  CoordinateShear,
  LinearShear,
  AffineShear,
  ShearMatrix,
  InverseShear,
  CompositionOfShears,
  AreaPreservation,
  ParallelismPreservation,
  CollinearityPreservation
 ]

 EXCLUDE_AS_PRIMARY = [
  Rotation,
  Translation,
  Reflection,
  UniformScaling,
  GeneralAffineTransformationWithoutShearStructure
 ]

 DISAMBIGUATION_RULE =
  "When a transformation skews a figure by shifting points in one direction proportionally to another coordinate while preserving parallel lines, interpret it as a shear transformation."
}

CORE_CONCEPTS {

 ShearTransformation {
  definition = "An affine transformation that displaces one coordinate by a multiple of another."
 }

 HorizontalShear {
  definition = "A planar shear changing x by a multiple of y while leaving y unchanged."
  form = "(x,y)->(x+k*y,y)"
 }

 VerticalShear {
  definition = "A planar shear changing y by a multiple of x while leaving x unchanged."
  form = "(x,y)->(x,y+k*x)"
 }

 ShearFactor {
  symbol = "k"
  definition = "The scalar controlling the amount and direction of shear."
 }

 FixedLine {
  definition = "A line whose points remain fixed under the shear."
  horizontal_standard = "y=0"
  vertical_standard = "x=0"
 }

 ShearMatrix {
  horizontal = "[[1,k],[0,1]]"
  vertical = "[[1,0],[k,1]]"
 }

 InverseShear {
  definition = "A shear with the opposite shear factor in the same standard shear direction."
 }

 AreaPreservation {
  definition = "Standard elementary shear matrices have determinant one and therefore preserve signed area."
 }
}

RELATIONS {
 ShearTransformation --is_special_case_of--> AffineTransformation
 LinearShear --is_special_case_of--> LinearTransformation
 HorizontalShear --is_special_case_of--> ShearTransformation
 VerticalShear --is_special_case_of--> ShearTransformation
 ShearTransformation --has--> ShearFactor
 ShearTransformation --has--> ShearDirection
 ShearTransformation --preserves--> Collinearity
 ShearTransformation --preserves--> Parallelism
 ShearTransformation --preserves--> RatiosAlongLines
 StandardShear --preserves--> Area
 HorizontalShear --fixes--> XAxis
 VerticalShear --fixes--> YAxis
 ShearTransformation --can_have_inverse--> InverseShear
 ShearTransformation --can_compose_with--> ShearTransformation
 ShearMatrix --represents--> LinearShear
}

OPERATORS {
 HORIZONTAL_SHEAR((x,y),k) :=
  (x+k*y,y)

 VERTICAL_SHEAR((x,y),k) :=
  (x,y+k*x)

 HORIZONTAL_MATRIX(k) :=
  [[1,k],[0,1]]

 VERTICAL_MATRIX(k) :=
  [[1,0],[k,1]]

 INVERSE_HORIZONTAL_SHEAR(k) :=
  HORIZONTAL_SHEAR_FACTOR(-k)

 INVERSE_VERTICAL_SHEAR(k) :=
  VERTICAL_SHEAR_FACTOR(-k)

 DETERMINANT_STANDARD_SHEAR(k) :=
  1

 APPLY_MATRIX(S,v) :=
  S*v

 COMPOSE_HORIZONTAL_SHEARS(k1,k2) :=
  horizontal_shear_with_factor(k1+k2)

 COMPOSE_VERTICAL_SHEARS(k1,k2) :=
  vertical_shear_with_factor(k1+k2)
}

DEFINITIONS {
 D1 = "A shear is an affine transformation."
 D2 = "Horizontal shear preserves y-coordinates."
 D3 = "Vertical shear preserves x-coordinates."
 D4 = "Horizontal shear fixes the x-axis pointwise."
 D5 = "Vertical shear fixes the y-axis pointwise."
 D6 = "Standard shear matrices have determinant one."
 D7 = "A standard planar shear preserves area."
 D8 = "A shear generally does not preserve lengths."
 D9 = "A shear generally does not preserve angles."
 D10 = "A shear preserves collinearity and parallelism."
}

AXIOMS {
 A1_AFFINE_FORM:
  A shear is representable by an affine map with shear-structured linear part

 A2_COLLINEARITY:
  Shear preserves collinear point sets

 A3_PARALLELISM:
  Shear preserves parallel lines

 A4_LINE_RATIO:
  Shear preserves affine ratios on a line

 A5_STANDARD_DETERMINANT:
  Elementary horizontal and vertical shear matrices have determinant one

 A6_AREA_PRESERVATION:
  Standard determinant-one planar shears preserve signed area

 A7_INVERTIBILITY:
  Standard shear matrices are invertible

 A8_FIXED_AXIS:
  Standard horizontal and vertical shears fix their reference axes pointwise
}

REASONING {

 R1_CLASSIFY_SHEAR {
  INPUT = transformation_rule
  IF x_changes_by_multiple_of_y AND y_unchanged
   RETURN HorizontalShear
  ELSE IF y_changes_by_multiple_of_x AND x_unchanged
   RETURN VerticalShear
  ELSE
   TEST = conjugate_or_general_shear_structure
   RETURN = ShearOrOtherAffineMap
 }

 R2_POINT_IMAGE_HORIZONTAL {
  INPUT = [(x,y),k]
  COMPUTE = (x+k*y,y)
  RETURN = image_point
 }

 R3_POINT_IMAGE_VERTICAL {
  INPUT = [(x,y),k]
  COMPUTE = (x,y+k*x)
  RETURN = image_point
 }

 R4_INVERSE {
  INPUT = standard_shear_with_factor k
  NEGATE = k
  RETURN = same_direction_shear_with_factor_-k
 }

 R5_AREA_REASONING {
  INPUT = shear_matrix S
  COMPUTE = det(S)
  IF abs(det(S))==1
   RETURN AreaPreserved
  ELSE
   RETURN AreaScaledByAbsDeterminant
 }

 R6_FIXED_LINE {
  INPUT = standard_shear_type
  IF horizontal
   RETURN x_axis
  ELSE IF vertical
   RETURN y_axis
 }

 R7_COMPOSITION {
  INPUT = [same_direction_shear_k1,same_direction_shear_k2]
  ADD = k1+k2
  RETURN = same_direction_shear_with_factor_sum
 }

 R8_INVARIANTS {
  INPUT = shear_transformation
  RETURN = [
   collinearity_preserved,
   parallelism_preserved,
   affine_ratios_preserved,
   lines_map_to_lines,
   area_preserved_when_determinant_one,
   lengths_not_generally_preserved,
   angles_not_generally_preserved
  ]
 }

 R9_MATRIX_REASONING {
  INPUT = shear_matrix
  IDENTIFY = shear_direction_and_factor
  VERIFY = invertibility
  COMPUTE = determinant
  RETURN = geometric_interpretation
 }
}

CONSTRAINTS {
 C1 = "A shear must not be assumed to preserve lengths."
 C2 = "A shear must not be assumed to preserve angles."
 C3 = "Area preservation depends on determinant magnitude being one."
 C4 = "Standard horizontal and vertical shear formulas depend on the active coordinate basis."
 C5 = "The fixed line changes under rotated or conjugated shear representations."
 C6 = "Composition of differently oriented shears is not generally a single elementary shear."
 C7 = "Shear factor sign controls displacement direction."
 C8 = "General affine maps may contain shear as one component without being pure shears."
}

SEMANTIC_EQUIVALENCE {
 "ShearTransformation" <=> "AffineSkewTransformation"
 "HorizontalShear" <=> "XCoordinateShearedByY"
 "VerticalShear" <=> "YCoordinateShearedByX"
 "ShearFactor" <=> "SkewCoefficient"
 "StandardShearMatrix" <=> "UnitDeterminantUnipotentMatrix"
}

VALIDATION {
 V1 = "Horizontal shear keeps y fixed."
 V2 = "Vertical shear keeps x fixed."
 V3 = "Standard shear determinant equals one."
 V4 = "Standard shear is invertible."
 V5 = "Inverse shear negates the shear factor."
 V6 = "Collinearity is preserved."
 V7 = "Parallelism is preserved."
 V8 = "Area is preserved for determinant-one planar shear."
 V9 = "Lengths and angles are not assumed invariant."
}

CONFIDENCE {
 BASE_CONFIDENCE = 0.99
 SHEAR_DEFINITION = 0.99
 HORIZONTAL_SHEAR_REASONING = 0.99
 VERTICAL_SHEAR_REASONING = 0.99
 MATRIX_REASONING = 0.99
 AREA_REASONING = 0.99
 INVERSE_REASONING = 0.99
 COMPOSITION_REASONING = 0.98

 POLICY =
  "Reduce confidence when coordinate basis, shear direction, factor, determinant or whether the mapping is a pure versus composite affine transformation are underspecified."
}

AI_CONSUMPTION {
 PURPOSES = [
  SemanticSearch,
  OntologyGrounding,
  ShearReasoning,
  AffineReasoning,
  LinearTransformationReasoning,
  CoordinateReasoning,
  MatrixReasoning,
  AreaReasoning,
  InverseReasoning,
  CompositionReasoning,
  KnowledgeGraphConstruction,
  RetrievalAugmentation,
  RecursiveInference
 ]

 NORMALISE {
  "shear" -> ShearTransformation WHEN geometry_context
  "shear transformation" -> ShearTransformation
  "horizontal shear" -> HorizontalShear
  "vertical shear" -> VerticalShear
  "shear factor" -> ShearFactor
  "skew transformation" -> ShearTransformation WHEN affine_geometry_context
 }

 INTERPRETATION_ORDER = [
  detect_shear_context,
  identify coordinate_basis_and_dimension,
  identify shear_direction_and_factor,
  classify horizontal_vertical_or_general_shear,
  compute image_inverse_composition_determinant_or_area_effect as requested,
  verify affine_invariants_and_nonmetric_constraints,
  return semantic output
 ]
}

EXECUTION_RULES {
 E1:
  IF query_mentions("shear")
  AND geometry_context
  THEN activate(ShearTransformationOntology)

 E2:
  IF rule_matches x'=x+k*y AND y'=y
  THEN classify(HorizontalShear)

 E3:
  IF rule_matches x'=x AND y'=y+k*x
  THEN classify(VerticalShear)

 E4:
  IF image_requested
  THEN apply corresponding_coordinate_rule

 E5:
  IF inverse_requested
  THEN negate shear_factor for same elementary shear direction

 E6:
  IF area_effect_requested
  THEN compute abs(det(matrix))

 E7:
  IF same_direction_composition_requested
  THEN add shear_factors

 E8:
  IF lengths_or_angles_queried
  THEN do_not_assume_preservation

 E9:
  IF matrix_form_requested
  THEN identify shear from off_diagonal_unitriangular_structure
}

RECURSION {
 ENTRY = ShearTransformation

 EXPAND(ShearTransformation) -> [
  HorizontalShear,
  VerticalShear,
  ShearFactor,
  ShearDirection,
  FixedLine,
  CoordinateShear,
  LinearShear,
  AffineShear,
  ShearMatrix,
  InverseShear,
  CompositionOfShears,
  AreaPreservation
 ]

 EXPAND(HorizontalShear) -> [
  XDisplacement,
  YInvariant,
  XAxisFixed,
  HorizontalShearMatrix
 ]

 EXPAND(VerticalShear) -> [
  YDisplacement,
  XInvariant,
  YAxisFixed,
  VerticalShearMatrix
 ]

 EXPAND(AffineInvariants) -> [
  Collinearity,
  Parallelism,
  LineRatios,
  ConvexityUnderInvertibleAffineMap
 ]

 STOP_CONDITION =
  "Stop when the shear's direction, factor, image, inverse, determinant, area effect, fixed line, composition or affine invariant structure is sufficiently resolved."
}

ROUTING {
 PARENT_ONTOLOGY = "Transformational Geometry"

 IMMEDIATE_CONTEXTS = [
  "Transformation Ontology 2",
  "Scaling Ontology",
  "Affine Transformation Ontology",
  "Linear Transformation Ontology"
 ]

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

 ROUTE_RULES = [
  "Shear -> Transformation Ontology 2 for general mapping semantics",
  "Shear -> Affine Transformation for affine structure and invariants",
  "Shear -> Linear Transformation for origin-centred matrix shears",
  "Shear -> Coordinate Geometry for coordinate rules",
  "Shear -> Matrix for computational representation",
  "Shear -> Determinant for area scaling and invertibility",
  "Shear -> Vector Geometry for basis-direction interpretation"
 ]
}

UPDATE_MODEL {
 MODE = "append-compatible semantic versioning"

 MAJOR = "ontology-breaking conceptual change"
 MINOR = "new compatible shear classes, invariants, matrix forms or reasoning pathways"
 PATCH = "clarification, metadata or formatting correction"

 RULES = [
  "Preserve affine skew semantics.",
  "Preserve horizontal-versus-vertical shear distinction.",
  "Preserve determinant-one standard shear behaviour.",
  "Preserve affine invariants.",
  "Preserve nonpreservation of general lengths and angles.",
  "Preserve inverse-by-factor-negation for elementary shears.",
  "Preserve machine-readable shear semantics."
 ]
}

OUTPUT {
 CANONICAL_DEFINITION =
  "A shear transformation is an affine transformation that displaces points in one direction by an amount proportional to another coordinate."

 HORIZONTAL_FORM_SUMMARY =
  "(x,y)->(x+k*y,y)"

 VERTICAL_FORM_SUMMARY =
  "(x,y)->(x,y+k*x)"

 HORIZONTAL_MATRIX_SUMMARY =
  "[[1,k],[0,1]]"

 VERTICAL_MATRIX_SUMMARY =
  "[[1,0],[k,1]]"

 DETERMINANT_SUMMARY =
  "det(S)=1 for standard elementary shears."

 INVERSE_SUMMARY =
  "The inverse elementary shear uses factor -k."

 INVARIANT_SUMMARY =
  "Shears preserve lines, collinearity, parallelism and affine ratios; standard determinant-one shears preserve area but not generally lengths or angles."
}

FLOW {
 INPUT
 -> detect_shear_context
 -> identify coordinate_basis_direction_and_factor
 -> classify horizontal_vertical_or_general_affine_shear
 -> identify image_inverse_composition_matrix_determinant_area_or_invariant goal
 -> perform shear_specific reasoning
 -> verify affine_structure_basis_determinant_and_nonmetric constraints
 -> route to transformation affine linear coordinate matrix determinant or vector ontology
 -> recursively_expand_required_dependencies
 -> verify_result
 -> assign_confidence
 -> produce_semantic_output
 -> END
}

SEMANTIC_SUMMARY {
 "The Shear Transformation Ontology defines affine skew transformations that shift one coordinate in proportion to another. It supports horizontal and vertical shears, coordinate and matrix forms, inverses, composition, determinant and area behaviour, fixed lines and affine invariants while explicitly distinguishing shear from rigid and similarity transformations."
}

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

}

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