Step-by-step derivation
S001 · implies
Before
[[-23, 0], [24, 0], [0, 24]]
After
original vertex labels1,2,3 in an equal-unit orthogonal Euclidean frame
Conditions: none
Retain the original A,B,C order;the squared-coordinate formula uses equal units and orthogonal axes.Do not read values from a sketch or assume candidate vertices already form a triangle.
Step identifiers and dependencies
Rule: labelled_triangle_coordinate_scope · Uses: G001
S002 · implies
Before
[[-23, 0], [24, 0], [0, 24]]
After
three distinct points=Yes
Conditions: none
Check distinctness separately from noncollinearity;collinear points may be distinct,while repeated vertices do not form a proper triangle.
Step identifiers and dependencies
Rule: distinct_triangle_vertex_check · Uses: G001, S001
S003 · calculation
Before
ABC first vector component0 := sub(24, -23)
After
ABC first vector component0 = 47
Conditions: none
The first edge vector is the second vertex minus the first.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
ABC first vector component1 := sub(0, 0)
After
ABC first vector component1 = 0
Conditions: none
The first edge vector is the second vertex minus the first.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
ABC second vector component0 := sub(0, -23)
After
ABC second vector component0 = 23
Conditions: none
The second edge vector is the third vertex minus that same first vertex.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
ABC second vector component1 := sub(24, 0)
After
ABC second vector component1 = 24
Conditions: none
The second edge vector is the third vertex minus that same first vertex.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
ABC cross positive term := mul(47, 24)
After
ABC cross positive term = 1128
Conditions: none
Compute u_x v_y first.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
ABC cross negative term := mul(0, 23)
After
ABC cross negative term = 0
Conditions: none
Compute u_y v_x separately,retaining subtraction for the next step.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
ABC signed determinant := sub(1128, 0)
After
ABC signed determinant = 1128
Conditions: none
Subtract to obtain signed double area;do not erase label orientation with an absolute value.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · implies
Before
distinct=Yes;signed determinant=1128
After
proper triangle=Yes
Conditions: none
A proper triangle needs distinct vertices and nonzero determinant;this judges the supplied coordinates,not a general geometric construction proof.
Step identifiers and dependencies
Rule: triangle_nondegenerate_coordinate_qualification · Uses: G001, S009
S011 · implies
Before
marked vertex=3
After
opposite endpoints=[1, 2]
Conditions: none
The opposite-side endpoints are the other two original labels,not a reordered coordinate or side-length list.
Step identifiers and dependencies
Rule: original_label_opposite_side · Uses: G001, S010
S012 · calculation
Before
midpoint coordinate sum0 := sum(-23, 24)
After
midpoint coordinate sum0 = 1
Conditions: none
Add matching coordinates of the opposite endpoints.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
midpoint coordinate0 := div(1, 2)
After
midpoint coordinate0 = 1/2
Conditions: none
Divide the full sum by2,retaining the reduced rational value.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · calculation
Before
midpoint coordinate sum1 := sum(0, 0)
After
midpoint coordinate sum1 = 0
Conditions: none
Add matching coordinates of the opposite endpoints.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · calculation
Before
midpoint coordinate1 := div(0, 2)
After
midpoint coordinate1 = 0
Conditions: none
Divide the full sum by2,retaining the reduced rational value.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
first endpoint to midpoint coordinate difference0 := sub(-23, 1/2)
After
first endpoint to midpoint coordinate difference0 = -47/2
Conditions: none
Subtract matching coordinates,allowing rational midpoint coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
first endpoint to midpoint difference squared0 := square(-47/2)
After
first endpoint to midpoint difference squared0 = 2209/4
Conditions: none
Square each difference;its sign does not affect squared length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · calculation
Before
first endpoint to midpoint coordinate difference1 := sub(0, 0)
After
first endpoint to midpoint coordinate difference1 = 0
Conditions: none
Subtract matching coordinates,allowing rational midpoint coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
first endpoint to midpoint difference squared1 := square(0)
After
first endpoint to midpoint difference squared1 = 0
Conditions: none
Square each difference;its sign does not affect squared length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
first endpoint to midpoint squared distance := sum(2209/4, 0)
After
first endpoint to midpoint squared distance = 2209/4
Conditions: none
Add the two squares in the equal-unit orthogonal L2 frame.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
second endpoint to midpoint coordinate difference0 := sub(24, 1/2)
After
second endpoint to midpoint coordinate difference0 = 47/2
Conditions: none
Subtract matching coordinates,allowing rational midpoint coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
second endpoint to midpoint difference squared0 := square(47/2)
After
second endpoint to midpoint difference squared0 = 2209/4
Conditions: none
Square each difference;its sign does not affect squared length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
S023 · calculation
Before
second endpoint to midpoint coordinate difference1 := sub(0, 0)
After
second endpoint to midpoint coordinate difference1 = 0
Conditions: none
Subtract matching coordinates,allowing rational midpoint coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · calculation
Before
second endpoint to midpoint difference squared1 := square(0)
After
second endpoint to midpoint difference squared1 = 0
Conditions: none
Square each difference;its sign does not affect squared length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S023
S025 · calculation
Before
second endpoint to midpoint squared distance := sum(2209/4, 0)
After
second endpoint to midpoint squared distance = 2209/4
Conditions: none
Add the two squares in the equal-unit orthogonal L2 frame.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · calculation
Before
marked vertex to midpoint coordinate difference0 := sub(0, 1/2)
After
marked vertex to midpoint coordinate difference0 = -1/2
Conditions: none
Subtract matching coordinates,allowing rational midpoint coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S025
S027 · calculation
Before
marked vertex to midpoint difference squared0 := square(-1/2)
After
marked vertex to midpoint difference squared0 = 1/4
Conditions: none
Square each difference;its sign does not affect squared length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · calculation
Before
marked vertex to midpoint coordinate difference1 := sub(24, 0)
After
marked vertex to midpoint coordinate difference1 = 24
Conditions: none
Subtract matching coordinates,allowing rational midpoint coordinates.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S027
S029 · calculation
Before
marked vertex to midpoint difference squared1 := square(24)
After
marked vertex to midpoint difference squared1 = 576
Conditions: none
Square each difference;its sign does not affect squared length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · calculation
Before
marked vertex to midpoint squared distance := sum(1/4, 576)
After
marked vertex to midpoint squared distance = 2305/4
Conditions: none
Add the two squares in the equal-unit orthogonal L2 frame.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S029
S031 · implies
Before
endpoint squares=(2209/4,2209/4);vertex-to-midpoint square=2305/4
After
endpoint equality does not make every median half the opposite side
Conditions: none
The midpoint is equally distant from the endpoints,at half the side length.But a general third-vertex median need not have that length;do not apply a right-hypotenuse special case to arbitrary labels.
Step identifiers and dependencies
Rule: midpoint_endpoint_vs_median_distinction · Uses: G001, S030