Step-by-step derivation
S001 · implies
Before
source roles = [qf-mod31-fielddeep-frobenius, [domain, element, operation, p]]
After
derived = [fielddeep-frobenius, Exact_prime_field_Zp]
Conditions: none
THIS source uses LOCAL-hyphen operations with exact keys/domain.Keep source field order and numeric/Boolean/string roles;integer rational texts omit/1.Original questions,English,MKOs,ASTs and statuses remain unchanged.
Step identifiers and dependencies
Rule: R66_EXACT_source_bank_keys_local_operation_domain · Uses: G001
S002 · implies
Before
source roles = [29, [2, 3, 4, 5]]
After
derived = [[1, 2, 1, 4], Yes]
Conditions: none
Trial EVERY divisor2 through floor(sqrt(p));a composite would have a factor there.The empty test for p=2 is valid.This qualifies THIS prime field Z_p,not every finite field’s order or every finite ring as a field.
Step identifiers and dependencies
Rule: Field_PRIME_complete_trial_divisor_qualification · Uses: G001, S001
S003 · calculation
Before
Field ORIGINAL previous power times element k=1 := mul(1, 9)
After
Field ORIGINAL previous power times element k=1 = 9
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · implies
Before
source roles = [power exponent1, 9, 29]
After
derived = [0, 9]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S003
S005 · calculation
Before
Field ORIGINAL previous power times element k=2 := mul(9, 9)
After
Field ORIGINAL previous power times element k=2 = 81
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · implies
Before
source roles = [power exponent2, 81, 29]
After
derived = [2, 23]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S005
S007 · calculation
Before
Field ORIGINAL previous power times element k=3 := mul(23, 9)
After
Field ORIGINAL previous power times element k=3 = 207
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · implies
Before
source roles = [power exponent3, 207, 29]
After
derived = [7, 4]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S007
S009 · calculation
Before
Field ORIGINAL previous power times element k=4 := mul(4, 9)
After
Field ORIGINAL previous power times element k=4 = 36
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · implies
Before
source roles = [power exponent4, 36, 29]
After
derived = [1, 7]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S009
S011 · calculation
Before
Field ORIGINAL previous power times element k=5 := mul(7, 9)
After
Field ORIGINAL previous power times element k=5 = 63
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · implies
Before
source roles = [power exponent5, 63, 29]
After
derived = [2, 5]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S011
S013 · calculation
Before
Field ORIGINAL previous power times element k=6 := mul(5, 9)
After
Field ORIGINAL previous power times element k=6 = 45
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · implies
Before
source roles = [power exponent6, 45, 29]
After
derived = [1, 16]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S013
S015 · calculation
Before
Field ORIGINAL previous power times element k=7 := mul(16, 9)
After
Field ORIGINAL previous power times element k=7 = 144
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · implies
Before
source roles = [power exponent7, 144, 29]
After
derived = [4, 28]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S015
S017 · calculation
Before
Field ORIGINAL previous power times element k=8 := mul(28, 9)
After
Field ORIGINAL previous power times element k=8 = 252
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · implies
Before
source roles = [power exponent8, 252, 29]
After
derived = [8, 20]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S017
S019 · calculation
Before
Field ORIGINAL previous power times element k=9 := mul(20, 9)
After
Field ORIGINAL previous power times element k=9 = 180
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · implies
Before
source roles = [power exponent9, 180, 29]
After
derived = [6, 6]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S019
S021 · calculation
Before
Field ORIGINAL previous power times element k=10 := mul(6, 9)
After
Field ORIGINAL previous power times element k=10 = 54
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · implies
Before
source roles = [power exponent10, 54, 29]
After
derived = [1, 25]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S021
S023 · calculation
Before
Field ORIGINAL previous power times element k=11 := mul(25, 9)
After
Field ORIGINAL previous power times element k=11 = 225
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · implies
Before
source roles = [power exponent11, 225, 29]
After
derived = [7, 22]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S023
S025 · calculation
Before
Field ORIGINAL previous power times element k=12 := mul(22, 9)
After
Field ORIGINAL previous power times element k=12 = 198
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · implies
Before
source roles = [power exponent12, 198, 29]
After
derived = [6, 24]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S025
S027 · calculation
Before
Field ORIGINAL previous power times element k=13 := mul(24, 9)
After
Field ORIGINAL previous power times element k=13 = 216
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · implies
Before
source roles = [power exponent13, 216, 29]
After
derived = [7, 13]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S027
S029 · calculation
Before
Field ORIGINAL previous power times element k=14 := mul(13, 9)
After
Field ORIGINAL previous power times element k=14 = 117
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · implies
Before
source roles = [power exponent14, 117, 29]
After
derived = [4, 1]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S029
S031 · calculation
Before
Field ORIGINAL previous power times element k=15 := mul(1, 9)
After
Field ORIGINAL previous power times element k=15 = 9
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · implies
Before
source roles = [power exponent15, 9, 29]
After
derived = [0, 9]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S031
S033 · calculation
Before
Field ORIGINAL previous power times element k=16 := mul(9, 9)
After
Field ORIGINAL previous power times element k=16 = 81
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S032
S034 · implies
Before
source roles = [power exponent16, 81, 29]
After
derived = [2, 23]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S033
S035 · calculation
Before
Field ORIGINAL previous power times element k=17 := mul(23, 9)
After
Field ORIGINAL previous power times element k=17 = 207
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S034
S036 · implies
Before
source roles = [power exponent17, 207, 29]
After
derived = [7, 4]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S035
S037 · calculation
Before
Field ORIGINAL previous power times element k=18 := mul(4, 9)
After
Field ORIGINAL previous power times element k=18 = 36
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S036
S038 · implies
Before
source roles = [power exponent18, 36, 29]
After
derived = [1, 7]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S037
S039 · calculation
Before
Field ORIGINAL previous power times element k=19 := mul(7, 9)
After
Field ORIGINAL previous power times element k=19 = 63
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S038
S040 · implies
Before
source roles = [power exponent19, 63, 29]
After
derived = [2, 5]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S039
S041 · calculation
Before
Field ORIGINAL previous power times element k=20 := mul(5, 9)
After
Field ORIGINAL previous power times element k=20 = 45
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S040
S042 · implies
Before
source roles = [power exponent20, 45, 29]
After
derived = [1, 16]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S041
S043 · calculation
Before
Field ORIGINAL previous power times element k=21 := mul(16, 9)
After
Field ORIGINAL previous power times element k=21 = 144
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S042
S044 · implies
Before
source roles = [power exponent21, 144, 29]
After
derived = [4, 28]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S043
S045 · calculation
Before
Field ORIGINAL previous power times element k=22 := mul(28, 9)
After
Field ORIGINAL previous power times element k=22 = 252
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S044
S046 · implies
Before
source roles = [power exponent22, 252, 29]
After
derived = [8, 20]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S045
S047 · calculation
Before
Field ORIGINAL previous power times element k=23 := mul(20, 9)
After
Field ORIGINAL previous power times element k=23 = 180
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S046
S048 · implies
Before
source roles = [power exponent23, 180, 29]
After
derived = [6, 6]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S047
S049 · calculation
Before
Field ORIGINAL previous power times element k=24 := mul(6, 9)
After
Field ORIGINAL previous power times element k=24 = 54
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S048
S050 · implies
Before
source roles = [power exponent24, 54, 29]
After
derived = [1, 25]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S049
S051 · calculation
Before
Field ORIGINAL previous power times element k=25 := mul(25, 9)
After
Field ORIGINAL previous power times element k=25 = 225
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S050
S052 · implies
Before
source roles = [power exponent25, 225, 29]
After
derived = [7, 22]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S051
S053 · calculation
Before
Field ORIGINAL previous power times element k=26 := mul(22, 9)
After
Field ORIGINAL previous power times element k=26 = 198
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S052
S054 · implies
Before
source roles = [power exponent26, 198, 29]
After
derived = [6, 24]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S053
S055 · calculation
Before
Field ORIGINAL previous power times element k=27 := mul(24, 9)
After
Field ORIGINAL previous power times element k=27 = 216
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S054
S056 · implies
Before
source roles = [power exponent27, 216, 29]
After
derived = [7, 13]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S055
S057 · calculation
Before
Field ORIGINAL previous power times element k=28 := mul(13, 9)
After
Field ORIGINAL previous power times element k=28 = 117
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S056
S058 · implies
Before
source roles = [power exponent28, 117, 29]
After
derived = [4, 1]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S057
S059 · calculation
Before
Field ORIGINAL previous power times element k=29 := mul(1, 9)
After
Field ORIGINAL previous power times element k=29 = 9
Conditions: none
Calculate exactly from THIS step’s ORIGINAL ordered operands.Retain the SOURCE rational pre-reduction envelope separately;do not use floating values or silently widen a different bank.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S058
S060 · implies
Before
source roles = [power exponent29, 9, 29]
After
derived = [0, 9]
Conditions: none
Use integer Euclidean division: value=n*quotient+remainder with0≤remainder<n.Normalize negative representatives too;do not use floating remainders.
Step identifiers and dependencies
Rule: Finite_MOD_euclidean_quotient_remainder · Uses: G001, S059
S061 · implies
Before
source roles = [29, 9, [9, 23, 4, 7, 5, 16, 28, 20, 6, 25, 22, 24, 13, 1, 9, 23, 4, 7, 5, 16, 28, 20, 6, 25, 22, 24, 13, 1, 9]]
After
derived = [9, Yes]
Conditions: none
Repeated multiplication checks element^p=element in THIS prime field,including zero.Frobenius need not fix every element of an arbitrary extension field;do not widen the conclusion.
Step identifiers and dependencies
Rule: Field_FROBENIUS_prime_field_INCLUDES_zero · Uses: G001, S060