| Step | Hyp | Ref
 | Expression | 
| 1 |   | fveq2 5558 | 
. . . . . 6
⊢ (𝑥 = 0 → (!‘𝑥) =
(!‘0)) | 
| 2 | 1 | breq2d 4045 | 
. . . . 5
⊢ (𝑥 = 0 → (𝑃 ∥ (!‘𝑥) ↔ 𝑃 ∥ (!‘0))) | 
| 3 |   | breq2 4037 | 
. . . . 5
⊢ (𝑥 = 0 → (𝑃 ≤ 𝑥 ↔ 𝑃 ≤ 0)) | 
| 4 | 2, 3 | imbi12d 234 | 
. . . 4
⊢ (𝑥 = 0 → ((𝑃 ∥ (!‘𝑥) → 𝑃 ≤ 𝑥) ↔ (𝑃 ∥ (!‘0) → 𝑃 ≤ 0))) | 
| 5 | 4 | imbi2d 230 | 
. . 3
⊢ (𝑥 = 0 → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑥) → 𝑃 ≤ 𝑥)) ↔ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘0) → 𝑃 ≤ 0)))) | 
| 6 |   | fveq2 5558 | 
. . . . . 6
⊢ (𝑥 = 𝑘 → (!‘𝑥) = (!‘𝑘)) | 
| 7 | 6 | breq2d 4045 | 
. . . . 5
⊢ (𝑥 = 𝑘 → (𝑃 ∥ (!‘𝑥) ↔ 𝑃 ∥ (!‘𝑘))) | 
| 8 |   | breq2 4037 | 
. . . . 5
⊢ (𝑥 = 𝑘 → (𝑃 ≤ 𝑥 ↔ 𝑃 ≤ 𝑘)) | 
| 9 | 7, 8 | imbi12d 234 | 
. . . 4
⊢ (𝑥 = 𝑘 → ((𝑃 ∥ (!‘𝑥) → 𝑃 ≤ 𝑥) ↔ (𝑃 ∥ (!‘𝑘) → 𝑃 ≤ 𝑘))) | 
| 10 | 9 | imbi2d 230 | 
. . 3
⊢ (𝑥 = 𝑘 → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑥) → 𝑃 ≤ 𝑥)) ↔ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑘) → 𝑃 ≤ 𝑘)))) | 
| 11 |   | fveq2 5558 | 
. . . . . 6
⊢ (𝑥 = (𝑘 + 1) → (!‘𝑥) = (!‘(𝑘 + 1))) | 
| 12 | 11 | breq2d 4045 | 
. . . . 5
⊢ (𝑥 = (𝑘 + 1) → (𝑃 ∥ (!‘𝑥) ↔ 𝑃 ∥ (!‘(𝑘 + 1)))) | 
| 13 |   | breq2 4037 | 
. . . . 5
⊢ (𝑥 = (𝑘 + 1) → (𝑃 ≤ 𝑥 ↔ 𝑃 ≤ (𝑘 + 1))) | 
| 14 | 12, 13 | imbi12d 234 | 
. . . 4
⊢ (𝑥 = (𝑘 + 1) → ((𝑃 ∥ (!‘𝑥) → 𝑃 ≤ 𝑥) ↔ (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1)))) | 
| 15 | 14 | imbi2d 230 | 
. . 3
⊢ (𝑥 = (𝑘 + 1) → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑥) → 𝑃 ≤ 𝑥)) ↔ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1))))) | 
| 16 |   | fveq2 5558 | 
. . . . . 6
⊢ (𝑥 = 𝑁 → (!‘𝑥) = (!‘𝑁)) | 
| 17 | 16 | breq2d 4045 | 
. . . . 5
⊢ (𝑥 = 𝑁 → (𝑃 ∥ (!‘𝑥) ↔ 𝑃 ∥ (!‘𝑁))) | 
| 18 |   | breq2 4037 | 
. . . . 5
⊢ (𝑥 = 𝑁 → (𝑃 ≤ 𝑥 ↔ 𝑃 ≤ 𝑁)) | 
| 19 | 17, 18 | imbi12d 234 | 
. . . 4
⊢ (𝑥 = 𝑁 → ((𝑃 ∥ (!‘𝑥) → 𝑃 ≤ 𝑥) ↔ (𝑃 ∥ (!‘𝑁) → 𝑃 ≤ 𝑁))) | 
| 20 | 19 | imbi2d 230 | 
. . 3
⊢ (𝑥 = 𝑁 → ((𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑥) → 𝑃 ≤ 𝑥)) ↔ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘𝑁) → 𝑃 ≤ 𝑁)))) | 
| 21 |   | fac0 10820 | 
. . . . 5
⊢
(!‘0) = 1 | 
| 22 | 21 | breq2i 4041 | 
. . . 4
⊢ (𝑃 ∥ (!‘0) ↔
𝑃 ∥
1) | 
| 23 |   | nprmdvds1 12308 | 
. . . . 5
⊢ (𝑃 ∈ ℙ → ¬
𝑃 ∥
1) | 
| 24 | 23 | pm2.21d 620 | 
. . . 4
⊢ (𝑃 ∈ ℙ → (𝑃 ∥ 1 → 𝑃 ≤ 0)) | 
| 25 | 22, 24 | biimtrid 152 | 
. . 3
⊢ (𝑃 ∈ ℙ → (𝑃 ∥ (!‘0) →
𝑃 ≤ 0)) | 
| 26 |   | facp1 10822 | 
. . . . . . . . . 10
⊢ (𝑘 ∈ ℕ0
→ (!‘(𝑘 + 1)) =
((!‘𝑘) ·
(𝑘 + 1))) | 
| 27 | 26 | adantr 276 | 
. . . . . . . . 9
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (!‘(𝑘 + 1)) =
((!‘𝑘) ·
(𝑘 + 1))) | 
| 28 | 27 | breq2d 4045 | 
. . . . . . . 8
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑃 ∥
(!‘(𝑘 + 1)) ↔
𝑃 ∥ ((!‘𝑘) · (𝑘 + 1)))) | 
| 29 |   | simpr 110 | 
. . . . . . . . 9
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ 𝑃 ∈
ℙ) | 
| 30 |   | faccl 10827 | 
. . . . . . . . . . 11
⊢ (𝑘 ∈ ℕ0
→ (!‘𝑘) ∈
ℕ) | 
| 31 | 30 | adantr 276 | 
. . . . . . . . . 10
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (!‘𝑘) ∈
ℕ) | 
| 32 | 31 | nnzd 9447 | 
. . . . . . . . 9
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (!‘𝑘) ∈
ℤ) | 
| 33 |   | nn0p1nn 9288 | 
. . . . . . . . . . 11
⊢ (𝑘 ∈ ℕ0
→ (𝑘 + 1) ∈
ℕ) | 
| 34 | 33 | adantr 276 | 
. . . . . . . . . 10
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑘 + 1) ∈
ℕ) | 
| 35 | 34 | nnzd 9447 | 
. . . . . . . . 9
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑘 + 1) ∈
ℤ) | 
| 36 |   | euclemma 12314 | 
. . . . . . . . 9
⊢ ((𝑃 ∈ ℙ ∧
(!‘𝑘) ∈ ℤ
∧ (𝑘 + 1) ∈
ℤ) → (𝑃 ∥
((!‘𝑘) ·
(𝑘 + 1)) ↔ (𝑃 ∥ (!‘𝑘) ∨ 𝑃 ∥ (𝑘 + 1)))) | 
| 37 | 29, 32, 35, 36 | syl3anc 1249 | 
. . . . . . . 8
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑃 ∥
((!‘𝑘) ·
(𝑘 + 1)) ↔ (𝑃 ∥ (!‘𝑘) ∨ 𝑃 ∥ (𝑘 + 1)))) | 
| 38 | 28, 37 | bitrd 188 | 
. . . . . . 7
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑃 ∥
(!‘(𝑘 + 1)) ↔
(𝑃 ∥ (!‘𝑘) ∨ 𝑃 ∥ (𝑘 + 1)))) | 
| 39 |   | nn0re 9258 | 
. . . . . . . . . . . . 13
⊢ (𝑘 ∈ ℕ0
→ 𝑘 ∈
ℝ) | 
| 40 | 39 | adantr 276 | 
. . . . . . . . . . . 12
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ 𝑘 ∈
ℝ) | 
| 41 | 40 | lep1d 8958 | 
. . . . . . . . . . 11
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ 𝑘 ≤ (𝑘 + 1)) | 
| 42 |   | prmz 12279 | 
. . . . . . . . . . . . . 14
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℤ) | 
| 43 | 42 | adantl 277 | 
. . . . . . . . . . . . 13
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ 𝑃 ∈
ℤ) | 
| 44 | 43 | zred 9448 | 
. . . . . . . . . . . 12
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ 𝑃 ∈
ℝ) | 
| 45 | 34 | nnred 9003 | 
. . . . . . . . . . . 12
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑘 + 1) ∈
ℝ) | 
| 46 |   | letr 8109 | 
. . . . . . . . . . . 12
⊢ ((𝑃 ∈ ℝ ∧ 𝑘 ∈ ℝ ∧ (𝑘 + 1) ∈ ℝ) →
((𝑃 ≤ 𝑘 ∧ 𝑘 ≤ (𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1))) | 
| 47 | 44, 40, 45, 46 | syl3anc 1249 | 
. . . . . . . . . . 11
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ ((𝑃 ≤ 𝑘 ∧ 𝑘 ≤ (𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1))) | 
| 48 | 41, 47 | mpan2d 428 | 
. . . . . . . . . 10
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑃 ≤ 𝑘 → 𝑃 ≤ (𝑘 + 1))) | 
| 49 | 48 | imim2d 54 | 
. . . . . . . . 9
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ ((𝑃 ∥
(!‘𝑘) → 𝑃 ≤ 𝑘) → (𝑃 ∥ (!‘𝑘) → 𝑃 ≤ (𝑘 + 1)))) | 
| 50 | 49 | com23 78 | 
. . . . . . . 8
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑃 ∥
(!‘𝑘) → ((𝑃 ∥ (!‘𝑘) → 𝑃 ≤ 𝑘) → 𝑃 ≤ (𝑘 + 1)))) | 
| 51 |   | dvdsle 12009 | 
. . . . . . . . . 10
⊢ ((𝑃 ∈ ℤ ∧ (𝑘 + 1) ∈ ℕ) →
(𝑃 ∥ (𝑘 + 1) → 𝑃 ≤ (𝑘 + 1))) | 
| 52 | 43, 34, 51 | syl2anc 411 | 
. . . . . . . . 9
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑃 ∥ (𝑘 + 1) → 𝑃 ≤ (𝑘 + 1))) | 
| 53 | 52 | a1dd 48 | 
. . . . . . . 8
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑃 ∥ (𝑘 + 1) → ((𝑃 ∥ (!‘𝑘) → 𝑃 ≤ 𝑘) → 𝑃 ≤ (𝑘 + 1)))) | 
| 54 | 50, 53 | jaod 718 | 
. . . . . . 7
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ ((𝑃 ∥
(!‘𝑘) ∨ 𝑃 ∥ (𝑘 + 1)) → ((𝑃 ∥ (!‘𝑘) → 𝑃 ≤ 𝑘) → 𝑃 ≤ (𝑘 + 1)))) | 
| 55 | 38, 54 | sylbid 150 | 
. . . . . 6
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ (𝑃 ∥
(!‘(𝑘 + 1)) →
((𝑃 ∥ (!‘𝑘) → 𝑃 ≤ 𝑘) → 𝑃 ≤ (𝑘 + 1)))) | 
| 56 | 55 | com23 78 | 
. . . . 5
⊢ ((𝑘 ∈ ℕ0
∧ 𝑃 ∈ ℙ)
→ ((𝑃 ∥
(!‘𝑘) → 𝑃 ≤ 𝑘) → (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1)))) | 
| 57 | 56 | ex 115 | 
. . . 4
⊢ (𝑘 ∈ ℕ0
→ (𝑃 ∈ ℙ
→ ((𝑃 ∥
(!‘𝑘) → 𝑃 ≤ 𝑘) → (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1))))) | 
| 58 | 57 | a2d 26 | 
. . 3
⊢ (𝑘 ∈ ℕ0
→ ((𝑃 ∈ ℙ
→ (𝑃 ∥
(!‘𝑘) → 𝑃 ≤ 𝑘)) → (𝑃 ∈ ℙ → (𝑃 ∥ (!‘(𝑘 + 1)) → 𝑃 ≤ (𝑘 + 1))))) | 
| 59 | 5, 10, 15, 20, 25, 58 | nn0ind 9440 | 
. 2
⊢ (𝑁 ∈ ℕ0
→ (𝑃 ∈ ℙ
→ (𝑃 ∥
(!‘𝑁) → 𝑃 ≤ 𝑁))) | 
| 60 | 59 | 3imp 1195 | 
1
⊢ ((𝑁 ∈ ℕ0
∧ 𝑃 ∈ ℙ
∧ 𝑃 ∥
(!‘𝑁)) → 𝑃 ≤ 𝑁) |