R0047-24199 · q-20261015-advance-20261113-r04-euler-criterion-quadratic-residue-0074
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 = [97]
After
derived = [[[2, 1], [3, 1], [4, 1], [5, 2], [6, 1], [7, 6], [8, 1], [9, 7]], 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, 97)
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, 97, 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 = [97, 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 · 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 · calculation
Before
Euler square root candidate37 := mul(37, 37)
After
Euler square root candidate37 = 1369
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, S042
S044 · calculation
Before
Euler square root candidate38 := mul(38, 38)
After
Euler square root candidate38 = 1444
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 square root candidate39 := mul(39, 39)
After
Euler square root candidate39 = 1521
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 · calculation
Before
Euler square root candidate40 := mul(40, 40)
After
Euler square root candidate40 = 1600
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 square root candidate41 := mul(41, 41)
After
Euler square root candidate41 = 1681
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 · calculation
Before
Euler square root candidate42 := mul(42, 42)
After
Euler square root candidate42 = 1764
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, S047
S049 · calculation
Before
Euler square root candidate43 := mul(43, 43)
After
Euler square root candidate43 = 1849
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 · calculation
Before
Euler square root candidate44 := mul(44, 44)
After
Euler square root candidate44 = 1936
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, S049
S051 · calculation
Before
Euler square root candidate45 := mul(45, 45)
After
Euler square root candidate45 = 2025
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 · calculation
Before
Euler square root candidate46 := mul(46, 46)
After
Euler square root candidate46 = 2116
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, S051
S053 · calculation
Before
Euler square root candidate47 := mul(47, 47)
After
Euler square root candidate47 = 2209
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 square root candidate48 := mul(48, 48)
After
Euler square root candidate48 = 2304
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 · calculation
Before
Euler square root candidate49 := mul(49, 49)
After
Euler square root candidate49 = 2401
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, S054
S056 · calculation
Before
Euler square root candidate50 := mul(50, 50)
After
Euler square root candidate50 = 2500
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, S055
S057 · calculation
Before
Euler square root candidate51 := mul(51, 51)
After
Euler square root candidate51 = 2601
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, S056
S058 · calculation
Before
Euler square root candidate52 := mul(52, 52)
After
Euler square root candidate52 = 2704
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, S057
S059 · calculation
Before
Euler square root candidate53 := mul(53, 53)
After
Euler square root candidate53 = 2809
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, S058
S060 · calculation
Before
Euler square root candidate54 := mul(54, 54)
After
Euler square root candidate54 = 2916
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, S059
S061 · calculation
Before
Euler square root candidate55 := mul(55, 55)
After
Euler square root candidate55 = 3025
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, S060
S062 · calculation
Before
Euler square root candidate56 := mul(56, 56)
After
Euler square root candidate56 = 3136
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, S061
S063 · calculation
Before
Euler square root candidate57 := mul(57, 57)
After
Euler square root candidate57 = 3249
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, S062
S064 · calculation
Before
Euler square root candidate58 := mul(58, 58)
After
Euler square root candidate58 = 3364
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, S063
S065 · calculation
Before
Euler square root candidate59 := mul(59, 59)
After
Euler square root candidate59 = 3481
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, S064
S066 · calculation
Before
Euler square root candidate60 := mul(60, 60)
After
Euler square root candidate60 = 3600
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, S065
S067 · calculation
Before
Euler square root candidate61 := mul(61, 61)
After
Euler square root candidate61 = 3721
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, S066
S068 · calculation
Before
Euler square root candidate62 := mul(62, 62)
After
Euler square root candidate62 = 3844
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, S067
S069 · calculation
Before
Euler square root candidate63 := mul(63, 63)
After
Euler square root candidate63 = 3969
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, S068
S070 · calculation
Before
Euler square root candidate64 := mul(64, 64)
After
Euler square root candidate64 = 4096
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, S069
S071 · calculation
Before
Euler square root candidate65 := mul(65, 65)
After
Euler square root candidate65 = 4225
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, S070
S072 · calculation
Before
Euler square root candidate66 := mul(66, 66)
After
Euler square root candidate66 = 4356
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, S071
S073 · calculation
Before
Euler square root candidate67 := mul(67, 67)
After
Euler square root candidate67 = 4489
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, S072
S074 · calculation
Before
Euler square root candidate68 := mul(68, 68)
After
Euler square root candidate68 = 4624
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, S073
S075 · calculation
Before
Euler square root candidate69 := mul(69, 69)
After
Euler square root candidate69 = 4761
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, S074
S076 · calculation
Before
Euler square root candidate70 := mul(70, 70)
After
Euler square root candidate70 = 4900
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, S075
S077 · calculation
Before
Euler square root candidate71 := mul(71, 71)
After
Euler square root candidate71 = 5041
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, S076
S078 · calculation
Before
Euler square root candidate72 := mul(72, 72)
After
Euler square root candidate72 = 5184
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, S077
S079 · calculation
Before
Euler square root candidate73 := mul(73, 73)
After
Euler square root candidate73 = 5329
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, S078
S080 · calculation
Before
Euler square root candidate74 := mul(74, 74)
After
Euler square root candidate74 = 5476
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, S079
S081 · calculation
Before
Euler square root candidate75 := mul(75, 75)
After
Euler square root candidate75 = 5625
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, S080
S082 · calculation
Before
Euler square root candidate76 := mul(76, 76)
After
Euler square root candidate76 = 5776
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, S081
S083 · calculation
Before
Euler square root candidate77 := mul(77, 77)
After
Euler square root candidate77 = 5929
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, S082
S084 · calculation
Before
Euler square root candidate78 := mul(78, 78)
After
Euler square root candidate78 = 6084
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, S083
S085 · calculation
Before
Euler square root candidate79 := mul(79, 79)
After
Euler square root candidate79 = 6241
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, S084
S086 · calculation
Before
Euler square root candidate80 := mul(80, 80)
After
Euler square root candidate80 = 6400
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, S085
S087 · calculation
Before
Euler square root candidate81 := mul(81, 81)
After
Euler square root candidate81 = 6561
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, S086
S088 · calculation
Before
Euler square root candidate82 := mul(82, 82)
After
Euler square root candidate82 = 6724
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, S087
S089 · calculation
Before
Euler square root candidate83 := mul(83, 83)
After
Euler square root candidate83 = 6889
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, S088
S090 · calculation
Before
Euler square root candidate84 := mul(84, 84)
After
Euler square root candidate84 = 7056
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, S089
S091 · calculation
Before
Euler square root candidate85 := mul(85, 85)
After
Euler square root candidate85 = 7225
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, S090
S092 · calculation
Before
Euler square root candidate86 := mul(86, 86)
After
Euler square root candidate86 = 7396
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, S091
S093 · calculation
Before
Euler square root candidate87 := mul(87, 87)
After
Euler square root candidate87 = 7569
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, S092
S094 · calculation
Before
Euler square root candidate88 := mul(88, 88)
After
Euler square root candidate88 = 7744
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, S093
S095 · calculation
Before
Euler square root candidate89 := mul(89, 89)
After
Euler square root candidate89 = 7921
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, S094
S096 · calculation
Before
Euler square root candidate90 := mul(90, 90)
After
Euler square root candidate90 = 8100
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, S095
S097 · calculation
Before
Euler square root candidate91 := mul(91, 91)
After
Euler square root candidate91 = 8281
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, S096
S098 · calculation
Before
Euler square root candidate92 := mul(92, 92)
After
Euler square root candidate92 = 8464
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, S097
S099 · calculation
Before
Euler square root candidate93 := mul(93, 93)
After
Euler square root candidate93 = 8649
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, S098
S100 · calculation
Before
Euler square root candidate94 := mul(94, 94)
After
Euler square root candidate94 = 8836
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, S099
S101 · calculation
Before
Euler square root candidate95 := mul(95, 95)
After
Euler square root candidate95 = 9025
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, S100
S102 · calculation
Before
Euler square root candidate96 := mul(96, 96)
After
Euler square root candidate96 = 9216
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, S101
S103 · implies
Before
source roles = [97, 5]
After
derived = [[[1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81], [10, 3], [11, 24], [12, 47], [13, 72], [14, 2], [15, 31], [16, 62], [17, 95], [18, 33], [19, 70], [20, 12], [21, 53], [22, 96], [23, 44], [24, 91], [25, 43], [26, 94], [27, 50], [28, 8], [29, 65], [30, 27], [31, 88], [32, 54], [33, 22], [34, 89], [35, 61], [36, 35], [37, 11], [38, 86], [39, 66], [40, 48], [41, 32], [42, 18], [43, 6], [44, 93], [45, 85], [46, 79], [47, 75], [48, 73], [49, 73], [50, 75], [51, 79], [52, 85], [53, 93], [54, 6], [55, 18], [56, 32], [57, 48], [58, 66], [59, 86], [60, 11], [61, 35], [62, 61], [63, 89], [64, 22], [65, 54], [66, 88], [67, 27], [68, 65], [69, 8], [70, 50], [71, 94], [72, 43], [73, 91], [74, 44], [75, 96], [76, 53], [77, 12], [78, 70], [79, 33], [80, 95], [81, 62], [82, 31], [83, 2], [84, 72], [85, 47], [86, 24], [87, 3], [88, 81], [89, 64], [90, 49], [91, 36], [92, 25], [93, 16], [94, 9], [95, 4], [96, 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, S102
S104 · 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, S103
S105 · implies
Before
source roles = [0, [1, 5, 48], 97, 5, 48]
After
derived = [null, 25, 1, 25, 24]
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, S104
S106 · calculation
Before
Euler binary power square1 := mul(25, 25)
After
Euler binary power square1 = 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, S105
S107 · implies
Before
source roles = [1, [1, 25, 24], 97, 5, 48]
After
derived = [null, 625, 1, 43, 12]
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, S106
S108 · calculation
Before
Euler binary power square2 := mul(43, 43)
After
Euler binary power square2 = 1849
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, S107
S109 · implies
Before
source roles = [2, [1, 43, 12], 97, 5, 48]
After
derived = [null, 1849, 1, 6, 6]
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, S108
S110 · calculation
Before
Euler binary power square3 := mul(6, 6)
After
Euler binary power square3 = 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, S109
S111 · implies
Before
source roles = [3, [1, 6, 6], 97, 5, 48]
After
derived = [null, 36, 1, 36, 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, S110
S112 · calculation
Before
Euler binary power accumulate4 := mul(1, 36)
After
Euler binary power accumulate4 = 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, S111
S113 · calculation
Before
Euler binary power square4 := mul(36, 36)
After
Euler binary power square4 = 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, S112
S114 · implies
Before
source roles = [4, [1, 36, 3], 97, 5, 48]
After
derived = [36, 1296, 36, 35, 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, S113
S115 · calculation
Before
Euler binary power accumulate5 := mul(36, 35)
After
Euler binary power accumulate5 = 1260
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, S114
S116 · calculation
Before
Euler binary power square5 := mul(35, 35)
After
Euler binary power square5 = 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, S115
S117 · implies
Before
source roles = [5, [36, 35, 1], 97, 5, 48]
After
derived = [1260, 1225, 96, 61, 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, S116
S118 · implies
Before
source roles = [97, [], -1, 96]
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, S117