| Step | Hyp | Ref | Expression | 
						
							| 1 |  | modprminv.1 | ⊢ 𝑅  =  ( ( 𝐴 ↑ ( 𝑃  −  2 ) )  mod  𝑃 ) | 
						
							| 2 |  | elfzelz | ⊢ ( 𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) )  →  𝑆  ∈  ℤ ) | 
						
							| 3 |  | zmulcl | ⊢ ( ( 𝐴  ∈  ℤ  ∧  𝑆  ∈  ℤ )  →  ( 𝐴  ·  𝑆 )  ∈  ℤ ) | 
						
							| 4 | 2 3 | sylan2 | ⊢ ( ( 𝐴  ∈  ℤ  ∧  𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) ) )  →  ( 𝐴  ·  𝑆 )  ∈  ℤ ) | 
						
							| 5 |  | modprm1div | ⊢ ( ( 𝑃  ∈  ℙ  ∧  ( 𝐴  ·  𝑆 )  ∈  ℤ )  →  ( ( ( 𝐴  ·  𝑆 )  mod  𝑃 )  =  1  ↔  𝑃  ∥  ( ( 𝐴  ·  𝑆 )  −  1 ) ) ) | 
						
							| 6 | 4 5 | sylan2 | ⊢ ( ( 𝑃  ∈  ℙ  ∧  ( 𝐴  ∈  ℤ  ∧  𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) ) ) )  →  ( ( ( 𝐴  ·  𝑆 )  mod  𝑃 )  =  1  ↔  𝑃  ∥  ( ( 𝐴  ·  𝑆 )  −  1 ) ) ) | 
						
							| 7 | 6 | expr | ⊢ ( ( 𝑃  ∈  ℙ  ∧  𝐴  ∈  ℤ )  →  ( 𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) )  →  ( ( ( 𝐴  ·  𝑆 )  mod  𝑃 )  =  1  ↔  𝑃  ∥  ( ( 𝐴  ·  𝑆 )  −  1 ) ) ) ) | 
						
							| 8 | 7 | 3adant3 | ⊢ ( ( 𝑃  ∈  ℙ  ∧  𝐴  ∈  ℤ  ∧  ¬  𝑃  ∥  𝐴 )  →  ( 𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) )  →  ( ( ( 𝐴  ·  𝑆 )  mod  𝑃 )  =  1  ↔  𝑃  ∥  ( ( 𝐴  ·  𝑆 )  −  1 ) ) ) ) | 
						
							| 9 | 8 | pm5.32d | ⊢ ( ( 𝑃  ∈  ℙ  ∧  𝐴  ∈  ℤ  ∧  ¬  𝑃  ∥  𝐴 )  →  ( ( 𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) )  ∧  ( ( 𝐴  ·  𝑆 )  mod  𝑃 )  =  1 )  ↔  ( 𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) )  ∧  𝑃  ∥  ( ( 𝐴  ·  𝑆 )  −  1 ) ) ) ) | 
						
							| 10 | 1 | prmdiveq | ⊢ ( ( 𝑃  ∈  ℙ  ∧  𝐴  ∈  ℤ  ∧  ¬  𝑃  ∥  𝐴 )  →  ( ( 𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) )  ∧  𝑃  ∥  ( ( 𝐴  ·  𝑆 )  −  1 ) )  ↔  𝑆  =  𝑅 ) ) | 
						
							| 11 | 9 10 | bitrd | ⊢ ( ( 𝑃  ∈  ℙ  ∧  𝐴  ∈  ℤ  ∧  ¬  𝑃  ∥  𝐴 )  →  ( ( 𝑆  ∈  ( 0 ... ( 𝑃  −  1 ) )  ∧  ( ( 𝐴  ·  𝑆 )  mod  𝑃 )  =  1 )  ↔  𝑆  =  𝑅 ) ) |