Explore related knowledge and questions →

Question 24183: Residues Give Plus One and Nonresidues Minus One under the Qualified Criterion

On this page
  1. Original question and givens
  2. Definition and scope
  3. Step-by-step derivation
  4. Reverse checks
  5. Result
  6. This question review and source binding

Return to catalogue page 121

← Question derivation index · Original question batch

R0047-24183 · q-20261015-advance-20261113-r04-euler-criterion-quadratic-residue-0058

Original question and givens

Use odd prime p=23, original a=5, normalized nonzero class. Give (prime, normalized_class, classification, nonzero_roots, Legendre_symbol, signed_power, equal, certificate).

  • G001 — Use odd prime p=23, original a=5, normalized nonzero class. Give (prime, normalized_class, classification, nonzero_roots, Legendre_symbol, signed_power, equal, 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.

Step-by-step derivation

S001 · implies

Before

source roles = [eulercrit-residue-nonresidue-cases]

After

derived = [[prime, normalized_class, classification, nonzero_roots, Legendre_symbol, signed_power, equal, certificate]]

Conditions: none

List the source field order without JavaScript.Gradient boundary uses its original mode to choose6,8 or7 fields;no padding or answer-derived mode.

Step identifiers and dependencies

Rule: source_ordered_fields_without_JS · Uses: G001

S002 · implies

Before

source roles = [23]

After

derived = [[[2, 1], [3, 2], [4, 3]], Yes]

Conditions: none

A composite has a factor at most its square root;complete trial division qualifies the modulus,not a guessed square/Euler equality.

Step identifiers and dependencies

Rule: Euler_modulus_primality_complete_trial · Uses: G001, S001

S003 · calculation

Before

Euler ORIGINAL signed quotient times modulus := mul(0, 23)

After

Euler ORIGINAL signed quotient times modulus = 0

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S002

S004 · calculation

Before

Euler ORIGINAL signed a minus modulus multiple := sub(5, 0)

After

Euler ORIGINAL signed a minus modulus multiple = 5

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S003

S005 · implies

Before

source roles = [5, 23, 0]

After

derived = [5, Yes]

Conditions: none

Use a=qp+r with0<=r<p,including negative a;retain original a where the interface requests it.

Step identifiers and dependencies

Rule: Euler_Euclidean_class_before_hypothesis · Uses: G001, S004

S006 · implies

Before

source roles = [23, 5, 5]

After

derived = [Yes, Yes]

Conditions: none

Qualify odd primality and the nonzero class first.Define Legendre by the square table before comparing a power.

Step identifiers and dependencies

Rule: Euler_odd_prime_nonzero_qualified · Uses: G001, S005

S007 · calculation

Before

Euler square root candidate1 := mul(1, 1)

After

Euler square root candidate1 = 1

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S006

S008 · calculation

Before

Euler square root candidate2 := mul(2, 2)

After

Euler square root candidate2 = 4

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S007

S009 · calculation

Before

Euler square root candidate3 := mul(3, 3)

After

Euler square root candidate3 = 9

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S008

S010 · calculation

Before

Euler square root candidate4 := mul(4, 4)

After

Euler square root candidate4 = 16

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S009

S011 · calculation

Before

Euler square root candidate5 := mul(5, 5)

After

Euler square root candidate5 = 25

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S010

S012 · calculation

Before

Euler square root candidate6 := mul(6, 6)

After

Euler square root candidate6 = 36

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S011

S013 · calculation

Before

Euler square root candidate7 := mul(7, 7)

After

Euler square root candidate7 = 49

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S012

S014 · calculation

Before

Euler square root candidate8 := mul(8, 8)

After

Euler square root candidate8 = 64

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S013

S015 · calculation

Before

Euler square root candidate9 := mul(9, 9)

After

Euler square root candidate9 = 81

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S014

S016 · calculation

Before

Euler square root candidate10 := mul(10, 10)

After

Euler square root candidate10 = 100

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S015

S017 · calculation

Before

Euler square root candidate11 := mul(11, 11)

After

Euler square root candidate11 = 121

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S016

S018 · calculation

Before

Euler square root candidate12 := mul(12, 12)

After

Euler square root candidate12 = 144

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S017

S019 · calculation

Before

Euler square root candidate13 := mul(13, 13)

After

Euler square root candidate13 = 169

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S018

S020 · calculation

Before

Euler square root candidate14 := mul(14, 14)

After

Euler square root candidate14 = 196

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S019

S021 · calculation

Before

Euler square root candidate15 := mul(15, 15)

After

Euler square root candidate15 = 225

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S020

S022 · calculation

Before

Euler square root candidate16 := mul(16, 16)

After

Euler square root candidate16 = 256

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S021

S023 · calculation

Before

Euler square root candidate17 := mul(17, 17)

After

Euler square root candidate17 = 289

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S022

S024 · calculation

Before

Euler square root candidate18 := mul(18, 18)

After

Euler square root candidate18 = 324

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S023

S025 · calculation

Before

Euler square root candidate19 := mul(19, 19)

After

Euler square root candidate19 = 361

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S024

S026 · calculation

Before

Euler square root candidate20 := mul(20, 20)

After

Euler square root candidate20 = 400

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S025

S027 · calculation

Before

Euler square root candidate21 := mul(21, 21)

After

Euler square root candidate21 = 441

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S026

S028 · calculation

Before

Euler square root candidate22 := mul(22, 22)

After

Euler square root candidate22 = 484

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S027

S029 · implies

Before

source roles = [23, 5]

After

derived = [[[1, 1], [2, 4], [3, 9], [4, 16], [5, 2], [6, 13], [7, 3], [8, 18], [9, 12], [10, 8], [11, 6], [12, 6], [13, 8], [14, 12], [15, 18], [16, 3], [17, 13], [18, 2], [19, 16], [20, 9], [21, 4], [22, 1]], [], -1]

Conditions: none

Enumerate every nonzero square;roots give+1 and complete absence gives−1.This route does not use Euler criterion to compute Legendre.

Step identifiers and dependencies

Rule: Euler_ALL_nonzero_square_table_defines_Legendre · Uses: G001, S028

S030 · calculation

Before

Euler binary power accumulate0 := mul(1, 5)

After

Euler binary power accumulate0 = 5

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S029

S031 · calculation

Before

Euler binary power square0 := mul(5, 5)

After

Euler binary power square0 = 25

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S030

S032 · implies

Before

source roles = [0, [1, 5, 11], 23, 5, 11]

After

derived = [5, 25, 5, 2, 5]

Conditions: none

Maintain acc*base^remaining congruent to the original half-power:accumulate an odd bit,square the base,and halve the exponent to0.This is separate from the square-table calculation.

Step identifiers and dependencies

Rule: Euler_repeated_squaring_original_exponent_invariant · Uses: G001, S031

S033 · calculation

Before

Euler binary power accumulate1 := mul(5, 2)

After

Euler binary power accumulate1 = 10

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S032

S034 · calculation

Before

Euler binary power square1 := mul(2, 2)

After

Euler binary power square1 = 4

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S033

S035 · implies

Before

source roles = [1, [5, 2, 5], 23, 5, 11]

After

derived = [10, 4, 10, 4, 2]

Conditions: none

Maintain acc*base^remaining congruent to the original half-power:accumulate an odd bit,square the base,and halve the exponent to0.This is separate from the square-table calculation.

Step identifiers and dependencies

Rule: Euler_repeated_squaring_original_exponent_invariant · Uses: G001, S034

S036 · calculation

Before

Euler binary power square2 := mul(4, 4)

After

Euler binary power square2 = 16

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S035

S037 · implies

Before

source roles = [2, [10, 4, 2], 23, 5, 11]

After

derived = [null, 16, 10, 16, 1]

Conditions: none

Maintain acc*base^remaining congruent to the original half-power:accumulate an odd bit,square the base,and halve the exponent to0.This is separate from the square-table calculation.

Step identifiers and dependencies

Rule: Euler_repeated_squaring_original_exponent_invariant · Uses: G001, S036

S038 · calculation

Before

Euler binary power accumulate3 := mul(10, 16)

After

Euler binary power accumulate3 = 160

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S037

S039 · calculation

Before

Euler binary power square3 := mul(16, 16)

After

Euler binary power square3 = 256

Conditions: none

Substitute original roles and established intermediates exactly;check nonzero denominators and do not round.

Step identifiers and dependencies

Rule: exact_rational_arithmetic · Uses: G001, S038

S040 · implies

Before

source roles = [3, [10, 16, 1], 23, 5, 11]

After

derived = [160, 256, 22, 3, 0]

Conditions: none

Maintain acc*base^remaining congruent to the original half-power:accumulate an odd bit,square the base,and halve the exponent to0.This is separate from the square-table calculation.

Step identifiers and dependencies

Rule: Euler_repeated_squaring_original_exponent_invariant · Uses: G001, S039

S041 · implies

Before

source roles = [23, [], -1, 22]

After

derived = [-1, Yes, one finite instance is not a general theorem proof]

Conditions: none

p−1 represents−1 modulo p,not integer equality.Compare the two computations for this instance;one finite table is not a general theorem proof.

Step identifiers and dependencies

Rule: Euler_decode_p_minus1_and_instance_only_comparison · Uses: G001, S040

Reverse checks

  • 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 — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S039 · premise_and_result_audit — Recompute Euler binary power square3 with exact rational arithmetic, not rounded decimals.
  • S038 · premise_and_result_audit — Recompute Euler binary power accumulate3 with exact rational arithmetic, not rounded decimals.
  • S037 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S036 · premise_and_result_audit — Recompute Euler binary power square2 with exact rational arithmetic, not rounded decimals.
  • S035 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S034 · premise_and_result_audit — Recompute Euler binary power square1 with exact rational arithmetic, not rounded decimals.
  • S033 · premise_and_result_audit — Recompute Euler binary power accumulate1 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 Euler binary power square0 with exact rational arithmetic, not rounded decimals.
  • S030 · premise_and_result_audit — Recompute Euler binary power accumulate0 with exact rational arithmetic, not rounded decimals.
  • S029 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S028 · premise_and_result_audit — Recompute Euler square root candidate22 with exact rational arithmetic, not rounded decimals.
  • S027 · premise_and_result_audit — Recompute Euler square root candidate21 with exact rational arithmetic, not rounded decimals.
  • S026 · premise_and_result_audit — Recompute Euler square root candidate20 with exact rational arithmetic, not rounded decimals.
  • S025 · premise_and_result_audit — Recompute Euler square root candidate19 with exact rational arithmetic, not rounded decimals.
  • S024 · premise_and_result_audit — Recompute Euler square root candidate18 with exact rational arithmetic, not rounded decimals.
  • S023 · premise_and_result_audit — Recompute Euler square root candidate17 with exact rational arithmetic, not rounded decimals.
  • S022 · premise_and_result_audit — Recompute Euler square root candidate16 with exact rational arithmetic, not rounded decimals.
  • S021 · premise_and_result_audit — Recompute Euler square root candidate15 with exact rational arithmetic, not rounded decimals.
  • S020 · premise_and_result_audit — Recompute Euler square root candidate14 with exact rational arithmetic, not rounded decimals.
  • S019 · premise_and_result_audit — Recompute Euler square root candidate13 with exact rational arithmetic, not rounded decimals.
  • S018 · premise_and_result_audit — Recompute Euler square root candidate12 with exact rational arithmetic, not rounded decimals.
  • S017 · premise_and_result_audit — Recompute Euler square root candidate11 with exact rational arithmetic, not rounded decimals.
  • S016 · premise_and_result_audit — Recompute Euler square root candidate10 with exact rational arithmetic, not rounded decimals.
  • S015 · premise_and_result_audit — Recompute Euler square root candidate9 with exact rational arithmetic, not rounded decimals.
  • S014 · premise_and_result_audit — Recompute Euler square root candidate8 with exact rational arithmetic, not rounded decimals.
  • S013 · premise_and_result_audit — Recompute Euler square root candidate7 with exact rational arithmetic, not rounded decimals.
  • S012 · premise_and_result_audit — Recompute Euler square root candidate6 with exact rational arithmetic, not rounded decimals.
  • S011 · premise_and_result_audit — Recompute Euler square root candidate5 with exact rational arithmetic, not rounded decimals.
  • S010 · premise_and_result_audit — Recompute Euler square root candidate4 with exact rational arithmetic, not rounded decimals.
  • S009 · premise_and_result_audit — Recompute Euler square root candidate3 with exact rational arithmetic, not rounded decimals.
  • S008 · premise_and_result_audit — Recompute Euler square root candidate2 with exact rational arithmetic, not rounded decimals.
  • S007 · premise_and_result_audit — Recompute Euler square root candidate1 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 — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S004 · premise_and_result_audit — Recompute Euler ORIGINAL signed a minus modulus multiple with exact rational arithmetic, not rounded decimals.
  • S003 · premise_and_result_audit — Recompute Euler ORIGINAL signed quotient times modulus 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

(23, 5, quadratic_nonresidue, [], -1, -1, Yes, nonresidue_maps_to_minus_one)

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: bc625c12fc1fe91c05785d5f18098e157be86d8ee1c04d7a9c77a19e63feb1b8
  • candidate record SHA-256: b473d271f7e3c3a0c2bd3615eb1b3a46a60209302fde131f4dfdf0a658cb33b4
  • semantic review receipt SHA-256: 9b43b9823e9bd2478d6caa5b57ffed161c2c8956af86974e901d5662ad994386
  • question-first witness SHA-256: eb97596068e2d5648033bab2b8f6ca9b653bbe8cb77c0f8e1d16d0c40e46f50b
  • Lean: NOT_RUN · human review: NOT_PERFORMED
Same-source full JSON