Explore related knowledge and questions →

Question 24134: Qualify Odd Primality and the Normalized Nonzero Class First

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-24134 · q-20261015-advance-20261113-r04-euler-criterion-quadratic-residue-0009

Original question and givens

Use prime=29, original a=9. Give (prime, a, normalized_class, odd_prime, nonzero_class, certificate).

  • G001 — Use prime=29, original a=9. Give (prime, a, normalized_class, odd_prime, nonzero_class, 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-domain-qualification]

After

derived = [[prime, a, normalized_class, odd_prime, nonzero_class, 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 = [29]

After

derived = [[[2, 1], [3, 2], [4, 1], [5, 4]], 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, 29)

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(9, 0)

After

Euler ORIGINAL signed a minus modulus multiple = 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, S003

S005 · implies

Before

source roles = [9, 29, 0]

After

derived = [9, 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 = [29, 9, 9]

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 · calculation

Before

Euler square root candidate23 := mul(23, 23)

After

Euler square root candidate23 = 529

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, S028

S030 · calculation

Before

Euler square root candidate24 := mul(24, 24)

After

Euler square root candidate24 = 576

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 square root candidate25 := mul(25, 25)

After

Euler square root candidate25 = 625

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 · calculation

Before

Euler square root candidate26 := mul(26, 26)

After

Euler square root candidate26 = 676

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, S031

S033 · calculation

Before

Euler square root candidate27 := mul(27, 27)

After

Euler square root candidate27 = 729

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 square root candidate28 := mul(28, 28)

After

Euler square root candidate28 = 784

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 = [29, 9]

After

derived = [[[1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 7], [7, 20], [8, 6], [9, 23], [10, 13], [11, 5], [12, 28], [13, 24], [14, 22], [15, 22], [16, 24], [17, 28], [18, 5], [19, 13], [20, 23], [21, 6], [22, 20], [23, 7], [24, 25], [25, 16], [26, 9], [27, 4], [28, 1]], [3, 26], 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, S034

S036 · calculation

Before

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

After

Euler binary power square0 = 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, S035

S037 · implies

Before

source roles = [0, [1, 9, 14], 29, 9, 14]

After

derived = [null, 81, 1, 23, 7]

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 accumulate1 := mul(1, 23)

After

Euler binary power accumulate1 = 23

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 square1 := mul(23, 23)

After

Euler binary power square1 = 529

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 = [1, [1, 23, 7], 29, 9, 14]

After

derived = [23, 529, 23, 7, 3]

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 · calculation

Before

Euler binary power accumulate2 := mul(23, 7)

After

Euler binary power accumulate2 = 161

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, S040

S042 · calculation

Before

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

After

Euler binary power square2 = 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, S041

S043 · implies

Before

source roles = [2, [23, 7, 3], 29, 9, 14]

After

derived = [161, 49, 16, 20, 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, S042

S044 · calculation

Before

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

After

Euler binary power accumulate3 = 320

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, S043

S045 · calculation

Before

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

After

Euler binary power square3 = 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, S044

S046 · implies

Before

source roles = [3, [16, 20, 1], 29, 9, 14]

After

derived = [320, 400, 1, 23, 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, S045

S047 · implies

Before

source roles = [29, [3, 26], 1, 1]

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, S046

Reverse checks

  • S047 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S046 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S045 · premise_and_result_audit — Recompute Euler binary power square3 with exact rational arithmetic, not rounded decimals.
  • S044 · premise_and_result_audit — Recompute Euler binary power accumulate3 with exact rational arithmetic, not rounded decimals.
  • S043 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
  • S042 · premise_and_result_audit — Recompute Euler binary power square2 with exact rational arithmetic, not rounded decimals.
  • S041 · premise_and_result_audit — Recompute Euler binary power accumulate2 with exact rational arithmetic, not rounded decimals.
  • 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 square1 with exact rational arithmetic, not rounded decimals.
  • S038 · premise_and_result_audit — Recompute Euler binary power accumulate1 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 square0 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 square root candidate28 with exact rational arithmetic, not rounded decimals.
  • S033 · premise_and_result_audit — Recompute Euler square root candidate27 with exact rational arithmetic, not rounded decimals.
  • S032 · premise_and_result_audit — Recompute Euler square root candidate26 with exact rational arithmetic, not rounded decimals.
  • S031 · premise_and_result_audit — Recompute Euler square root candidate25 with exact rational arithmetic, not rounded decimals.
  • S030 · premise_and_result_audit — Recompute Euler square root candidate24 with exact rational arithmetic, not rounded decimals.
  • S029 · premise_and_result_audit — Recompute Euler square root candidate23 with exact rational arithmetic, not rounded decimals.
  • 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

(29, 9, 9, Yes, Yes, odd_prime_and_nonzero_modular_class_qualified)

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