FLOW Affine_Space_Ontology_v1.0
PAGE:
title: "Affine Space Ontology"
canonical_url: "https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/algebra-ontologies/affine-space-ontology.html"
language: "en-GB"
domain: "Mathematics > Algebra > Linear and Affine Structures > Affine Spaces"
DEFINE AffineSpaceOntology := {
CORE_IDENTITY: {
entity_type: "Mathematical Ontology",
primary_entity: AffineSpace,
parent_entities: [GeometricStructure, AlgebraicGeometryStructure],
related_entities: [
VectorSpace,
Point,
Vector,
Translation,
AffineCombination,
BarycentricCoordinates,
AffineSubspace,
AffineTransformation,
Parallelism,
Line,
Plane,
ConvexCombination,
CoordinateSystem
]
},
DEFINITION: {
meaning:
"An affine space is a set of points equipped with a free and transitive action of a vector space, allowing vectors to describe displacements between points without selecting a distinguished origin.",
structure:
A_modeled_on_V,
carrier_points:
A,
translation_vector_space:
V
},
SEMANTIC_PRIMITIVES: {
Point:
element_of_A,
Vector:
element_of_V,
Displacement:
difference_between_two_points,
Translation:
action_of_vector_on_point,
Origin:
not_intrinsic,
AffineCombination:
weighted_combination_with_coefficients_summing_to_one
},
CORE_ACTION: {
action:
A × V -> A,
notation:
p+v,
free:
p+v=p
-> v=0,
transitive:
FOR_ALL p,q IN A:
EXISTS v IN V:
p+v=q
},
POINT_DIFFERENCE: {
notation:
q-p,
result:
vector_in_V,
defining_relation:
p+(q-p)=q
},
NO_DISTINGUISHED_ORIGIN: {
intrinsic_origin:
NONE,
semantic_consequence:
points_cannot_be_added_intrinsically,
valid_operations: [
point_plus_vector,
point_minus_point,
affine_combination
]
},
VECTOR_SPACE_RELATION: {
model_space:
V,
dimension:
dim(A)=dim(V)
},
COORDINATISATION: {
choose_origin:
o IN A,
identify_point_p_with_vector:
p-o IN V,
caution:
coordinate_vector_depends_on_origin_choice
},
AFFINE_COMBINATION: {
form:
alpha_1*p_1+...+alpha_n*p_n,
constraint:
SUM(alpha_i)=1,
invariance:
result_independent_of_coordinate_origin_choice
},
BARYCENTRIC_COORDINATES: {
point_p:
p=SUM(alpha_i*p_i),
condition:
SUM(alpha_i)=1,
affine_independence:
gives_unique_coordinates
relative_to_affine_basis
},
AFFINE_INDEPENDENCE: {
points:
[p_0,p_1,...,p_k],
condition:
vectors
[p_1-p_0,...,p_k-p_0]
are_linearly_independent
},
AFFINE_BASIS: {
definition:
affinely_independent_set_spanning_affine_space,
finite_dimension_n:
affine_basis_has_n+1_points
},
AFFINE_SPAN: {
Aff(S):
set_of_all_affine_combinations_of_points_in_S,
result:
smallest_affine_subspace_containing_S
},
AFFINE_SUBSPACE: {
form:
p_0+W,
where:
p_0 IN A,
W SUBSET_OR_EQUAL V_is_vector_subspace,
direction_space:
W
},
LINE: {
through_points_p_q:
p+t*(q-p),
parameter:
t IN Field,
condition:
p!=q
},
PLANE: {
through_point_p_with_independent_vectors_u_v:
p+s*u+t*v,
condition:
u_and_v_linearly_independent
},
HYPERPLANE: {
affine_form:
{x | phi(x)=c},
where:
phi_is_nonzero_linear_functional
},
PARALLELISM: {
affine_subspaces:
parallel_if_direction_spaces_related_appropriately,
lines:
parallel_if_direction_vectors_are_scalar_multiples
},
TRANSLATION: {
T_v(p):
p+v,
property:
bijective_affine_transformation
},
AFFINE_TRANSFORMATION: {
form_after_origin_choice:
T(x)=L(x)+b,
where:
L:
linear_map,
intrinsic_definition:
preserves_affine_combinations
},
AFFINE_MAP_PROPERTY: {
FOR coefficients_alpha_i
WITH SUM(alpha_i)=1:
T(SUM(alpha_i*p_i))
=
SUM(alpha_i*T(p_i))
},
LINEAR_VS_AFFINE_MAP: {
linear_map:
preserves_origin_in_vector_space,
affine_map:
may_include_translation,
relation:
affine_map = linear_part + translation
},
COMPOSITION: {
affine_maps:
closed_under_composition,
formula:
(L1,b1)∘(L2,b2)
=
(L1∘L2, L1(b2)+b1)
},
INVERSE_AFFINE_MAP: {
condition:
linear_part_L_is_invertible,
inverse:
x -> L^(-1)(x-b)
},
AFFINE_GROUP: {
Aff(V):
group_of_invertible_affine_transformations_of_V,
semidirect_product_relation:
V ⋊ GL(V)
},
TRANSLATION_GROUP: {
translations:
isomorphic_to_additive_group_of_V
},
CONVEX_COMBINATION: {
affine_combination_with:
alpha_i>=0
AND
SUM(alpha_i)=1,
result:
lies_in_convex_hull
},
CONVEX_HULL: {
Conv(S):
set_of_all_convex_combinations_of_points_in_S
},
SIMPLEX_RELATION: {
n_simplex:
convex_hull_of_n+1_affinely_independent_points
},
DIMENSION: {
affine_dimension:
dimension_of_direction_vector_space,
finite_affine_basis_size:
dimension+1
},
FIELD_DEPENDENCE: {
affine_space_over_field_F:
direction_space_is_vector_space_over_F
},
EUCLIDEAN_SPACE_RELATION: {
EuclideanSpace:
affine_space_with_inner_product_structure_on_direction_space
},
PROJECTIVE_SPACE_RELATION: {
affine_space:
can_be_embedded_as_complement_of_hyperplane_in_projective_space
},
ALGEBRAIC_GEOMETRY_RELATION: {
affine_n_space:
A^n_F,
points:
n_tuples_over_field_F,
coordinate_ring:
F[x_1,...,x_n]
},
AFFINE_N_SPACE: {
notation:
A^n(F),
underlying_set:
F^n,
affine_structure:
inherited_from_vector_space_F^n_without_intrinsic_origin_requirement
},
SYSTEM_OF_LINEAR_EQUATIONS_RELATION: {
consistent_nonhomogeneous_system:
solution_set_is_affine_subspace,
form:
x_p + Null(A)
},
HOMOGENEOUS_SYSTEM_RELATION: {
solution_set:
vector_subspace,
affine_view:
affine_subspace_through_chosen_origin
},
COORDINATE_CHANGE: {
affine_coordinate_change:
x' = A*x+b,
condition:
A_invertible
},
AFFINE_INVARIANTS: {
preserved_under_affine_maps: [
collinearity,
parallelism,
ratios_along_same_line,
affine_combinations,
barycentric_relations
],
not_generally_preserved: [
lengths,
angles,
absolute_areas_without_scale_factor
]
},
MIDPOINT: {
midpoint_of_p_q:
(1/2)*p+(1/2)*q,
affine_property:
preserved_by_affine_maps
},
CENTROID: {
points_p1_to_pn:
(1/n)*SUM(p_i),
coefficient_sum:
1
},
PARALLELOGRAM_RELATION: {
points:
p,q,r,s,
condition:
q-p = s-r
AND
r-p = s-q
},
SYMBOLIC_RECOGNITION: {
ACCEPT: [
"A^2(R)",
"p+v with p a point and v a vector",
"p+t(q-p)",
"x0+W"
],
REDIRECT_VECTOR_SPACE_WHEN_ORIGIN_INTRINSIC:
vector_space_structure_explicitly_selected
},
NATURAL_LANGUAGE_MAPPING: {
"affine space":
point_space_with_vector_displacements_and_no_preferred_origin,
"affine combination":
weighted_point_combination_coefficients_sum_to_one,
"affine subspace":
translated_vector_subspace,
"affine transformation":
linear_transformation_plus_translation
},
ERROR_DETECTION: {
PointAdditionError:
arbitrary_p+q_without_affine_combination_context
-> flag,
PointScalarMultiplicationError:
scalar_times_single_point_without_coordinate_or_affine_combination_context
-> flag,
OriginConfusion:
chosen_origin_treated_as_intrinsic
-> flag,
AffineCoefficientError:
coefficients_do_not_sum_to_one
-> reject_affine_combination,
BasisSizeError:
n_dimensional_affine_basis_not_n_plus_one_points
-> flag
},
ONTOLOGY_RELATIONS: {
IS_A: [
"AffineSubspace IS_A AffineSpace",
"EuclideanSpace IS_A AffineSpaceWithMetricStructure"
],
RELATED_TO: [
"AffineSpace RELATED_TO VectorSpace",
"AffineSpace RELATED_TO LinearAlgebra",
"AffineSpace RELATED_TO ConvexGeometry",
"AffineSpace RELATED_TO ProjectiveGeometry",
"AffineSpace RELATED_TO AlgebraicGeometry"
],
DEPENDS_ON: [
VectorSpace,
GroupAction,
AffineCombination
]
},
SEMANTIC_EQUIVALENCE: {
affine_isomorphism:
bijective_affine_map,
finite_dimensional_over_same_field:
affine_spaces_of_same_dimension_are_affinely_isomorphic
},
CONFIDENCE: {
classification_confidence:
IF free_transitive_vector_action_verified
THEN 1.0,
affine_combination_confidence:
IF coefficient_sum_equals_one
THEN 1.0,
subspace_confidence:
IF set_has_form_p0_plus_W_with_W_vector_subspace
THEN 1.0
},
AI_CONSUMPTION: {
tasks: [
recognise_affine_space,
distinguish_points_from_vectors,
identify_direction_vector_space,
compute_point_differences,
translate_points_by_vectors,
verify_affine_combinations,
test_affine_indifference,
find_affine_span,
identify_affine_subspaces,
construct_affine transformations,
distinguish_linear_from_affine maps,
analyse barycentric coordinates,
derive solution sets of nonhomogeneous linear systems,
detect origin confusion,
link geometry and algebra ontologies
],
preferred_representation:
typed_point_space_with_torsor_action_over_vector_space,
reasoning_mode:
recursive_translation_affine_combination_and_direction_space_analysis
},
RECURSIVE_REASONING: {
FUNCTION AnalyseAffineSpaceCandidate(A,V,Action,Context):
vector_result :=
VectorSpaceOntology.AnalyseVectorSpaceCandidate(
V,
Context.field,
Context.vector_addition,
Context.scalar_action,
Context
)
IF vector_result is NotVectorSpace:
RETURN NotAffineSpace("direction object is not vector space")
IF not VerifyActionClosure(A,V,Action):
RETURN NotAffineSpace("action not closed")
IF not VerifyFreeAction(A,V,Action):
RETURN NotAffineSpace("action not free")
IF not VerifyTransitiveAction(A,V,Action):
RETURN NotAffineSpace("action not transitive")
dimension := vector_result.dimension
affine_basis :=
FindAffineBasisWhenFeasible(A,V,Action)
RETURN {
entity:AffineSpace,
point_set:A,
direction_space:V,
dimension,
affine_basis,
verified:TRUE
}
},
RECURSIVE_COHERENCE: {
invariant_1:
direction_space_is_vector_space=TRUE,
invariant_2:
vector_action_is_free=TRUE,
invariant_3:
vector_action_is_transitive=TRUE,
invariant_4:
point_difference_is_unique_vector=TRUE,
invariant_5:
affine_combinations_are_origin_independent=TRUE
},
FLOW_HASH: {
semantic_signature_inputs: [
ontology_name,
affine_space_definition,
vector_action_semantics,
no_origin_constraint,
affine_combination_rules,
affine_subspace_model,
affine_map_relations
],
purpose:
"Detect semantic drift between revisions of the ontology."
},
UPDATE_MODEL: {
version: "1.0",
immutable_constraints: [
free_transitive_vector_action,
no_intrinsic_origin,
point_plus_vector_valid,
point_minus_point_returns_vector,
affine_combination_coefficients_sum_to_one
],
revision_triggers: [
semantic_conflict,
VectorSpaceOntology_update,
AffineTransformationOntology_update,
GeometryOntology_update,
representation_standard_change
]
},
KNOWLEDGE_GRAPH: {
nodes: [
AffineSpace,
Point,
VectorSpace,
Vector,
Translation,
AffineCombination,
AffineSubspace,
AffineBasis,
Dimension,
AffineTransformation
],
edges: [
AffineSpace -> HAS_POINT_SET -> Point,
AffineSpace -> MODELED_ON -> VectorSpace,
Point -> DIFFERENCE_RETURNS -> Vector,
Point -> TRANSLATED_BY -> Vector,
AffineSpace -> SUPPORTS -> AffineCombination,
AffineSubspace -> SUBSET_OF -> AffineSpace,
AffineSpace -> HAS_AFFINE_BASIS -> AffineBasis,
AffineBasis -> DETERMINES -> Dimension,
AffineTransformation -> MAPS -> AffineSpace
]
},
CROSS_ONTOLOGY_LINKS: {
VectorSpaceOntology:
direction_space,
ModuleOntology:
broader_scalar_action_background,
LinearTransformationOntology:
linear_part_of_affine_maps,
CoordinateGeometryOntology:
lines_planes_and_coordinates,
ConvexGeometryOntology:
convex_combinations_and_hulls,
ProjectiveGeometryOntology:
affine_chart_relation,
AlgebraicGeometryOntology:
affine_n_space_and_coordinate_ring,
SystemOfEquationsOntology:
nonhomogeneous_linear_solution_sets
},
TERMINATION_CONDITION: {
ontology_complete_when: [
affine_space_defined,
point_vector_distinction_defined,
free_transitive_action_defined,
no_intrinsic_origin_defined,
affine_combination_defined,
affine_independence_and_basis_defined,
affine_subspace_defined,
affine_transformation_defined,
dimension_defined,
coordinate_and_geometry_relations_defined,
error_detection_defined,
cross_ontology_links_defined,
recursive_coherence_verified
]
}
}
EXECUTE Affine_Space_Ontology_v1.0:
INPUT:
mathematical_entity_or_query
PIPELINE:
Parse
-> IdentifyPointSet
-> IdentifyDirectionVectorSpace
-> VerifyVectorSpaceStructure
-> VerifyFreeTransitiveAction
-> DistinguishPointsFromVectors
-> ComputePointDifferencesAndTranslations
-> AnalyseAffineCombinations
-> DetectAffineIndependenceAndBasis
-> IdentifyAffineSubspaces
-> AnalyseAffineTransformations
-> DeriveCoordinateAndGeometricSemantics
-> VerifyOriginIndependence
-> LinkRelatedOntologies
-> AssignConfidence
-> EmitSemanticResult
OUTPUT: {
entity,
classification,
point_set,
direction_space,
dimension,
affine_basis,
affine_combinations,
affine_span,
affine_subspaces,
translations,
affine_transformations,
coordinate_semantics,
geometric_relations,
verification,
ontology_relations,
confidence,
semantic_equivalence,
flow_hash
}
END FLOW Affine_Space_Ontology_v1.0
Download Code
Copy to Clipboard