# Question 23356: A Nonzero Residue Modulo an Odd Prime Has Two Distinct Opposite Roots

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

[← Question derivation index](https://ocme.evemisslab.com/en/questions/) · [Original question batch](https://ocme.evemisslab.com/en/practice/batch-20261014-advance-20261111-r06-quadratic-residue-foundations/#q-20261014-advance-20261111-r06-quadratic-residue-0056)

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.

R0045-23356 · q-20261014-advance-20261111-r06-quadratic-residue-0056



## Original question and givens

Use bounded odd prime p=17 and the declared nonzero quadratic-residue convention. Enumerate every x=1..p−1 and x^2 modulo p; normalize input classes into0..p−1. Zero is excluded from nonzero residues. Do not assume an Euler-criterion or Legendre-symbol result. Original a=2. Give (p, normalized_class, roots, opposite_first_root, opposite_present, distinct_roots, certificate).


- G001 — Use bounded odd prime p=17 and the declared nonzero quadratic-residue convention. Enumerate every x=1..p−1 and x^2 modulo p; normalize input classes into0..p−1. Zero is excluded from nonzero residues. Do not assume an Euler-criterion or Legendre-symbol result. Original a=2. Give (p, normalized_class, roots, opposite_first_root, opposite_present, distinct_roots, certificate).





## 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-quadratic-residue](https://ocme.evemisslab.com/en/mko/mko-quadratic-residue/)





## Step-by-step derivation

S001 · impliesBefore

source operation=quadratic-paired-roots;original snapshot and mathematics retained

After

explicit ordered source output fields=[p, normalized_class, roots, opposite_first_root, opposite_present, distinct_roots, certificate]

Conditions: none

Retain the historical interface marker while listing source fields without JavaScript.Tags and No retain their claim scope;source-protocol ordering is not a mathematical proof.

Step identifiers and dependenciesRule: source_ordered_interface_explicit_without_javascript · Uses: G001





S002 · impliesBefore

Quadratic ORIGINAL modulus:ORIGINAL integer=17;complete possible trial divisors=[2, 3, 4]

After

ALL [divisor,remainder] rows=[[2, 1], [3, 2], [4, 1]];prime=Yes;a composite>1 has a factor at most its square root

Conditions: none

Check the entire square-root divisor range.The empty range qualifies prime2,but not0 or1.Samples,square tables or an Euler criterion do not replace primality qualification.

Step identifiers and dependenciesRule: finite_prime_ALL_trial_divisors_through_square_root · Uses: G001, S001





S003 · calculationBefore

Quadratic ORIGINAL nonzero root1 square := mul(1, 1)

After

Quadratic ORIGINAL nonzero root1 square = 1

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S002





S004 · impliesBefore

ORIGINAL nonzero root x=1 in1..16;actual square=1

After

Euclidean square=0*17+1;nonzero square class=1;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S003





S005 · calculationBefore

Quadratic ORIGINAL nonzero root2 square := mul(2, 2)

After

Quadratic ORIGINAL nonzero root2 square = 4

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S004





S006 · impliesBefore

ORIGINAL nonzero root x=2 in1..16;actual square=4

After

Euclidean square=0*17+4;nonzero square class=4;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S005





S007 · calculationBefore

Quadratic ORIGINAL nonzero root3 square := mul(3, 3)

After

Quadratic ORIGINAL nonzero root3 square = 9

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S006





S008 · impliesBefore

ORIGINAL nonzero root x=3 in1..16;actual square=9

After

Euclidean square=0*17+9;nonzero square class=9;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S007





S009 · calculationBefore

Quadratic ORIGINAL nonzero root4 square := mul(4, 4)

After

Quadratic ORIGINAL nonzero root4 square = 16

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S008





S010 · impliesBefore

ORIGINAL nonzero root x=4 in1..16;actual square=16

After

Euclidean square=0*17+16;nonzero square class=16;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S009





S011 · calculationBefore

Quadratic ORIGINAL nonzero root5 square := mul(5, 5)

After

Quadratic ORIGINAL nonzero root5 square = 25

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S010





S012 · impliesBefore

ORIGINAL nonzero root x=5 in1..16;actual square=25

After

Euclidean square=1*17+8;nonzero square class=8;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S011





S013 · calculationBefore

Quadratic ORIGINAL nonzero root6 square := mul(6, 6)

After

Quadratic ORIGINAL nonzero root6 square = 36

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S012





S014 · impliesBefore

ORIGINAL nonzero root x=6 in1..16;actual square=36

After

Euclidean square=2*17+2;nonzero square class=2;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S013





S015 · calculationBefore

Quadratic ORIGINAL nonzero root7 square := mul(7, 7)

After

Quadratic ORIGINAL nonzero root7 square = 49

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S014





S016 · impliesBefore

ORIGINAL nonzero root x=7 in1..16;actual square=49

After

Euclidean square=2*17+15;nonzero square class=15;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S015





S017 · calculationBefore

Quadratic ORIGINAL nonzero root8 square := mul(8, 8)

After

Quadratic ORIGINAL nonzero root8 square = 64

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S016





S018 · impliesBefore

ORIGINAL nonzero root x=8 in1..16;actual square=64

After

Euclidean square=3*17+13;nonzero square class=13;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S017





S019 · calculationBefore

Quadratic ORIGINAL nonzero root9 square := mul(9, 9)

After

Quadratic ORIGINAL nonzero root9 square = 81

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S018





S020 · impliesBefore

ORIGINAL nonzero root x=9 in1..16;actual square=81

After

Euclidean square=4*17+13;nonzero square class=13;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S019





S021 · calculationBefore

Quadratic ORIGINAL nonzero root10 square := mul(10, 10)

After

Quadratic ORIGINAL nonzero root10 square = 100

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S020





S022 · impliesBefore

ORIGINAL nonzero root x=10 in1..16;actual square=100

After

Euclidean square=5*17+15;nonzero square class=15;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S021





S023 · calculationBefore

Quadratic ORIGINAL nonzero root11 square := mul(11, 11)

After

Quadratic ORIGINAL nonzero root11 square = 121

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S022





S024 · impliesBefore

ORIGINAL nonzero root x=11 in1..16;actual square=121

After

Euclidean square=7*17+2;nonzero square class=2;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S023





S025 · calculationBefore

Quadratic ORIGINAL nonzero root12 square := mul(12, 12)

After

Quadratic ORIGINAL nonzero root12 square = 144

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S024





S026 · impliesBefore

ORIGINAL nonzero root x=12 in1..16;actual square=144

After

Euclidean square=8*17+8;nonzero square class=8;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S025





S027 · calculationBefore

Quadratic ORIGINAL nonzero root13 square := mul(13, 13)

After

Quadratic ORIGINAL nonzero root13 square = 169

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S026





S028 · impliesBefore

ORIGINAL nonzero root x=13 in1..16;actual square=169

After

Euclidean square=9*17+16;nonzero square class=16;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S027





S029 · calculationBefore

Quadratic ORIGINAL nonzero root14 square := mul(14, 14)

After

Quadratic ORIGINAL nonzero root14 square = 196

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S028





S030 · impliesBefore

ORIGINAL nonzero root x=14 in1..16;actual square=196

After

Euclidean square=11*17+9;nonzero square class=9;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S029





S031 · calculationBefore

Quadratic ORIGINAL nonzero root15 square := mul(15, 15)

After

Quadratic ORIGINAL nonzero root15 square = 225

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S030





S032 · impliesBefore

ORIGINAL nonzero root x=15 in1..16;actual square=225

After

Euclidean square=13*17+4;nonzero square class=4;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S031





S033 · calculationBefore

Quadratic ORIGINAL nonzero root16 square := mul(16, 16)

After

Quadratic ORIGINAL nonzero root16 square = 256

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S032





S034 · impliesBefore

ORIGINAL nonzero root x=16 in1..16;actual square=256

After

Euclidean square=15*17+1;nonzero square class=1;complete root-index order retained

Conditions: none

Enumerate every nonzero root with its exact square and modular decomposition.A nonzero x cannot square to0 modulo a prime.This is neither a residue sample nor an Euler/Legendre shortcut.

Step identifiers and dependenciesRule: quadratic_ALL_nonzero_square_rows_not_sample · Uses: G001, S033





S035 · calculationBefore

Quadratic distinct nonzero residue count := sum(1, 1, 1, 1, 1, 1, 1, 1)

After

Quadratic distinct nonzero residue count = 8

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S034





S036 · calculationBefore

Quadratic ORIGINAL modulus minus1 := sub(17, 1)

After

Quadratic ORIGINAL modulus minus1 = 16

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S035





S037 · calculationBefore

Quadratic half of all nonzero roots := div(16, 2)

After

Quadratic half of all nonzero roots = 8

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S036





S038 · impliesBefore

ORIGINAL ODD PRIME p=17;complete nonzero square table=[[1, 1], [2, 4], [3, 9], [4, 16], [5, 8], [6, 2], [7, 15], [8, 13], [9, 13], [10, 15], [11, 2], [12, 8], [13, 16], [14, 9], [15, 4], [16, 1]];distinct classes=[1, 2, 4, 8, 9, 13, 15, 16]

After

x^2=y^2 implies p divides(x-y)(x+y),so x=y or x=-y modp;odd p and nonzero x make opposite roots DISTINCT;each image has2 roots,so residue count=8=(17-1)/2=8

Conditions: none

The prime-field no-zero-divisor property gives x=±y;oddness makes2x nonzero.The opposite pairs partition all p−1 nonzero roots.This proves both counting and two-root statements,not their extension to zero,2 or composite moduli.

Step identifiers and dependenciesRule: quadratic_prime_field_opposite_root_pairs_exactly_two · Uses: G001, S037





S039 · calculationBefore

Quadratic ORIGINAL candidate class Euclidean quotient times modulus := mul(0, 17)

After

Quadratic ORIGINAL candidate class Euclidean quotient times modulus = 0

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S038





S040 · calculationBefore

Quadratic ORIGINAL candidate class ORIGINAL signed value minus multiple := sub(2, 0)

After

Quadratic ORIGINAL candidate class ORIGINAL signed value minus multiple = 2

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S039





S041 · impliesBefore

Quadratic ORIGINAL candidate class:ORIGINAL signed value=2;positive modulus=17;actual quotient=0

After

canonical residue=2;value=quotient*modulus+residue and0<=residue<modulus

Conditions: none

Retain the original signed value and congruence class via Euclidean division;do not mistake a language-specific negative remainder for the canonical class.

Step identifiers and dependenciesRule: signed_mod_ORIGINAL_class_normalized_not_changed · Uses: G001, S040





S042 · calculationBefore

Quadratic negative of FIRST source root Euclidean quotient times modulus := mul(-1, 17)

After

Quadratic negative of FIRST source root Euclidean quotient times modulus = -17

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S041





S043 · calculationBefore

Quadratic negative of FIRST source root ORIGINAL signed value minus multiple := sub(-6, -17)

After

Quadratic negative of FIRST source root ORIGINAL signed value minus multiple = 11

Conditions: none

Substitute this question's original roles,order and established intermediates exactly,not floats or another question's data.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S042





S044 · impliesBefore

Quadratic negative of FIRST source root:ORIGINAL signed value=-6;positive modulus=17;actual quotient=-1

After

canonical residue=11;value=quotient*modulus+residue and0<=residue<modulus

Conditions: none

Retain the original signed value and congruence class via Euclidean division;do not mistake a language-specific negative remainder for the canonical class.

Step identifiers and dependenciesRule: signed_mod_ORIGINAL_class_normalized_not_changed · Uses: G001, S043









## Reverse checks


- S044 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S043 · premise_and_result_audit — Recompute Quadratic negative of FIRST source root ORIGINAL signed value minus multiple with exact rational arithmetic, not rounded decimals.
- S042 · premise_and_result_audit — Recompute Quadratic negative of FIRST source root Euclidean quotient times modulus with exact rational arithmetic, not rounded decimals.
- S041 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S040 · premise_and_result_audit — Recompute Quadratic ORIGINAL candidate class ORIGINAL signed value minus multiple with exact rational arithmetic, not rounded decimals.
- S039 · premise_and_result_audit — Recompute Quadratic ORIGINAL candidate class Euclidean quotient times modulus with exact rational arithmetic, not rounded decimals.
- S038 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S037 · premise_and_result_audit — Recompute Quadratic half of all nonzero roots with exact rational arithmetic, not rounded decimals.
- S036 · premise_and_result_audit — Recompute Quadratic ORIGINAL modulus minus1 with exact rational arithmetic, not rounded decimals.
- S035 · premise_and_result_audit — Recompute Quadratic distinct nonzero residue count with exact rational arithmetic, not rounded decimals.
- S034 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S033 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root16 square with exact rational arithmetic, not rounded decimals.
- S032 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S031 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root15 square with exact rational arithmetic, not rounded decimals.
- S030 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S029 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root14 square with exact rational arithmetic, not rounded decimals.
- S028 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S027 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root13 square with exact rational arithmetic, not rounded decimals.
- S026 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S025 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root12 square with exact rational arithmetic, not rounded decimals.
- S024 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S023 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root11 square with exact rational arithmetic, not rounded decimals.
- S022 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S021 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root10 square with exact rational arithmetic, not rounded decimals.
- S020 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S019 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root9 square with exact rational arithmetic, not rounded decimals.
- S018 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S017 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root8 square with exact rational arithmetic, not rounded decimals.
- S016 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S015 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root7 square with exact rational arithmetic, not rounded decimals.
- S014 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S013 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root6 square with exact rational arithmetic, not rounded decimals.
- S012 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S011 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root5 square with exact rational arithmetic, not rounded decimals.
- S010 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S009 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root4 square with exact rational arithmetic, not rounded decimals.
- S008 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S007 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root3 square with exact rational arithmetic, not rounded decimals.
- S006 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S005 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root2 square with exact rational arithmetic, not rounded decimals.
- S004 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S003 · premise_and_result_audit — Recompute Quadratic ORIGINAL nonzero root1 square with exact rational arithmetic, not rounded decimals.
- S002 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S001 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.





## Result

(17, 2, [6, 11], 11, Yes, Yes, odd_prime_nonzero_residue_has_two_distinct_opposite_roots)

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: bf57df782c2c6bfa36732647829fa386c9c2270c89c705deba7e084d7c1ed990
- candidate record SHA-256: 04cb47200fb21a478fa83c9ca81fdaae64ae461426f0d8411461945d1d688032
- semantic review receipt SHA-256: 357d7ad7a6726b2a757558d3b9586a408ade06526cc023da093719c292704438
- question-first witness SHA-256: 99cefe17e98c7a74321801cf72df6d02fc95b6a6b78aa335accb7e11ed467b2a
- Lean: NOT_RUN · human review: NOT_PERFORMED

[Same-source full JSON](https://ocme.evemisslab.com/data/question-derivations/questions/q-20261014-advance-20261111-r06-quadratic-residue-0056.json)




