# Question 30194: Exact Midpoint and Two Squared Segment Lengths

[Return to catalogue page 151](https://ocme.evemisslab.com/en/questions/page/151/)

[← Question derivation index](https://ocme.evemisslab.com/en/questions/) · [Original question batch](https://ocme.evemisslab.com/en/practice/batch-20261008-advance-20261012-r06-euclidean-length-foundations/#q-20261008-advance-20261012-r06-euclidean-length-0069)

This teaching derivation has second-context AI mathematical and bilingual semantic review, limited to the model and assumptions stated in this question. It has no human review or new Lean proof and does not promote the original question or MKO to Canonical truth.

R0059-30194 · q-20261008-advance-20261012-r06-euclidean-length-0069



## Original question and givens

Use one equal-unit orthogonal Euclidean L2 plane and one length unit. P=[-18, 1], Q=[19, 20], with midpoint M. Give (Mx, My, d(P,M)², d(M,Q)²). Use exact reduced fractions with positive denominators, retaining /1 for integers.


- G001 — Use one equal-unit orthogonal Euclidean L2 plane and one length unit. P=[-18, 1], Q=[19, 20], with midpoint M. Give (Mx, My, d(P,M)², d(M,Q)²). Use exact reduced fractions with positive denominators, retaining /1 for integers.





## Definition and scope

Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate.


- [mko-euclidean-length](https://ocme.evemisslab.com/en/mko/mko-euclidean-length/)





## Step-by-step derivation

S001 · impliesBefore

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 dependenciesRule: R59_EXACT_family_domain_FULLprefix_operation_and_answer_roles · Uses: G001





S002 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S001





S003 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S002





S004 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S003





S005 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S004





S006 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S005





S007 · impliesBefore

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 dependenciesRule: Euclidean_DIRECTED_displacement_then_SQUARED_nonnegative_norm · Uses: G001, S006





S008 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S007





S009 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S008





S010 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S009





S011 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S010





S012 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S011





S013 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S012





S014 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S013





S015 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S014





S016 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S015





S017 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S016





S018 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S017





S019 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S018





S020 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S019





S021 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S020





S022 · calculationBefore

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 dependenciesRule: exact_rational_arithmetic · Uses: G001, S021





S023 · impliesBefore

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 dependenciesRule: Length_midpoint_TWO_HALFsegment_SQUARES_not_distances · Uses: G001, S022









## Reverse checks


- S023 · premise_and_result_audit — Reverse-check this step against the ORIGINAL data,indices and premises,without claiming the conclusion uniquely recovers the inputs.Finite exact checking,independent review,formal proof and publication clearance remain separate.
- S022 · premise_and_result_audit — Recompute Midpoint reverse MQ squared sum with exact rational arithmetic, not rounded decimals.
- S021 · premise_and_result_audit — Recompute Midpoint reverse MQ coordinate1 square with exact rational arithmetic, not rounded decimals.
- S020 · premise_and_result_audit — Recompute Midpoint reverse MQ coordinate0 square with exact rational arithmetic, not rounded decimals.
- S019 · premise_and_result_audit — Recompute Midpoint reverse MQ displacement coordinate1 with exact rational arithmetic, not rounded decimals.
- S018 · premise_and_result_audit — Recompute Midpoint reverse MQ displacement coordinate0 with exact rational arithmetic, not rounded decimals.
- S017 · premise_and_result_audit — Recompute Midpoint reverse PM squared sum with exact rational arithmetic, not rounded decimals.
- S016 · premise_and_result_audit — Recompute Midpoint reverse PM coordinate1 square with exact rational arithmetic, not rounded decimals.
- S015 · premise_and_result_audit — Recompute Midpoint reverse PM coordinate0 square with exact rational arithmetic, not rounded decimals.
- S014 · premise_and_result_audit — Recompute Midpoint reverse PM displacement coordinate1 with exact rational arithmetic, not rounded decimals.
- S013 · premise_and_result_audit — Recompute Midpoint reverse PM displacement coordinate0 with exact rational arithmetic, not rounded decimals.
- S012 · premise_and_result_audit — Recompute Midpoint ORIGINAL full squared length over four with exact rational arithmetic, not rounded decimals.
- S011 · premise_and_result_audit — Recompute Midpoint ORIGINAL average coordinate1 with exact rational arithmetic, not rounded decimals.
- S010 · premise_and_result_audit — Recompute Midpoint ORIGINAL endpoint sum coordinate1 with exact rational arithmetic, not rounded decimals.
- S009 · premise_and_result_audit — Recompute Midpoint ORIGINAL average coordinate0 with exact rational arithmetic, not rounded decimals.
- S008 · premise_and_result_audit — Recompute Midpoint ORIGINAL endpoint sum coordinate0 with exact rational arithmetic, not rounded decimals.
- S007 · premise_and_result_audit — Reverse-check this step against the ORIGINAL data,indices and premises,without claiming the conclusion uniquely recovers the inputs.Finite exact checking,independent review,formal proof and publication clearance remain separate.
- S006 · premise_and_result_audit — Recompute Length original PQ ORIGINAL squared norm sum with exact rational arithmetic, not rounded decimals.
- S005 · premise_and_result_audit — Recompute Length original PQ ORIGINAL square coordinate1 with exact rational arithmetic, not rounded decimals.
- S004 · premise_and_result_audit — Recompute Length original PQ ORIGINAL square coordinate0 with exact rational arithmetic, not rounded decimals.
- S003 · premise_and_result_audit — Recompute Length original PQ ORIGINAL Q minus P coordinate1 with exact rational arithmetic, not rounded decimals.
- S002 · premise_and_result_audit — Recompute Length original PQ ORIGINAL Q minus P coordinate0 with exact rational arithmetic, not rounded decimals.
- S001 · premise_and_result_audit — Reverse-check this step against the ORIGINAL data,indices and premises,without claiming the conclusion uniquely recovers the inputs.Finite exact checking,independent review,formal proof and publication clearance remain separate.





## Result

(1/2, 21/2, 865/2, 865/2)

The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.





## This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
- input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
- original question SHA-256: e31e2c41a926ab348ada3e6fb5ed0ba2320f55ec5119b788034df94a84fa7484
- candidate record SHA-256: 0a8d6923ff37c238a40c954b6222e79f58477ecbfaef522e155bb393e2e7e7d6
- semantic review receipt SHA-256: 4c93dea3956f58509e20b3b8bbbf716dbc340b424a2a5177bc04aba9e8ea9ec5
- question-first witness SHA-256: a5e56e0d64d622d7202840cef7019839c5a99244c602694190779155207dafdf
- Lean: NOT_RUN · human review: NOT_PERFORMED

[Same-source full JSON](https://ocme.evemisslab.com/data/question-derivations/questions/q-20261008-advance-20261012-r06-euclidean-length-0069.json)




