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(19, -18)
After
Length original PQ ORIGINAL Q minus P coordinate0 = 37
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(20, 1)
After
Length original PQ ORIGINAL Q minus P coordinate1 = 19
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(37, 37)
After
Length original PQ ORIGINAL square coordinate0 = 1369
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(19, 19)
After
Length original PQ ORIGINAL square coordinate1 = 361
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(1369, 361)
After
Length original PQ ORIGINAL squared norm sum = 1730
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, [-18, 1], [19, 20]]
After
derived = [[37, 19], 1730]
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(-18, 19)
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, 20)
After
Midpoint ORIGINAL endpoint sum coordinate1 = 21
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(21, 2)
After
Midpoint ORIGINAL average coordinate1 = 21/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(1730, 4)
After
Midpoint ORIGINAL full squared length over four = 865/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, -18)
After
Midpoint reverse PM displacement coordinate0 = 37/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(21/2, 1)
After
Midpoint reverse PM displacement coordinate1 = 19/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(37/2, 37/2)
After
Midpoint reverse PM coordinate0 square = 1369/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(19/2, 19/2)
After
Midpoint reverse PM coordinate1 square = 361/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(1369/4, 361/4)
After
Midpoint reverse PM squared sum = 865/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(19, 1/2)
After
Midpoint reverse MQ displacement coordinate0 = 37/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(20, 21/2)
After
Midpoint reverse MQ displacement coordinate1 = 19/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(37/2, 37/2)
After
Midpoint reverse MQ coordinate0 square = 1369/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(19/2, 19/2)
After
Midpoint reverse MQ coordinate1 square = 361/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(1369/4, 361/4)
After
Midpoint reverse MQ squared sum = 865/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 = [[-18, 1], [19, 20], [1/2, 21/2], 1730]
After
derived = [865/2, 865/2, 865/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