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(9, -8)
After
Length original PQ ORIGINAL Q minus P coordinate0 = 17
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(10, 1)
After
Length original PQ ORIGINAL Q minus P coordinate1 = 9
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(17, 17)
After
Length original PQ ORIGINAL square coordinate0 = 289
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(9, 9)
After
Length original PQ ORIGINAL square coordinate1 = 81
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(289, 81)
After
Length original PQ ORIGINAL squared norm sum = 370
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, [-8, 1], [9, 10]]
After
derived = [[17, 9], 370]
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(-8, 9)
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, 10)
After
Midpoint ORIGINAL endpoint sum coordinate1 = 11
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(11, 2)
After
Midpoint ORIGINAL average coordinate1 = 11/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, S010
S012 · calculation
Before
Midpoint ORIGINAL full squared length over four := div(370, 4)
After
Midpoint ORIGINAL full squared length over four = 185/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, S011
S013 · calculation
Before
Midpoint reverse PM displacement coordinate0 := sub(1/2, -8)
After
Midpoint reverse PM displacement coordinate0 = 17/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(11/2, 1)
After
Midpoint reverse PM displacement coordinate1 = 9/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, S013
S015 · calculation
Before
Midpoint reverse PM coordinate0 square := mul(17/2, 17/2)
After
Midpoint reverse PM coordinate0 square = 289/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(9/2, 9/2)
After
Midpoint reverse PM coordinate1 square = 81/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, S015
S017 · calculation
Before
Midpoint reverse PM squared sum := sum(289/4, 81/4)
After
Midpoint reverse PM squared sum = 185/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, S016
S018 · calculation
Before
Midpoint reverse MQ displacement coordinate0 := sub(9, 1/2)
After
Midpoint reverse MQ displacement coordinate0 = 17/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(10, 11/2)
After
Midpoint reverse MQ displacement coordinate1 = 9/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, S018
S020 · calculation
Before
Midpoint reverse MQ coordinate0 square := mul(17/2, 17/2)
After
Midpoint reverse MQ coordinate0 square = 289/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(9/2, 9/2)
After
Midpoint reverse MQ coordinate1 square = 81/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, S020
S022 · calculation
Before
Midpoint reverse MQ squared sum := sum(289/4, 81/4)
After
Midpoint reverse MQ squared sum = 185/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, S021
S023 · implies
Before
source roles = [[-8, 1], [9, 10], [1/2, 11/2], 370]
After
derived = [185/2, 185/2, 185/2]
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