Step-by-step derivation
S001 · implies
Before
ordered triples in an orthonormal equal-unit frame
After
vertex indices are fixed;allow rotations,translations and reflections
Conditions: none
Correspond equal indices without silently permuting vertices;Euclidean congruence allows reflection.Check nondegeneracy before SSS.
Step identifiers and dependencies
Rule: fixed_vertex_correspondence · Uses: G001
S002 · calculation
Before
A vector1 component0 := sub(20, 0)
After
A vector1 component0 = 20
Conditions: none
Subtract the first vertex to obtain an edge-vector coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S001
S003 · calculation
Before
A vector1 component1 := sub(0, 0)
After
A vector1 component1 = 0
Conditions: none
Subtract the first vertex to obtain an edge-vector coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
A vector2 component0 := sub(1, 0)
After
A vector2 component0 = 1
Conditions: none
Subtract the first vertex to obtain an edge-vector coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
A vector2 component1 := sub(21, 0)
After
A vector2 component1 = 21
Conditions: none
Subtract the first vertex to obtain an edge-vector coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
A determinant positive term := mul(20, 21)
After
A determinant positive term = 420
Conditions: none
Compute the first cross product term of the determinant.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
A determinant negative term := mul(0, 1)
After
A determinant negative term = 0
Conditions: none
Compute the other cross product term,retaining its subtraction position.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
A oriented double area := sub(420, 0)
After
A oriented double area = 420
Conditions: none
Subtract the terms;nonzero means noncollinear and also excludes repeated vertices.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · implies
Before
determinant A=420
After
proper triangle=Yes
Conditions: none
This exact determinant replaces visual guessing;degenerate triples do not meet the triangle premise of SSS.
Step identifiers and dependencies
Rule: triangle_nondegeneracy · Uses: G001, S008
S010 · calculation
Before
B vector1 component0 := sub(20, 0)
After
B vector1 component0 = 20
Conditions: none
Subtract the first vertex to obtain an edge-vector coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
B vector1 component1 := sub(0, 0)
After
B vector1 component1 = 0
Conditions: none
Subtract the first vertex to obtain an edge-vector coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
B vector2 component0 := sub(-1, 0)
After
B vector2 component0 = -1
Conditions: none
Subtract the first vertex to obtain an edge-vector coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
B vector2 component1 := sub(21, 0)
After
B vector2 component1 = 21
Conditions: none
Subtract the first vertex to obtain an edge-vector coordinate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · calculation
Before
B determinant positive term := mul(20, 21)
After
B determinant positive term = 420
Conditions: none
Compute the first cross product term of the determinant.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · calculation
Before
B determinant negative term := mul(0, -1)
After
B determinant negative term = 0
Conditions: none
Compute the other cross product term,retaining its subtraction position.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
B oriented double area := sub(420, 0)
After
B oriented double area = 420
Conditions: none
Subtract the terms;nonzero means noncollinear and also excludes repeated vertices.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · implies
Before
determinant B=420
After
proper triangle=Yes
Conditions: none
This exact determinant replaces visual guessing;degenerate triples do not meet the triangle premise of SSS.
Step identifiers and dependencies
Rule: triangle_nondegeneracy · Uses: G001, S016
S018 · calculation
Before
A12 delta0 := sub(20, 0)
After
A12 delta0 = 20
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
A12 square0 := square(20)
After
A12 square0 = 400
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
A12 delta1 := sub(0, 0)
After
A12 delta1 = 0
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
A12 square1 := square(0)
After
A12 square1 = 0
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
A12 squared length := sum(400, 0)
After
A12 squared length = 400
Conditions: none
Add by the Pythagorean relation to obtain squared length,not length itself.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
S023 · calculation
Before
A13 delta0 := sub(1, 0)
After
A13 delta0 = 1
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · calculation
Before
A13 square0 := square(1)
After
A13 square0 = 1
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S023
S025 · calculation
Before
A13 delta1 := sub(21, 0)
After
A13 delta1 = 21
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · calculation
Before
A13 square1 := square(21)
After
A13 square1 = 441
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S025
S027 · calculation
Before
A13 squared length := sum(1, 441)
After
A13 squared length = 442
Conditions: none
Add by the Pythagorean relation to obtain squared length,not length itself.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · calculation
Before
A23 delta0 := sub(1, 20)
After
A23 delta0 = -19
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S027
S029 · calculation
Before
A23 square0 := square(-19)
After
A23 square0 = 361
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · calculation
Before
A23 delta1 := sub(21, 0)
After
A23 delta1 = 21
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S029
S031 · calculation
Before
A23 square1 := square(21)
After
A23 square1 = 441
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · calculation
Before
A23 squared length := sum(361, 441)
After
A23 squared length = 802
Conditions: none
Add by the Pythagorean relation to obtain squared length,not length itself.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S031
S033 · calculation
Before
B12 delta0 := sub(20, 0)
After
B12 delta0 = 20
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S032
S034 · calculation
Before
B12 square0 := square(20)
After
B12 square0 = 400
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S033
S035 · calculation
Before
B12 delta1 := sub(0, 0)
After
B12 delta1 = 0
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S034
S036 · calculation
Before
B12 square1 := square(0)
After
B12 square1 = 0
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S035
S037 · calculation
Before
B12 squared length := sum(400, 0)
After
B12 squared length = 400
Conditions: none
Add by the Pythagorean relation to obtain squared length,not length itself.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S036
S038 · calculation
Before
B13 delta0 := sub(-1, 0)
After
B13 delta0 = -1
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S037
S039 · calculation
Before
B13 square0 := square(-1)
After
B13 square0 = 1
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S038
S040 · calculation
Before
B13 delta1 := sub(21, 0)
After
B13 delta1 = 21
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S039
S041 · calculation
Before
B13 square1 := square(21)
After
B13 square1 = 441
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S040
S042 · calculation
Before
B13 squared length := sum(1, 441)
After
B13 squared length = 442
Conditions: none
Add by the Pythagorean relation to obtain squared length,not length itself.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S041
S043 · calculation
Before
B23 delta0 := sub(-1, 20)
After
B23 delta0 = -21
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S042
S044 · calculation
Before
B23 square0 := square(-21)
After
B23 square0 = 441
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S043
S045 · calculation
Before
B23 delta1 := sub(21, 0)
After
B23 delta1 = 21
Conditions: none
Subtract coordinates of the endpoints of this same side.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S044
S046 · calculation
Before
B23 square1 := square(21)
After
B23 square1 = 441
Conditions: none
Square the coordinate difference;its sign does not affect length.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S045
S047 · calculation
Before
B23 squared length := sum(441, 441)
After
B23 squared length = 882
Conditions: none
Add by the Pythagorean relation to obtain squared length,not length itself.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S046
S048 · implies
Before
side 12:A²=400;B²=400
After
corresponding lengths equal=Yes
Conditions: none
Lengths are nonnegative,so equality of squares is equivalent to equality of lengths.Compare only sides with the same fixed labels.
Step identifiers and dependencies
Rule: corresponding_side_equality · Uses: G001, S047
S049 · implies
Before
side 13:A²=442;B²=442
After
corresponding lengths equal=Yes
Conditions: none
Lengths are nonnegative,so equality of squares is equivalent to equality of lengths.Compare only sides with the same fixed labels.
Step identifiers and dependencies
Rule: corresponding_side_equality · Uses: G001, S048
S050 · implies
Before
side 23:A²=802;B²=882
After
corresponding lengths equal=No
Conditions: none
Lengths are nonnegative,so equality of squares is equivalent to equality of lengths.Compare only sides with the same fixed labels.
Step identifiers and dependencies
Rule: corresponding_side_equality · Uses: G001, S049
S051 · implies
Before
[Yes, Yes, No]
After
fixed-label SSS holds=No
Conditions: none
SSS requires all three corresponding sides of the proper triangles to agree.The three sides determine the inner products of two edge vectors,allowing a Euclidean isometry.Any mismatch rejects this labeling,not every other permutation.
Step identifiers and dependencies
Rule: fixed_label_sss · Uses: G001, S050