R0047-24186 · q-20261015-advance-20261113-r04-euler-criterion-quadratic-residue-0061
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 = [37]
After
derived = [[[2, 1], [3, 1], [4, 1], [5, 2], [6, 1]], 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, 37)
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(10, 0)
After
Euler ORIGINAL signed a minus modulus multiple = 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, S003
S005 · implies
Before
source roles = [10, 37, 0]
After
derived = [10, 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 = [37, 10, 10]
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 · calculation
Before
Euler square root candidate29 := mul(29, 29)
After
Euler square root candidate29 = 841
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, S034
S036 · calculation
Before
Euler square root candidate30 := mul(30, 30)
After
Euler square root candidate30 = 900
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 · calculation
Before
Euler square root candidate31 := mul(31, 31)
After
Euler square root candidate31 = 961
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, S036
S038 · calculation
Before
Euler square root candidate32 := mul(32, 32)
After
Euler square root candidate32 = 1024
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 square root candidate33 := mul(33, 33)
After
Euler square root candidate33 = 1089
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 · calculation
Before
Euler square root candidate34 := mul(34, 34)
After
Euler square root candidate34 = 1156
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, S039
S041 · calculation
Before
Euler square root candidate35 := mul(35, 35)
After
Euler square root candidate35 = 1225
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 square root candidate36 := mul(36, 36)
After
Euler square root candidate36 = 1296
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 = [37, 10]
After
derived = [[[1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 12], [8, 27], [9, 7], [10, 26], [11, 10], [12, 33], [13, 21], [14, 11], [15, 3], [16, 34], [17, 30], [18, 28], [19, 28], [20, 30], [21, 34], [22, 3], [23, 11], [24, 21], [25, 33], [26, 10], [27, 26], [28, 7], [29, 27], [30, 12], [31, 36], [32, 25], [33, 16], [34, 9], [35, 4], [36, 1]], [11, 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, S042
S044 · calculation
Before
Euler binary power square0 := mul(10, 10)
After
Euler binary power square0 = 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, S043
S045 · implies
Before
source roles = [0, [1, 10, 18], 37, 10, 18]
After
derived = [null, 100, 1, 26, 9]
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, S044
S046 · calculation
Before
Euler binary power accumulate1 := mul(1, 26)
After
Euler binary power accumulate1 = 26
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, S045
S047 · calculation
Before
Euler binary power square1 := mul(26, 26)
After
Euler binary power square1 = 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, S046
S048 · implies
Before
source roles = [1, [1, 26, 9], 37, 10, 18]
After
derived = [26, 676, 26, 10, 4]
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, S047
S049 · calculation
Before
Euler binary power square2 := mul(10, 10)
After
Euler binary power square2 = 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, S048
S050 · implies
Before
source roles = [2, [26, 10, 4], 37, 10, 18]
After
derived = [null, 100, 26, 26, 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, S049
S051 · calculation
Before
Euler binary power square3 := mul(26, 26)
After
Euler binary power square3 = 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, S050
S052 · implies
Before
source roles = [3, [26, 26, 2], 37, 10, 18]
After
derived = [null, 676, 26, 10, 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, S051
S053 · calculation
Before
Euler binary power accumulate4 := mul(26, 10)
After
Euler binary power accumulate4 = 260
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, S052
S054 · calculation
Before
Euler binary power square4 := mul(10, 10)
After
Euler binary power square4 = 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, S053
S055 · implies
Before
source roles = [4, [26, 10, 1], 37, 10, 18]
After
derived = [260, 100, 1, 26, 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, S054
S056 · implies
Before
source roles = [37, [11, 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, S055