Step-by-step derivation
S001 · implies
Before
source roles = [qf-mod47-morder-qualification, [a, domain, n, operation]]
After
derived = [morder-qualification, Exact_multiplicative_order_mod_n]
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 = [ORIGINAL representative, 2, 17]
After
derived = [0, 2]
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, S001
S003 · implies
Before
source roles = [17, 2, 2, 1]
After
derived = [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], 16]
Conditions: none
FIRST require n≥2,normalize into0..n−1 and qualify gcd1.Enumerate ALL unit residues to obtain phi(n);do not replace general phi with n−1 or assign a numeric order to a nonunit.
Step identifiers and dependencies
Rule: Order_ALL_residues_UNIT_gcd_and_complete_phi_carrier · Uses: G001, S002
S004 · calculation
Before
Order ORIGINAL previous residue times unit exponent1 := mul(1, 2)
After
Order ORIGINAL previous residue times unit exponent1 = 2
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, S003
S005 · implies
Before
source roles = [first-return exponent1, 2, 17]
After
derived = [0, 2]
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, S004
S006 · calculation
Before
Order ORIGINAL previous residue times unit exponent2 := mul(2, 2)
After
Order ORIGINAL previous residue times unit exponent2 = 4
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, S005
S007 · implies
Before
source roles = [first-return exponent2, 4, 17]
After
derived = [0, 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, S006
S008 · calculation
Before
Order ORIGINAL previous residue times unit exponent3 := mul(4, 2)
After
Order ORIGINAL previous residue times unit exponent3 = 8
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, S007
S009 · implies
Before
source roles = [first-return exponent3, 8, 17]
After
derived = [0, 8]
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, S008
S010 · calculation
Before
Order ORIGINAL previous residue times unit exponent4 := mul(8, 2)
After
Order ORIGINAL previous residue times unit exponent4 = 16
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, S009
S011 · implies
Before
source roles = [first-return exponent4, 16, 17]
After
derived = [0, 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, S010
S012 · calculation
Before
Order ORIGINAL previous residue times unit exponent5 := mul(16, 2)
After
Order ORIGINAL previous residue times unit exponent5 = 32
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, S011
S013 · implies
Before
source roles = [first-return exponent5, 32, 17]
After
derived = [1, 15]
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, S012
S014 · calculation
Before
Order ORIGINAL previous residue times unit exponent6 := mul(15, 2)
After
Order ORIGINAL previous residue times unit exponent6 = 30
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, S013
S015 · implies
Before
source roles = [first-return exponent6, 30, 17]
After
derived = [1, 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, S014
S016 · calculation
Before
Order ORIGINAL previous residue times unit exponent7 := mul(13, 2)
After
Order ORIGINAL previous residue times unit exponent7 = 26
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, S015
S017 · implies
Before
source roles = [first-return exponent7, 26, 17]
After
derived = [1, 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, S016
S018 · calculation
Before
Order ORIGINAL previous residue times unit exponent8 := mul(9, 2)
After
Order ORIGINAL previous residue times unit exponent8 = 18
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, S017
S019 · implies
Before
source roles = [first-return exponent8, 18, 17]
After
derived = [1, 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, S018
S020 · implies
Before
source roles = [17, 2, 16]
After
derived = [[[1, 2], [2, 4], [3, 8], [4, 16], [5, 15], [6, 13], [7, 9], [8, 1]], 8]
Conditions: none
The SOURCE computes the complete first-return prefix EVEN when qualification outputs only gcd/phi.Retain this UNUSED computation obligation.Start at POSITIVE exponent1 with no earlier return.Do not claim order=phi,a primitive root or additive order.
Step identifiers and dependencies
Rule: Order_SOURCE_UNUSED_qualification_return_table_still_checked · Uses: G001, S019