Step-by-step derivation
S001 · implies
Before
source roles = [qf-density12-length-midpoint-equidistance, density12_length_midpoint_equidistance, integer_euclidean_plane]
After
derived = [[midpoint_x, midpoint_y, SQUARED_PM, SQUARED_MQ]]
Conditions: none
Retain the ORIGINAL bank full operation prefix,domain and ordered answer roles.Use orthogonal_equal_unit only where a frame is declared,and degrees where an angle unit is declared.Integer fractions retain/1.Do not invent parameters or alter original bilingual sources.
Step identifiers and dependencies
Rule: R59_EXACT_family_domain_FULLprefix_operation_and_answer_roles · Uses: G001
S002 · calculation
Before
Length original PQ ORIGINAL Q minus P coordinate0 := sub(14, -13)
After
Length original PQ ORIGINAL Q minus P coordinate0 = 27
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S001
S003 · calculation
Before
Length original PQ ORIGINAL Q minus P coordinate1 := sub(15, 1)
After
Length original PQ ORIGINAL Q minus P coordinate1 = 14
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
Length original PQ ORIGINAL square coordinate0 := mul(27, 27)
After
Length original PQ ORIGINAL square coordinate0 = 729
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
Length original PQ ORIGINAL square coordinate1 := mul(14, 14)
After
Length original PQ ORIGINAL square coordinate1 = 196
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
Length original PQ ORIGINAL squared norm sum := sum(729, 196)
After
Length original PQ ORIGINAL squared norm sum = 925
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · implies
Before
source roles = [Length original PQ, [-13, 1], [14, 15]]
After
derived = [[27, 14], 925]
Conditions: none
In the SAME equal-unit orthogonal L2 frame,the directed displacement is Q-P with signs retained.The sum of coordinate squares is the nonnegative SQUARED length.Derived coordinates may exceed SAFE without being revalidated as raw inputs.
Step identifiers and dependencies
Rule: Euclidean_DIRECTED_displacement_then_SQUARED_nonnegative_norm · Uses: G001, S006
S008 · calculation
Before
Midpoint ORIGINAL endpoint sum coordinate0 := sum(-13, 14)
After
Midpoint ORIGINAL endpoint sum coordinate0 = 1
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
Midpoint ORIGINAL average coordinate0 := div(1, 2)
After
Midpoint ORIGINAL average coordinate0 = 1/2
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · calculation
Before
Midpoint ORIGINAL endpoint sum coordinate1 := sum(1, 15)
After
Midpoint ORIGINAL endpoint sum coordinate1 = 16
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
Midpoint ORIGINAL average coordinate1 := div(16, 2)
After
Midpoint ORIGINAL average coordinate1 = 8
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
Midpoint ORIGINAL full squared length over four := div(925, 4)
After
Midpoint ORIGINAL full squared length over four = 925/4
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
Midpoint reverse PM displacement coordinate0 := sub(1/2, -13)
After
Midpoint reverse PM displacement coordinate0 = 27/2
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · calculation
Before
Midpoint reverse PM displacement coordinate1 := sub(8, 1)
After
Midpoint reverse PM displacement coordinate1 = 7
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · calculation
Before
Midpoint reverse PM coordinate0 square := mul(27/2, 27/2)
After
Midpoint reverse PM coordinate0 square = 729/4
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
Midpoint reverse PM coordinate1 square := mul(7, 7)
After
Midpoint reverse PM coordinate1 square = 49
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
Midpoint reverse PM squared sum := sum(729/4, 49)
After
Midpoint reverse PM squared sum = 925/4
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · calculation
Before
Midpoint reverse MQ displacement coordinate0 := sub(14, 1/2)
After
Midpoint reverse MQ displacement coordinate0 = 27/2
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S017
S019 · calculation
Before
Midpoint reverse MQ displacement coordinate1 := sub(15, 8)
After
Midpoint reverse MQ displacement coordinate1 = 7
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
Midpoint reverse MQ coordinate0 square := mul(27/2, 27/2)
After
Midpoint reverse MQ coordinate0 square = 729/4
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
Midpoint reverse MQ coordinate1 square := mul(7, 7)
After
Midpoint reverse MQ coordinate1 square = 49
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
Midpoint reverse MQ squared sum := sum(729/4, 49)
After
Midpoint reverse MQ squared sum = 925/4
Conditions: none
Substitute exact ORIGINAL roles,without floating approximation.SAFE bounds raw inputs only;derived integers/rationals are unbounded and do not inherit another bank component cap.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
S023 · implies
Before
source roles = [[-13, 1], [14, 15], [1/2, 8/1], 925]
After
derived = [925/4, 925/4, 925/4]
Conditions: none
Average EACH coordinate to obtain M,possibly half-integral.Both M-P and Q-M are half the original displacement,so EACH squared length is N/4,also recomputed separately.These are SQUARES,not square roots;P=Q is legal.
Step identifiers and dependencies
Rule: Length_midpoint_TWO_HALFsegment_SQUARES_not_distances · Uses: G001, S022