AI INTERPRETATION NOTE
This Flow Algebra defines the mathematical ontology of projective geometry within the Kireth Research Semantic Library. Projective geometry studies geometric properties invariant under projective transformations and extends affine geometry by adjoining points at infinity. It supports homogeneous coordinates, projective spaces, points and hyperplanes, incidence, cross-ratio, duality, perspective mappings, conics, projective transformations, collineations and relationships with linear algebra, algebraic geometry, affine geometry and computer vision.
FLOW_ALGEBRA_RECORD {
METADATA {
FLOW_NAME = "Projective Geometry Ontology"
FLOW_TYPE = "Mathematical Ontology"
DOMAIN = "Mathematics"
SUBDOMAIN = "Geometry"
SPECIALISATION = "Advanced Geometry / Projective Geometry"
CANONICAL_PAGE = "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/geometry-ontologies/advanced-geometry/projective-geometry-ontology.html"
LANGUAGE = "en-GB"
VERSION = "1.0"
STATUS = "active"
}
IDENTITY {
PRIMARY_ENTITY = ProjectiveGeometry
SYMBOLIC_FORMS = [
"P^n",
"[x_0:x_1:...:x_n]",
"x~lambda*x for lambda!=0"
]
ENTITY_CLASS = IncidenceGeometryFramework
PRIMARY_CONTEXT = AdvancedGeometry
DEFINITION = "Projective geometry studies projective spaces and the incidence properties preserved under projective transformations."
SEMANTIC_ROLE = "Provides the homogeneous-coordinate and incidence-preserving framework for points at infinity, projective transformations, conics, duality, cross-ratio and perspective geometry."
}
SCOPE {
INCLUDE = [
ProjectiveGeometry,
ProjectiveSpace,
ProjectivePoint,
ProjectiveLine,
ProjectivePlane,
Hyperplane,
HomogeneousCoordinates,
PointAtInfinity,
LineAtInfinity,
Incidence,
Collinearity,
Concurrency,
ProjectiveTransformation,
Homography,
Collineation,
PerspectiveTransformation,
CrossRatio,
ProjectiveInvariant,
Duality,
Pole,
Polar,
Conic,
ProjectiveConic,
CompleteQuadrilateral,
CompleteQuadrangle,
DesarguesTheorem,
PappusTheorem
]
EXCLUDE_AS_PRIMARY = [
EuclideanMetricGeometryWithoutProjectiveContext,
AffineGeometryWithoutPointsAtInfinity,
GeneralAlgebraicGeometryUnlessProjectiveStructureIsCentral,
PerspectiveDrawingWithoutMathematicalTransformationModel
]
DISAMBIGUATION_RULE =
"When geometry is expressed through homogeneous coordinates, incidence, points at infinity, homographies, cross-ratios, projective conics or duality, interpret the context as projective geometry."
}
CORE_CONCEPTS {
ProjectiveGeometry {
definition = "The geometry of projective spaces and incidence-preserving transformations."
}
ProjectiveSpace {
symbol = "P^n"
definition = "The set of one-dimensional linear subspaces of a vector space of dimension n+1."
}
ProjectivePoint {
definition = "An equivalence class of nonzero homogeneous coordinate vectors under nonzero scalar multiplication."
}
HomogeneousCoordinates {
definition = "Coordinates [x_0:...:x_n] defined up to multiplication by a nonzero scalar."
}
Hyperplane {
definition = "A codimension-one projective subspace."
}
PointAtInfinity {
definition = "A projective point representing a direction of parallel affine lines."
}
Incidence {
definition = "The relation expressing when a point lies on a line or more generally when projective subspaces meet."
}
ProjectiveTransformation {
definition = "An invertible linear transformation on homogeneous coordinates considered up to nonzero scalar."
}
Homography {
definition = "A projective transformation, especially between projective lines or planes."
}
CrossRatio {
definition = "A projective invariant of four collinear points."
}
Duality {
definition = "A correspondence interchanging points and hyperplanes while preserving incidence."
}
ProjectiveConic {
definition = "The zero locus of a nondegenerate homogeneous quadratic form in the projective plane."
}
}
RELATIONS {
ProjectiveGeometry --is_branch_of--> AdvancedGeometry
ProjectiveSpace --is_quotient_of--> NonzeroVectorSpace
ProjectivePoint --is_represented_by--> HomogeneousCoordinates
HomogeneousCoordinates --are_equivalent_under--> NonzeroScalarMultiplication
PointAtInfinity --completes--> AffineSpace
ProjectiveTransformation --acts_on--> ProjectiveSpace
ProjectiveTransformation --preserves--> Incidence
ProjectiveTransformation --preserves--> CrossRatio
Homography --is_special_case_of--> ProjectiveTransformation
Duality --interchanges--> Point
Duality --interchanges--> Hyperplane
ProjectiveConic --is_preserved_as_conic_by--> ProjectiveTransformation
AffineTransformation --is_special_case_of--> ProjectiveTransformation
}
OPERATORS {
PROJECTIVISE(V_nonzero) :=
equivalence_classes_under_nonzero_scaling
HOMOGENEOUS_EQUIVALENCE(x,y) :=
exists_lambda!=0 such_that y=lambda*x
PROJECTIVE_POINT(x) :=
equivalence_class_[x]
AFFINE_TO_PROJECTIVE(x_1,...,x_n) :=
[x_1:...:x_n:1]
PROJECTIVE_TO_AFFINE([x_1:...:x_n:w]) :=
(x_1/w,...,x_n/w)
WHEN w!=0
IS_POINT_AT_INFINITY([x_1:...:x_n:w]) :=
w=0
APPLY_HOMOGRAPHY(H,x) :=
H*x
interpreted_up_to_nonzero_scale
INCIDENCE_POINT_HYPERPLANE(x,l) :=
l^T x = 0
LINE_THROUGH_POINTS(p,q) :=
p cross q
WHEN projective_plane_context
INTERSECTION_OF_LINES(l,m) :=
l cross m
WHEN projective_plane_context
CROSS_RATIO(A,B,C,D) :=
projective_ratio_expression
for_four_collinear_points
TRANSFORM_CONIC(C,H) :=
H^{-T} C H^{-1}
up_to_nonzero_scale
}
DEFINITIONS {
D1 = "Projective points are homogeneous-coordinate classes."
D2 = "Parallel affine lines meet at a projective point at infinity."
D3 = "Projective transformations preserve incidence."
D4 = "Cross-ratio is invariant under projective transformations."
D5 = "Affine transformations form a subgroup of projective transformations."
D6 = "Distances and angles are not projective invariants."
D7 = "Collinearity and concurrency are projective invariants."
D8 = "Conics map to conics under nonsingular projective transformations."
D9 = "Duality exchanges point and hyperplane statements."
D10 = "Homogeneous matrices are defined only up to nonzero scalar."
}
AXIOMS {
A1_HOMOGENEOUS_EQUIVALENCE:
x and lambda*x represent the same projective point for lambda!=0
A2_LINEAR_REALISATION:
Every projective transformation is induced by an invertible linear map on homogeneous coordinates modulo scale
A3_INCIDENCE_PRESERVATION:
Projective transformations preserve point-subspace incidence
A4_CROSS_RATIO_INVARIANCE:
Cross-ratio of four collinear points is preserved by projective transformations
A5_AFFINE_EMBEDDING:
Affine n-space embeds into projective n-space as the chart w!=0
A6_INFINITY_HYPERPLANE:
Points with final homogeneous coordinate zero form the hyperplane at infinity in the standard affine chart
A7_DUALITY:
Projective incidence admits a point-hyperplane dual formulation
A8_CONIC_COVARIANCE:
Nondegenerate conics are mapped to nondegenerate conics by invertible projective transformations
}
REASONING {
R1_HOMOGENEOUS_NORMALISATION {
INPUT = homogeneous_vector_x
REQUIRE = x!=0
IF chosen_affine_coordinate_nonzero
NORMALISE = divide_by_that_coordinate
ELSE
RETAIN = projective_class
RETURN = normalised_representation
}
R2_AFFINE_PROJECTIVE_CLASSIFICATION {
INPUT = projective_point_x
IF affine_chart_coordinate!=0
RETURN FiniteAffinePoint
ELSE
RETURN PointAtInfinity
}
R3_INCIDENCE {
INPUT = point_x_and_hyperplane_l
COMPUTE = l^T x
IF zero
RETURN Incident
ELSE
RETURN NonIncident
}
R4_HOMOGRAPHY {
INPUT = invertible_matrix_H_and_projective_point_x
COMPUTE = H*x
NORMALISE = projective_scale_if_desired
RETURN = transformed_projective_point
}
R5_LINE_AND_INTERSECTION_2D {
INPUT = points_or_lines_in_P2
IF two_points
RETURN = cross_product_line
ELSE IF two_lines
RETURN = cross_product_intersection_point
}
R6_CROSS_RATIO {
INPUT = four_collinear_points
CHOOSE = affine_or_projective_coordinate_on_line
COMPUTE = cross_ratio
RETURN = invariant_value
}
R7_CONIC_TRANSFORMATION {
INPUT = conic_matrix_C_and_homography_H
COMPUTE = H^{-T} C H^{-1}
NORMALISE = matrix_scale
RETURN = transformed_conic
}
R8_DUALITY {
INPUT = incidence_statement
INTERCHANGE = points_and_hyperplanes
PRESERVE = incidence_structure
RETURN = dual_statement
}
R9_PROJECTIVE_EQUIVALENCE {
INPUT = geometric_configurations
IDENTIFY = candidate_homography
VERIFY = incidence_and_invariant_conditions
RETURN = equivalent_or_not_under_projective_transformation
}
}
CONSTRAINTS {
C1 = "Homogeneous coordinate vectors must be nonzero."
C2 = "Projective matrices must be invertible for projective transformations."
C3 = "Projective coordinates and matrices are defined only up to nonzero scale."
C4 = "Distance, angle, parallelism and midpoint are not general projective invariants."
C5 = "Affine dehomogenisation requires the chosen homogeneous coordinate to be nonzero."
C6 = "Cross-ratio requires four collinear projective points and an ordering convention."
C7 = "Degenerate conics must be distinguished from nondegenerate conics."
C8 = "Duality conventions depend on the underlying field and incidence model."
C9 = "Points at infinity depend on the selected affine chart."
C10 = "Numerical homography estimation requires conditioning and scale normalisation."
}
SEMANTIC_EQUIVALENCE {
"ProjectiveGeometry" <=> "IncidenceGeometryWithProjectiveTransformations"
"ProjectiveTransformation" <=> "Homography" WHEN projective_space_context
"ProjectivePoint" <=> "OneDimensionalLinearSubspace"
"HomogeneousCoordinates" <=> "CoordinatesModuloNonzeroScale"
"PointAtInfinity" <=> "DirectionPointInProjectiveCompletion"
"Collineation" <=> "IncidencePreservingProjectiveAutomorphism" WHEN standard_projective_space_context
}
VALIDATION {
V1 = "Homogeneous point vector is nonzero."
V2 = "Transformation matrix is invertible."
V3 = "Equivalent homogeneous vectors differ by nonzero scale."
V4 = "Incidence equations are scale invariant."
V5 = "Cross-ratio uses collinear points."
V6 = "Dehomogenisation avoids division by zero."
V7 = "Conic transformation uses inverse-transpose convention consistently."
V8 = "Projective invariants are not confused with Euclidean invariants."
V9 = "Affine chart and points at infinity are interpreted consistently."
}
CONFIDENCE {
BASE_CONFIDENCE = 0.99
PROJECTIVE_GEOMETRY_DEFINITION = 0.99
HOMOGENEOUS_COORDINATE_REASONING = 0.99
INCIDENCE_REASONING = 0.99
HOMOGRAPHY_REASONING = 0.99
CROSS_RATIO_REASONING = 0.98
CONIC_REASONING = 0.98
DUALITY_REASONING = 0.98
POLICY =
"Reduce confidence when projective dimension, base field, affine chart, homogeneous scale, point ordering, conic degeneracy or homography normalisation are underspecified."
}
AI_CONSUMPTION {
PURPOSES = [
SemanticSearch,
OntologyGrounding,
ProjectiveGeometryReasoning,
HomogeneousCoordinateReasoning,
IncidenceReasoning,
HomographyReasoning,
PerspectiveReasoning,
CrossRatioReasoning,
ProjectiveConicReasoning,
DualityReasoning,
AffineCompletionReasoning,
ComputerVisionGeometryReasoning,
KnowledgeGraphConstruction,
RetrievalAugmentation,
RecursiveInference
]
NORMALISE {
"projective geometry" -> ProjectiveGeometry
"projective space" -> ProjectiveSpace
"projective point" -> ProjectivePoint
"homogeneous coordinates" -> HomogeneousCoordinates
"point at infinity" -> PointAtInfinity
"line at infinity" -> LineAtInfinity
"projective transformation" -> ProjectiveTransformation
"homography" -> Homography
"cross-ratio" -> CrossRatio
"projective duality" -> Duality
}
INTERPRETATION_ORDER = [
detect_projective_geometry_context,
identify projective_dimension_field_affine_chart_and_homogeneous_coordinates,
identify incidence_homography_cross_ratio_conic_duality_or_equivalence goal,
normalise projective representations when appropriate,
apply projective_invariant reasoning,
verify invertibility_scale_invariance_incidence_and_chart constraints,
return semantic output
]
}
EXECUTION_RULES {
E1:
IF query_mentions("projective geometry")
OR homogeneous_coordinate_incidence_context
THEN activate(ProjectiveGeometryOntology)
E2:
IF homogeneous_points_compared
THEN test equality_up_to_nonzero_scale
E3:
IF affine_point_embedded
THEN append homogeneous_coordinate_1
E4:
IF projective_point_dehomogenised
THEN require selected_coordinate!=0
E5:
IF homography_applied
THEN require invertible_matrix
AND normalise output only up_to_scale
E6:
IF point_line_incidence_in_P2
THEN use homogeneous_dot_product_or_cross_product
E7:
IF cross_ratio_requested
THEN verify collinearity_and_order
E8:
IF conic_transformed
THEN apply inverse_transpose_matrix rule
E9:
IF invariant_requested
THEN reject distance_angle_or_midpoint as general_projective invariants
}
RECURSION {
ENTRY = ProjectiveGeometry
EXPAND(ProjectiveGeometry) -> [
ProjectiveSpace,
ProjectivePoint,
ProjectiveLine,
ProjectivePlane,
Hyperplane,
HomogeneousCoordinates,
PointAtInfinity,
LineAtInfinity,
Incidence,
Collinearity,
Concurrency,
ProjectiveTransformation,
Homography,
Collineation,
CrossRatio,
ProjectiveInvariant,
Duality,
ProjectiveConic
]
EXPAND(ProjectiveTransformation) -> [
HomogeneousMatrix,
Invertibility,
PerspectiveTransformation,
Collineation,
AffineTransformation
]
EXPAND(ProjectiveConic) -> [
HomogeneousQuadraticForm,
ConicMatrix,
Pole,
Polar,
TangentLine,
DualConic
]
EXPAND(Duality) -> [
PointHyperplaneDuality,
PolePolarDuality,
DualTheorem
]
STOP_CONDITION =
"Stop when the projective space, homogeneous representation, incidence relation, homography, cross-ratio, conic, duality or projective-equivalence question is sufficiently resolved."
}
ROUTING {
PARENT_ONTOLOGY = "Advanced Geometry"
IMMEDIATE_CONTEXTS = [
"Advanced Geometry",
"Affine Geometry Ontologies",
"Transformational Geometry",
"Coordinate Geometry Ontology"
]
RELATED_ONTOLOGIES = [
"Advanced Geometry",
"Geometry Ontology",
"Affine Geometry Ontologies",
"Transformational Geometry",
"Projective Transformation Ontology",
"Coordinate Geometry Ontology",
"Analytic Geometry Ontology",
"Linear Algebra Ontologies",
"Matrix Ontologies",
"Conic Section Ontology",
"Algebraic Geometry Ontologies",
"Computer Vision Ontologies"
]
ROUTE_RULES = [
"Projective Geometry -> Advanced Geometry for parent structural semantics",
"Projective Geometry -> Affine Geometry for affine charts and projective completion",
"Projective Geometry -> Transformational Geometry for homographies",
"Projective Geometry -> Coordinate Geometry for homogeneous coordinate representations",
"Projective Geometry -> Linear Algebra for quotient spaces and invertible matrices",
"Projective Geometry -> Conic Section Ontology for projective conics",
"Projective Geometry -> Algebraic Geometry for projective varieties",
"Projective Geometry -> Computer Vision for planar homographies and perspective mappings"
]
}
UPDATE_MODEL {
MODE = "append-compatible semantic versioning"
MAJOR = "ontology-breaking conceptual change"
MINOR = "new compatible projective structures, invariants or reasoning pathways"
PATCH = "clarification, metadata or formatting correction"
RULES = [
"Preserve homogeneous-coordinate equivalence.",
"Preserve incidence invariance.",
"Preserve invertible-linear-map realisation of projective transformations.",
"Preserve affine-chart and point-at-infinity semantics.",
"Preserve cross-ratio invariance.",
"Preserve duality semantics.",
"Preserve distinction from Euclidean metric invariants.",
"Preserve machine-readable projective-geometry semantics."
]
}
OUTPUT {
CANONICAL_DEFINITION =
"Projective geometry studies incidence and other properties preserved under projective transformations."
PROJECTIVE_SPACE_SUMMARY =
"P^n consists of one-dimensional subspaces of an (n+1)-dimensional vector space."
HOMOGENEOUS_SUMMARY =
"[x_0:...:x_n]=[lambda*x_0:...:lambda*x_n] for every nonzero lambda."
INFINITY_SUMMARY =
"Points at infinity complete affine space by representing directions of parallel affine lines."
TRANSFORMATION_SUMMARY =
"A projective transformation is induced by an invertible homogeneous linear map, modulo nonzero scalar."
INCIDENCE_SUMMARY =
"Projective transformations preserve incidence, collinearity and concurrency."
CROSS_RATIO_SUMMARY =
"Cross-ratio of four collinear points is a projective invariant."
CONIC_SUMMARY =
"Nondegenerate projective conics map to conics under invertible projective transformations."
DUALITY_SUMMARY =
"Projective duality interchanges points and hyperplanes while preserving incidence."
}
FLOW {
INPUT
-> detect_projective_geometry_context
-> identify projective_dimension_field_affine_chart_homogeneous_coordinates_and_objects
-> identify incidence_homography_infinity_cross_ratio_conic_duality_or_equivalence goal
-> normalise homogeneous_representations_when_valid
-> apply projective_transformation_or_invariant reasoning
-> verify nonzero_coordinates_invertibility_scale_invariance_collinearity_and_chart constraints
-> route to advanced_geometry affine_geometry transformation coordinate linear_algebra conic algebraic_geometry_or_computer_vision ontology
-> recursively_expand_required_dependencies
-> verify_result
-> assign_confidence
-> produce_semantic_output
-> END
}
SEMANTIC_SUMMARY {
"The Projective Geometry Ontology defines geometry through projective spaces, homogeneous coordinates and incidence-preserving transformations. It supports points and hyperplanes at infinity, homographies, collineations, cross-ratio, projective invariants, projective conics, duality and the projective completion of affine geometry while explicitly distinguishing projective structure from Euclidean metric structure."
}
FLOW_HASH {
METHOD = "semantic-content-identity"
ID = "KIRETH-MATH-GEOMETRY-PROJECTIVE-GEOMETRY-ONTOLOGY-V1"
}
}
END_FLOW
Download Code
Copy to Clipboard