Step-by-step derivation
S001 · implies
Before
source roles = [wilson-prime-inverse-pairing]
After
derived = [[p, all_inverse_pairs, self_inverse_residues, distinct_cancelling_pairs, self_inverse_scope, factorial_residue, Wilson_congruence]]
Conditions: none
List the complete operation/mode field order without JavaScript or answer-shape inference;Boolean,string,null and an unclaimed result remain distinct.
Step identifiers and dependencies
Rule: source_ordered_fields_without_JS · Uses: G001
S002 · implies
Before
source roles = [5, 1]
After
derived = [1, 1]
Conditions: none
Every nonzero residue at a prime modulus is a unit.For each a find the first source inverse;two inverses coincide by cancellation of a.
Step identifiers and dependencies
Rule: Wilson_EVERY_nonzero_prime_residue_unique_inverse · Uses: G001, S001
S003 · implies
Before
source roles = [5, 2]
After
derived = [3, 1]
Conditions: none
Every nonzero residue at a prime modulus is a unit.For each a find the first source inverse;two inverses coincide by cancellation of a.
Step identifiers and dependencies
Rule: Wilson_EVERY_nonzero_prime_residue_unique_inverse · Uses: G001, S002
S004 · implies
Before
source roles = [5, 3]
After
derived = [2, 1]
Conditions: none
Every nonzero residue at a prime modulus is a unit.For each a find the first source inverse;two inverses coincide by cancellation of a.
Step identifiers and dependencies
Rule: Wilson_EVERY_nonzero_prime_residue_unique_inverse · Uses: G001, S003
S005 · implies
Before
source roles = [5, 4]
After
derived = [4, 1]
Conditions: none
Every nonzero residue at a prime modulus is a unit.For each a find the first source inverse;two inverses coincide by cancellation of a.
Step identifiers and dependencies
Rule: Wilson_EVERY_nonzero_prime_residue_unique_inverse · Uses: G001, S004
S006 · calculation
Before
Wilson ORIGINAL prime factorial ORIGINAL running factorial product1 := mul(1, 1)
After
Wilson ORIGINAL prime factorial ORIGINAL running factorial product1 = 1
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · implies
Before
source roles = [Wilson ORIGINAL prime factorial, 5, 1, 1, 1]
After
derived = [0, 1, Yes, Yes]
Conditions: none
Retain the prior residue and full product at every k,then its unique Euclidean remainder in0..n-1.The invariant is value congruent to k! mod n,not an assumed last table entry.
Step identifiers and dependencies
Rule: Wilson_EACH_running_factorial_exact_Euclidean_remainder · Uses: G001, S006
S008 · calculation
Before
Wilson ORIGINAL prime factorial ORIGINAL running factorial product2 := mul(1, 2)
After
Wilson ORIGINAL prime factorial ORIGINAL running factorial product2 = 2
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · implies
Before
source roles = [Wilson ORIGINAL prime factorial, 5, 2, 1, 2]
After
derived = [0, 2, Yes, Yes]
Conditions: none
Retain the prior residue and full product at every k,then its unique Euclidean remainder in0..n-1.The invariant is value congruent to k! mod n,not an assumed last table entry.
Step identifiers and dependencies
Rule: Wilson_EACH_running_factorial_exact_Euclidean_remainder · Uses: G001, S008
S010 · calculation
Before
Wilson ORIGINAL prime factorial ORIGINAL running factorial product3 := mul(2, 3)
After
Wilson ORIGINAL prime factorial ORIGINAL running factorial product3 = 6
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · implies
Before
source roles = [Wilson ORIGINAL prime factorial, 5, 3, 2, 6]
After
derived = [1, 1, Yes, Yes]
Conditions: none
Retain the prior residue and full product at every k,then its unique Euclidean remainder in0..n-1.The invariant is value congruent to k! mod n,not an assumed last table entry.
Step identifiers and dependencies
Rule: Wilson_EACH_running_factorial_exact_Euclidean_remainder · Uses: G001, S010
S012 · calculation
Before
Wilson ORIGINAL prime factorial ORIGINAL running factorial product4 := mul(1, 4)
After
Wilson ORIGINAL prime factorial ORIGINAL running factorial product4 = 4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · implies
Before
source roles = [Wilson ORIGINAL prime factorial, 5, 4, 1, 4]
After
derived = [0, 4, Yes, Yes]
Conditions: none
Retain the prior residue and full product at every k,then its unique Euclidean remainder in0..n-1.The invariant is value congruent to k! mod n,not an assumed last table entry.
Step identifiers and dependencies
Rule: Wilson_EACH_running_factorial_exact_Euclidean_remainder · Uses: G001, S012
S014 · implies
Before
source roles = [5, [[1, 1], [2, 3], [3, 2], [4, 4]]]
After
derived = [[1, 4], [[2, 3, 1]], 4, Yes]
Conditions: none
Nonself inverse pairs multiply to1.A self-inverse satisfies(r-1)(r+1)=0 modulo a prime,so is±1.For p>2 their product is-1;at p2 only the single1=-1 remains.This general teaching argument does not turn the finite table/program into a Lean proof.
Step identifiers and dependencies
Rule: Wilson_GENERAL_inverse_pairing_and_p2_exception · Uses: G001, S013
Result
(5, [[1, 1], [2, 3], [3, 2], [4, 4]], [1, 4], [[2, 3, 1]], self_inverse_residues_1_and_p_minus_1, 4, Yes)
The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.