| Step | Hyp | Ref
 | Expression | 
| 1 |   | 4sqlemffi.f | 
. . . 4
⊢ 𝐹 = (𝑣 ∈ 𝐴 ↦ ((𝑃 − 1) − 𝑣)) | 
| 2 | 1 | funmpt2 5297 | 
. . 3
⊢ Fun 𝐹 | 
| 3 |   | funrel 5275 | 
. . 3
⊢ (Fun
𝐹 → Rel 𝐹) | 
| 4 | 2, 3 | ax-mp 5 | 
. 2
⊢ Rel 𝐹 | 
| 5 |   | 4sqlemafi.p | 
. . . . . . . . . 10
⊢ (𝜑 → 𝑃 ∈ ℕ) | 
| 6 | 5 | nnzd 9447 | 
. . . . . . . . 9
⊢ (𝜑 → 𝑃 ∈ ℤ) | 
| 7 |   | peano2zm 9364 | 
. . . . . . . . 9
⊢ (𝑃 ∈ ℤ → (𝑃 − 1) ∈
ℤ) | 
| 8 | 6, 7 | syl 14 | 
. . . . . . . 8
⊢ (𝜑 → (𝑃 − 1) ∈ ℤ) | 
| 9 | 8 | adantr 276 | 
. . . . . . 7
⊢ ((𝜑 ∧ 𝑣 ∈ 𝐴) → (𝑃 − 1) ∈ ℤ) | 
| 10 |   | 4sqlemafi.a | 
. . . . . . . . 9
⊢ 𝐴 = {𝑢 ∣ ∃𝑚 ∈ (0...𝑁)𝑢 = ((𝑚↑2) mod 𝑃)} | 
| 11 |   | simpr 110 | 
. . . . . . . . . . . 12
⊢ (((𝜑 ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑢 = ((𝑚↑2) mod 𝑃)) → 𝑢 = ((𝑚↑2) mod 𝑃)) | 
| 12 |   | elfzelz 10100 | 
. . . . . . . . . . . . . . . . 17
⊢ (𝑚 ∈ (0...𝑁) → 𝑚 ∈ ℤ) | 
| 13 | 12 | adantl 277 | 
. . . . . . . . . . . . . . . 16
⊢ ((𝜑 ∧ 𝑚 ∈ (0...𝑁)) → 𝑚 ∈ ℤ) | 
| 14 |   | zsqcl 10702 | 
. . . . . . . . . . . . . . . 16
⊢ (𝑚 ∈ ℤ → (𝑚↑2) ∈
ℤ) | 
| 15 | 13, 14 | syl 14 | 
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ 𝑚 ∈ (0...𝑁)) → (𝑚↑2) ∈ ℤ) | 
| 16 | 5 | adantr 276 | 
. . . . . . . . . . . . . . 15
⊢ ((𝜑 ∧ 𝑚 ∈ (0...𝑁)) → 𝑃 ∈ ℕ) | 
| 17 | 15, 16 | zmodcld 10437 | 
. . . . . . . . . . . . . 14
⊢ ((𝜑 ∧ 𝑚 ∈ (0...𝑁)) → ((𝑚↑2) mod 𝑃) ∈
ℕ0) | 
| 18 | 17 | nn0zd 9446 | 
. . . . . . . . . . . . 13
⊢ ((𝜑 ∧ 𝑚 ∈ (0...𝑁)) → ((𝑚↑2) mod 𝑃) ∈ ℤ) | 
| 19 | 18 | adantr 276 | 
. . . . . . . . . . . 12
⊢ (((𝜑 ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑢 = ((𝑚↑2) mod 𝑃)) → ((𝑚↑2) mod 𝑃) ∈ ℤ) | 
| 20 | 11, 19 | eqeltrd 2273 | 
. . . . . . . . . . 11
⊢ (((𝜑 ∧ 𝑚 ∈ (0...𝑁)) ∧ 𝑢 = ((𝑚↑2) mod 𝑃)) → 𝑢 ∈ ℤ) | 
| 21 | 20 | rexlimdva2 2617 | 
. . . . . . . . . 10
⊢ (𝜑 → (∃𝑚 ∈ (0...𝑁)𝑢 = ((𝑚↑2) mod 𝑃) → 𝑢 ∈ ℤ)) | 
| 22 | 21 | abssdv 3257 | 
. . . . . . . . 9
⊢ (𝜑 → {𝑢 ∣ ∃𝑚 ∈ (0...𝑁)𝑢 = ((𝑚↑2) mod 𝑃)} ⊆ ℤ) | 
| 23 | 10, 22 | eqsstrid 3229 | 
. . . . . . . 8
⊢ (𝜑 → 𝐴 ⊆ ℤ) | 
| 24 | 23 | sselda 3183 | 
. . . . . . 7
⊢ ((𝜑 ∧ 𝑣 ∈ 𝐴) → 𝑣 ∈ ℤ) | 
| 25 | 9, 24 | zsubcld 9453 | 
. . . . . 6
⊢ ((𝜑 ∧ 𝑣 ∈ 𝐴) → ((𝑃 − 1) − 𝑣) ∈ ℤ) | 
| 26 | 25 | ralrimiva 2570 | 
. . . . 5
⊢ (𝜑 → ∀𝑣 ∈ 𝐴 ((𝑃 − 1) − 𝑣) ∈ ℤ) | 
| 27 | 8 | zcnd 9449 | 
. . . . . . . . 9
⊢ (𝜑 → (𝑃 − 1) ∈ ℂ) | 
| 28 | 27 | ad2antrr 488 | 
. . . . . . . 8
⊢ (((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) ∧ ((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥)) → (𝑃 − 1) ∈ ℂ) | 
| 29 | 24 | adantrr 479 | 
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) → 𝑣 ∈ ℤ) | 
| 30 | 29 | adantr 276 | 
. . . . . . . . 9
⊢ (((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) ∧ ((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥)) → 𝑣 ∈ ℤ) | 
| 31 | 30 | zcnd 9449 | 
. . . . . . . 8
⊢ (((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) ∧ ((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥)) → 𝑣 ∈ ℂ) | 
| 32 | 23 | adantr 276 | 
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) → 𝐴 ⊆ ℤ) | 
| 33 |   | simprr 531 | 
. . . . . . . . . . 11
⊢ ((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) → 𝑥 ∈ 𝐴) | 
| 34 | 32, 33 | sseldd 3184 | 
. . . . . . . . . 10
⊢ ((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) → 𝑥 ∈ ℤ) | 
| 35 | 34 | zcnd 9449 | 
. . . . . . . . 9
⊢ ((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) → 𝑥 ∈ ℂ) | 
| 36 | 35 | adantr 276 | 
. . . . . . . 8
⊢ (((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) ∧ ((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥)) → 𝑥 ∈ ℂ) | 
| 37 |   | simpr 110 | 
. . . . . . . 8
⊢ (((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) ∧ ((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥)) → ((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥)) | 
| 38 | 28, 31, 36, 37 | subcand 8378 | 
. . . . . . 7
⊢ (((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) ∧ ((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥)) → 𝑣 = 𝑥) | 
| 39 | 38 | ex 115 | 
. . . . . 6
⊢ ((𝜑 ∧ (𝑣 ∈ 𝐴 ∧ 𝑥 ∈ 𝐴)) → (((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥) → 𝑣 = 𝑥)) | 
| 40 | 39 | ralrimivva 2579 | 
. . . . 5
⊢ (𝜑 → ∀𝑣 ∈ 𝐴 ∀𝑥 ∈ 𝐴 (((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥) → 𝑣 = 𝑥)) | 
| 41 |   | oveq2 5930 | 
. . . . . 6
⊢ (𝑣 = 𝑥 → ((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥)) | 
| 42 | 1, 41 | f1mpt 5818 | 
. . . . 5
⊢ (𝐹:𝐴–1-1→ℤ ↔ (∀𝑣 ∈ 𝐴 ((𝑃 − 1) − 𝑣) ∈ ℤ ∧ ∀𝑣 ∈ 𝐴 ∀𝑥 ∈ 𝐴 (((𝑃 − 1) − 𝑣) = ((𝑃 − 1) − 𝑥) → 𝑣 = 𝑥))) | 
| 43 | 26, 40, 42 | sylanbrc 417 | 
. . . 4
⊢ (𝜑 → 𝐹:𝐴–1-1→ℤ) | 
| 44 |   | df-f1 5263 | 
. . . 4
⊢ (𝐹:𝐴–1-1→ℤ ↔ (𝐹:𝐴⟶ℤ ∧ Fun ◡𝐹)) | 
| 45 | 43, 44 | sylib 122 | 
. . 3
⊢ (𝜑 → (𝐹:𝐴⟶ℤ ∧ Fun ◡𝐹)) | 
| 46 | 45 | simprd 114 | 
. 2
⊢ (𝜑 → Fun ◡𝐹) | 
| 47 | 1, 25 | dmmptd 5388 | 
. . . 4
⊢ (𝜑 → dom 𝐹 = 𝐴) | 
| 48 |   | 4sqlemafi.n | 
. . . . 5
⊢ (𝜑 → 𝑁 ∈ ℕ) | 
| 49 | 48, 5, 10 | 4sqlemafi 12564 | 
. . . 4
⊢ (𝜑 → 𝐴 ∈ Fin) | 
| 50 | 47, 49 | eqeltrd 2273 | 
. . 3
⊢ (𝜑 → dom 𝐹 ∈ Fin) | 
| 51 |   | fundmfibi 7004 | 
. . . 4
⊢ (Fun
𝐹 → (𝐹 ∈ Fin ↔ dom 𝐹 ∈ Fin)) | 
| 52 | 2, 51 | ax-mp 5 | 
. . 3
⊢ (𝐹 ∈ Fin ↔ dom 𝐹 ∈ Fin) | 
| 53 | 50, 52 | sylibr 134 | 
. 2
⊢ (𝜑 → 𝐹 ∈ Fin) | 
| 54 |   | funrnfi 7008 | 
. 2
⊢ ((Rel
𝐹 ∧ Fun ◡𝐹 ∧ 𝐹 ∈ Fin) → ran 𝐹 ∈ Fin) | 
| 55 | 4, 46, 53, 54 | mp3an2i 1353 | 
1
⊢ (𝜑 → ran 𝐹 ∈ Fin) |