| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > wilthimp | Structured version Visualization version GIF version | ||
| Description: The forward implication of Wilson's theorem wilth 27428 (see wilthlem3 27427), expressed using the modulo operation: For any prime 𝑝 we have (𝑝 − 1)!≡ − 1 (mod 𝑝), see theorem 5.24 in [ApostolNT] p. 116. (Contributed by AV, 21-Jul-2021.) |
| Ref | Expression |
|---|---|
| wilthimp | ⊢ (𝑃 ∈ ℙ → ((!‘(𝑃 − 1)) mod 𝑃) = ( -1 mod 𝑃)) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | wilth 27428 | . 2 ⊢ (𝑃 ∈ ℙ ↔ (𝑃 ∈ (ℤ≥‘2) ∧ 𝑃 ∥ ((!‘(𝑃 − 1)) + 1))) | |
| 2 | eluz2nn 13042 | . . . . 5 ⊢ (𝑃 ∈ (ℤ≥‘2) → 𝑃 ∈ ℕ) | |
| 3 | nnm1nn0 12674 | . . . . . . . . 9 ⊢ (𝑃 ∈ ℕ → (𝑃 − 1) ∈ ℕ0) | |
| 4 | 2, 3 | syl 18 | . . . . . . . 8 ⊢ (𝑃 ∈ (ℤ≥‘2) → (𝑃 − 1) ∈ ℕ0) |
| 5 | 4 | faccld 14455 | . . . . . . 7 ⊢ (𝑃 ∈ (ℤ≥‘2) → (!‘(𝑃 − 1)) ∈ ℕ) |
| 6 | 5 | nnzd 12746 | . . . . . 6 ⊢ (𝑃 ∈ (ℤ≥‘2) → (!‘(𝑃 − 1)) ∈ ℤ) |
| 7 | 6 | peano2zd 12833 | . . . . 5 ⊢ (𝑃 ∈ (ℤ≥‘2) → ((!‘(𝑃 − 1)) + 1) ∈ ℤ) |
| 8 | dvdsval3 16455 | . . . . 5 ⊢ ((𝑃 ∈ ℕ ∧ ((!‘(𝑃 − 1)) + 1) ∈ ℤ) → (𝑃 ∥ ((!‘(𝑃 − 1)) + 1) ↔ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0)) | |
| 9 | 2, 7, 8 | syl2anc 596 | . . . 4 ⊢ (𝑃 ∈ (ℤ≥‘2) → (𝑃 ∥ ((!‘(𝑃 − 1)) + 1) ↔ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0)) |
| 10 | 9 | biimpar 483 | . . . . . . 7 ⊢ ((𝑃 ∈ (ℤ≥‘2) ∧ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0) → 𝑃 ∥ ((!‘(𝑃 − 1)) + 1)) |
| 11 | 5 | nncnd 12378 | . . . . . . . . . 10 ⊢ (𝑃 ∈ (ℤ≥‘2) → (!‘(𝑃 − 1)) ∈ ℂ) |
| 12 | 1cnd 11329 | . . . . . . . . . 10 ⊢ (𝑃 ∈ (ℤ≥‘2) → 1 ∈ ℂ) | |
| 13 | 11, 12 | jca 521 | . . . . . . . . 9 ⊢ (𝑃 ∈ (ℤ≥‘2) → ((!‘(𝑃 − 1)) ∈ ℂ ∧ 1 ∈ ℂ)) |
| 14 | 13 | adantr 486 | . . . . . . . 8 ⊢ ((𝑃 ∈ (ℤ≥‘2) ∧ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0) → ((!‘(𝑃 − 1)) ∈ ℂ ∧ 1 ∈ ℂ)) |
| 15 | subneg 11634 | . . . . . . . 8 ⊢ (((!‘(𝑃 − 1)) ∈ ℂ ∧ 1 ∈ ℂ) → ((!‘(𝑃 − 1)) − -1) = ((!‘(𝑃 − 1)) + 1)) | |
| 16 | 14, 15 | syl 18 | . . . . . . 7 ⊢ ((𝑃 ∈ (ℤ≥‘2) ∧ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0) → ((!‘(𝑃 − 1)) − -1) = ((!‘(𝑃 − 1)) + 1)) |
| 17 | 10, 16 | breqtrrd 5136 | . . . . . 6 ⊢ ((𝑃 ∈ (ℤ≥‘2) ∧ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0) → 𝑃 ∥ ((!‘(𝑃 − 1)) − -1)) |
| 18 | neg1z 12759 | . . . . . . . . . 10 ⊢ -1 ∈ ℤ | |
| 19 | 18 | a1i 11 | . . . . . . . . 9 ⊢ (𝑃 ∈ (ℤ≥‘2) → -1 ∈ ℤ) |
| 20 | 2, 6, 19 | 3jca 1146 | . . . . . . . 8 ⊢ (𝑃 ∈ (ℤ≥‘2) → (𝑃 ∈ ℕ ∧ (!‘(𝑃 − 1)) ∈ ℤ ∧ -1 ∈ ℤ)) |
| 21 | 20 | adantr 486 | . . . . . . 7 ⊢ ((𝑃 ∈ (ℤ≥‘2) ∧ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0) → (𝑃 ∈ ℕ ∧ (!‘(𝑃 − 1)) ∈ ℤ ∧ -1 ∈ ℤ)) |
| 22 | moddvds 16462 | . . . . . . 7 ⊢ ((𝑃 ∈ ℕ ∧ (!‘(𝑃 − 1)) ∈ ℤ ∧ -1 ∈ ℤ) → (((!‘(𝑃 − 1)) mod 𝑃) = ( -1 mod 𝑃) ↔ 𝑃 ∥ ((!‘(𝑃 − 1)) − -1))) | |
| 23 | 21, 22 | syl 18 | . . . . . 6 ⊢ ((𝑃 ∈ (ℤ≥‘2) ∧ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0) → (((!‘(𝑃 − 1)) mod 𝑃) = ( -1 mod 𝑃) ↔ 𝑃 ∥ ((!‘(𝑃 − 1)) − -1))) |
| 24 | 17, 23 | mpbird 260 | . . . . 5 ⊢ ((𝑃 ∈ (ℤ≥‘2) ∧ (((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0) → ((!‘(𝑃 − 1)) mod 𝑃) = ( -1 mod 𝑃)) |
| 25 | 24 | ex 418 | . . . 4 ⊢ (𝑃 ∈ (ℤ≥‘2) → ((((!‘(𝑃 − 1)) + 1) mod 𝑃) = 0 → ((!‘(𝑃 − 1)) mod 𝑃) = ( -1 mod 𝑃))) |
| 26 | 9, 25 | sylbid 243 | . . 3 ⊢ (𝑃 ∈ (ℤ≥‘2) → (𝑃 ∥ ((!‘(𝑃 − 1)) + 1) → ((!‘(𝑃 − 1)) mod 𝑃) = ( -1 mod 𝑃))) |
| 27 | 26 | imp 412 | . 2 ⊢ ((𝑃 ∈ (ℤ≥‘2) ∧ 𝑃 ∥ ((!‘(𝑃 − 1)) + 1)) → ((!‘(𝑃 − 1)) mod 𝑃) = ( -1 mod 𝑃)) |
| 28 | 1, 27 | sylbi 220 | 1 ⊢ (𝑃 ∈ ℙ → ((!‘(𝑃 − 1)) mod 𝑃) = ( -1 mod 𝑃)) |
| Colors of variables: wff setvar class |
| This proof depends on syntax axioms: → wi 4 ↔ wb 209 ∧ wa 401 ∧ w3a 1103 = wceq 1570 ∈ wcel 2147 class class class wbr 5106 ‘cfv 6558 (class class class)co 7443 ℂcc 11225 0cc0 11227 1c1 11228 + caddc 11230 − cmin 11568 -cneg 11569 ℕcn 12362 2c2 12424 ℕ0cn0 12633 ℤcz 12720 ℤ≥cuz 12992 mod cmo 14036 !cfa 14444 ∥ cdvds 16451 ℙcprime 16875 |
| This proof depends on axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1828 ax-4 1842 ax-5 1945 ax-6 2002 ax-7 2043 ax-8 2149 ax-9 2157 ax-10 2180 ax-11 2197 ax-12 2216 ax-ext 2735 ax-rep 5235 ax-sep 5252 ax-nul 5263 ax-pow 5331 ax-pr 5395 ax-un 7775 ax-cnex 11283 ax-resscn 11284 ax-1cn 11285 ax-icn 11286 ax-addcl 11287 ax-addrcl 11288 ax-mulcl 11289 ax-mulrcl 11290 ax-mulcom 11291 ax-addass 11292 ax-mulass 11293 ax-distr 11294 ax-i2m1 11295 ax-1ne0 11296 ax-1rid 11297 ax-rnegex 11298 ax-rrecex 11299 ax-cnre 11300 ax-pre-lttri 11301 ax-pre-lttrn 11302 ax-pre-ltadd 11303 ax-pre-mulgt0 11304 ax-pre-sup 11305 ax-addf 11306 ax-mulf 11307 |
| This proof depends on definitions: df-bi 210 df-an 402 df-or 862 df-3or 1104 df-3an 1105 df-tru 1573 df-fal 1583 df-ex 1813 df-nf 1817 df-sb 2102 df-mo 2567 df-eu 2597 df-clab 2742 df-cleq 2755 df-clel 2839 df-nfc 2913 df-ne 2960 df-nel 3066 df-ral 3081 df-rex 3091 df-rmo 3369 df-reu 3370 df-rab 3417 df-v 3456 df-sbc 3743 df-csb 3852 df-ss 3901 df-pss 4017 df-dif 4050 df-in 4094 df-un 4154 df-nul 4282 df-if 4486 df-pw 4562 df-sn 4589 df-pr 4591 df-tp 4593 df-op 4839 df-uni 4871 df-int 4911 df-iun 4956 df-iin 4957 df-br 5107 df-opab 5171 df-mpt 5190 df-tr 5216 df-id 5550 df-eprel 5555 df-po 5563 df-so 5564 df-fr 5608 df-se 5609 df-we 5610 df-xp 5661 df-rel 5662 df-cnv 5663 df-co 5664 df-dm 5665 df-rn 5666 df-res 5667 df-ima 5668 df-pred 6322 df-ord 6383 df-on 6384 df-lim 6385 df-suc 6386 df-iota 6512 df-fun 6560 df-fn 6561 df-f 6562 df-f1 6563 df-fo 6564 df-f1o 6565 df-fv 6566 df-isom 6567 df-riota 7400 df-ov 7446 df-oprab 7447 df-mpo 7448 df-of 7717 df-om 7902 df-1st 8025 df-2nd 8026 df-supp 8205 df-frecs 8327 df-wrecs 8358 df-recs 8407 df-rdg 8446 df-1o 8504 df-2o 8505 df-oadd 8508 df-er 8745 df-en 9002 df-dom 9003 df-sdom 9004 df-fin 9005 df-fsupp 9382 df-sup 9461 df-inf 9462 df-oi 9531 df-dju 10009 df-card 10047 df-pnf 11372 df-mnf 11373 df-xr 11374 df-ltxr 11375 df-le 11376 df-sub 11570 df-neg 11571 df-div 12001 df-nn 12363 df-2 12432 df-3 12433 df-4 12434 df-5 12435 df-6 12436 df-7 12437 df-8 12438 df-9 12439 df-n0 12634 df-xnn0 12707 df-z 12721 df-dec 12842 df-uz 12993 df-rp 13148 df-fz 13667 df-fzo 13816 df-fl 13959 df-mod 14037 df-seq 14172 df-exp 14232 df-fac 14445 df-hash 14502 df-cj 15295 df-re 15296 df-im 15297 df-sqrt 15431 df-abs 15432 df-dvds 16452 df-gcd 16694 df-prm 16876 df-phi 16972 df-struct 17354 df-sets 17371 df-slot 17389 df-ndx 17401 df-base 17417 df-ress 17438 df-plusg 17470 df-mulr 17471 df-starv 17472 df-tset 17476 df-ple 17477 df-ds 17479 df-unif 17480 df-0g 17641 df-gsum 17642 df-mre 17785 df-mrc 17786 df-acs 17788 df-mgm 18845 df-sgrp 18937 df-mnd 18953 df-submnd 19008 df-grp 19176 df-minusg 19177 df-mulg 19307 df-subg 19362 df-cntz 19561 df-cmn 20026 df-abl 20027 df-mgp 20391 df-rng 20405 df-ur 20438 df-ring 20491 df-cring 20492 df-subrng 20828 df-subrg 20852 df-cnfld 21709 |
| This theorem is used by: (None) |
| Copyright terms: Public domain | W3C validator |