| Step | Hyp | Ref
 | Expression | 
| 1 |   | znval.y | 
. 2
⊢ 𝑌 =
(ℤ/nℤ‘𝑁) | 
| 2 |   | df-zn 14172 | 
. . 3
⊢
ℤ/nℤ = (𝑛 ∈ ℕ0 ↦
⦋ℤring / 𝑧⦌⦋(𝑧 /s (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛}))) / 𝑠⦌(𝑠 sSet 〈(le‘ndx),
⦋((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) / 𝑓⦌((𝑓 ∘ ≤ ) ∘ ◡𝑓)〉)) | 
| 3 |   | zringring 14149 | 
. . . . 5
⊢
ℤring ∈ Ring | 
| 4 | 3 | a1i 9 | 
. . . 4
⊢ (𝑛 = 𝑁 → ℤring ∈
Ring) | 
| 5 |   | vex 2766 | 
. . . . . . 7
⊢ 𝑧 ∈ V | 
| 6 |   | rspex 14030 | 
. . . . . . . . . 10
⊢ (𝑧 ∈ V →
(RSpan‘𝑧) ∈
V) | 
| 7 | 6 | elv 2767 | 
. . . . . . . . 9
⊢
(RSpan‘𝑧)
∈ V | 
| 8 |   | vex 2766 | 
. . . . . . . . . 10
⊢ 𝑛 ∈ V | 
| 9 | 8 | snex 4218 | 
. . . . . . . . 9
⊢ {𝑛} ∈ V | 
| 10 | 7, 9 | fvex 5578 | 
. . . . . . . 8
⊢
((RSpan‘𝑧)‘{𝑛}) ∈ V | 
| 11 |   | eqgex 13351 | 
. . . . . . . 8
⊢ ((𝑧 ∈ V ∧
((RSpan‘𝑧)‘{𝑛}) ∈ V) → (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})) ∈ V) | 
| 12 | 5, 10, 11 | mp2an 426 | 
. . . . . . 7
⊢ (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛})) ∈ V | 
| 13 |   | qusex 12968 | 
. . . . . . 7
⊢ ((𝑧 ∈ V ∧ (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛})) ∈ V) → (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛}))) ∈ V) | 
| 14 | 5, 12, 13 | mp2an 426 | 
. . . . . 6
⊢ (𝑧 /s (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛}))) ∈ V | 
| 15 | 14 | a1i 9 | 
. . . . 5
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) → (𝑧 /s (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛}))) ∈ V) | 
| 16 |   | id 19 | 
. . . . . . 7
⊢ (𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛}))) → 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) | 
| 17 |   | simpr 110 | 
. . . . . . . . 9
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) → 𝑧 =
ℤring) | 
| 18 | 17 | fveq2d 5562 | 
. . . . . . . . . . . 12
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) →
(RSpan‘𝑧) =
(RSpan‘ℤring)) | 
| 19 |   | znval.s | 
. . . . . . . . . . . 12
⊢ 𝑆 =
(RSpan‘ℤring) | 
| 20 | 18, 19 | eqtr4di 2247 | 
. . . . . . . . . . 11
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) →
(RSpan‘𝑧) = 𝑆) | 
| 21 |   | simpl 109 | 
. . . . . . . . . . . 12
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) → 𝑛 = 𝑁) | 
| 22 | 21 | sneqd 3635 | 
. . . . . . . . . . 11
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) → {𝑛} = {𝑁}) | 
| 23 | 20, 22 | fveq12d 5565 | 
. . . . . . . . . 10
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) →
((RSpan‘𝑧)‘{𝑛}) = (𝑆‘{𝑁})) | 
| 24 | 17, 23 | oveq12d 5940 | 
. . . . . . . . 9
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) → (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛})) = (ℤring
~QG (𝑆‘{𝑁}))) | 
| 25 | 17, 24 | oveq12d 5940 | 
. . . . . . . 8
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) → (𝑧 /s (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛}))) = (ℤring
/s (ℤring ~QG (𝑆‘{𝑁})))) | 
| 26 |   | znval.u | 
. . . . . . . 8
⊢ 𝑈 = (ℤring
/s (ℤring ~QG (𝑆‘{𝑁}))) | 
| 27 | 25, 26 | eqtr4di 2247 | 
. . . . . . 7
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) → (𝑧 /s (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛}))) = 𝑈) | 
| 28 | 16, 27 | sylan9eqr 2251 | 
. . . . . 6
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → 𝑠 = 𝑈) | 
| 29 |   | eqid 2196 | 
. . . . . . . . . . . 12
⊢
(ℤRHom‘𝑠) = (ℤRHom‘𝑠) | 
| 30 | 29 | zrhex 14177 | 
. . . . . . . . . . 11
⊢ (𝑠 ∈ V →
(ℤRHom‘𝑠)
∈ V) | 
| 31 | 30 | elv 2767 | 
. . . . . . . . . 10
⊢
(ℤRHom‘𝑠) ∈ V | 
| 32 | 31 | resex 4987 | 
. . . . . . . . 9
⊢
((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) ∈ V | 
| 33 | 32 | a1i 9 | 
. . . . . . . 8
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) ∈ V) | 
| 34 |   | id 19 | 
. . . . . . . . . . . 12
⊢ (𝑓 = ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) → 𝑓 = ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛)))) | 
| 35 | 28 | fveq2d 5562 | 
. . . . . . . . . . . . . 14
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → (ℤRHom‘𝑠) = (ℤRHom‘𝑈)) | 
| 36 |   | simpll 527 | 
. . . . . . . . . . . . . . . . 17
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → 𝑛 = 𝑁) | 
| 37 | 36 | eqeq1d 2205 | 
. . . . . . . . . . . . . . . 16
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → (𝑛 = 0 ↔ 𝑁 = 0)) | 
| 38 | 36 | oveq2d 5938 | 
. . . . . . . . . . . . . . . 16
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → (0..^𝑛) = (0..^𝑁)) | 
| 39 | 37, 38 | ifbieq2d 3585 | 
. . . . . . . . . . . . . . 15
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → if(𝑛 = 0, ℤ, (0..^𝑛)) = if(𝑁 = 0, ℤ, (0..^𝑁))) | 
| 40 |   | znval.w | 
. . . . . . . . . . . . . . 15
⊢ 𝑊 = if(𝑁 = 0, ℤ, (0..^𝑁)) | 
| 41 | 39, 40 | eqtr4di 2247 | 
. . . . . . . . . . . . . 14
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → if(𝑛 = 0, ℤ, (0..^𝑛)) = 𝑊) | 
| 42 | 35, 41 | reseq12d 4947 | 
. . . . . . . . . . . . 13
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) = ((ℤRHom‘𝑈) ↾ 𝑊)) | 
| 43 |   | znval.f | 
. . . . . . . . . . . . 13
⊢ 𝐹 = ((ℤRHom‘𝑈) ↾ 𝑊) | 
| 44 | 42, 43 | eqtr4di 2247 | 
. . . . . . . . . . . 12
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) = 𝐹) | 
| 45 | 34, 44 | sylan9eqr 2251 | 
. . . . . . . . . . 11
⊢ ((((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) ∧ 𝑓 = ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛)))) → 𝑓 = 𝐹) | 
| 46 | 45 | coeq1d 4827 | 
. . . . . . . . . 10
⊢ ((((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) ∧ 𝑓 = ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛)))) → (𝑓 ∘ ≤ ) = (𝐹 ∘ ≤ )) | 
| 47 | 45 | cnveqd 4842 | 
. . . . . . . . . 10
⊢ ((((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) ∧ 𝑓 = ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛)))) → ◡𝑓 = ◡𝐹) | 
| 48 | 46, 47 | coeq12d 4830 | 
. . . . . . . . 9
⊢ ((((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) ∧ 𝑓 = ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛)))) → ((𝑓 ∘ ≤ ) ∘ ◡𝑓) = ((𝐹 ∘ ≤ ) ∘ ◡𝐹)) | 
| 49 |   | znval.l | 
. . . . . . . . 9
⊢  ≤ = ((𝐹 ∘ ≤ ) ∘ ◡𝐹) | 
| 50 | 48, 49 | eqtr4di 2247 | 
. . . . . . . 8
⊢ ((((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) ∧ 𝑓 = ((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛)))) → ((𝑓 ∘ ≤ ) ∘ ◡𝑓) = ≤ ) | 
| 51 | 33, 50 | csbied 3131 | 
. . . . . . 7
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) →
⦋((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) / 𝑓⦌((𝑓 ∘ ≤ ) ∘ ◡𝑓) = ≤ ) | 
| 52 | 51 | opeq2d 3815 | 
. . . . . 6
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → 〈(le‘ndx),
⦋((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) / 𝑓⦌((𝑓 ∘ ≤ ) ∘ ◡𝑓)〉 = 〈(le‘ndx), ≤
〉) | 
| 53 | 28, 52 | oveq12d 5940 | 
. . . . 5
⊢ (((𝑛 = 𝑁 ∧ 𝑧 = ℤring) ∧ 𝑠 = (𝑧 /s (𝑧 ~QG ((RSpan‘𝑧)‘{𝑛})))) → (𝑠 sSet 〈(le‘ndx),
⦋((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) / 𝑓⦌((𝑓 ∘ ≤ ) ∘ ◡𝑓)〉) = (𝑈 sSet 〈(le‘ndx), ≤
〉)) | 
| 54 | 15, 53 | csbied 3131 | 
. . . 4
⊢ ((𝑛 = 𝑁 ∧ 𝑧 = ℤring) →
⦋(𝑧
/s (𝑧
~QG ((RSpan‘𝑧)‘{𝑛}))) / 𝑠⦌(𝑠 sSet 〈(le‘ndx),
⦋((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) / 𝑓⦌((𝑓 ∘ ≤ ) ∘ ◡𝑓)〉) = (𝑈 sSet 〈(le‘ndx), ≤
〉)) | 
| 55 | 4, 54 | csbied 3131 | 
. . 3
⊢ (𝑛 = 𝑁 →
⦋ℤring / 𝑧⦌⦋(𝑧 /s (𝑧 ~QG
((RSpan‘𝑧)‘{𝑛}))) / 𝑠⦌(𝑠 sSet 〈(le‘ndx),
⦋((ℤRHom‘𝑠) ↾ if(𝑛 = 0, ℤ, (0..^𝑛))) / 𝑓⦌((𝑓 ∘ ≤ ) ∘ ◡𝑓)〉) = (𝑈 sSet 〈(le‘ndx), ≤
〉)) | 
| 56 |   | id 19 | 
. . 3
⊢ (𝑁 ∈ ℕ0
→ 𝑁 ∈
ℕ0) | 
| 57 |   | rspex 14030 | 
. . . . . . . . . 10
⊢
(ℤring ∈ Ring →
(RSpan‘ℤring) ∈ V) | 
| 58 | 3, 57 | ax-mp 5 | 
. . . . . . . . 9
⊢
(RSpan‘ℤring) ∈ V | 
| 59 | 19, 58 | eqeltri 2269 | 
. . . . . . . 8
⊢ 𝑆 ∈ V | 
| 60 |   | snexg 4217 | 
. . . . . . . 8
⊢ (𝑁 ∈ ℕ0
→ {𝑁} ∈
V) | 
| 61 |   | fvexg 5577 | 
. . . . . . . 8
⊢ ((𝑆 ∈ V ∧ {𝑁} ∈ V) → (𝑆‘{𝑁}) ∈ V) | 
| 62 | 59, 60, 61 | sylancr 414 | 
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ (𝑆‘{𝑁}) ∈ V) | 
| 63 |   | eqgex 13351 | 
. . . . . . 7
⊢
((ℤring ∈ Ring ∧ (𝑆‘{𝑁}) ∈ V) → (ℤring
~QG (𝑆‘{𝑁})) ∈ V) | 
| 64 | 3, 62, 63 | sylancr 414 | 
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ (ℤring ~QG (𝑆‘{𝑁})) ∈ V) | 
| 65 |   | qusex 12968 | 
. . . . . 6
⊢
((ℤring ∈ Ring ∧ (ℤring
~QG (𝑆‘{𝑁})) ∈ V) → (ℤring
/s (ℤring ~QG (𝑆‘{𝑁}))) ∈ V) | 
| 66 | 3, 64, 65 | sylancr 414 | 
. . . . 5
⊢ (𝑁 ∈ ℕ0
→ (ℤring /s (ℤring
~QG (𝑆‘{𝑁}))) ∈ V) | 
| 67 | 26, 66 | eqeltrid 2283 | 
. . . 4
⊢ (𝑁 ∈ ℕ0
→ 𝑈 ∈
V) | 
| 68 |   | plendxnn 12880 | 
. . . . 5
⊢
(le‘ndx) ∈ ℕ | 
| 69 | 68 | a1i 9 | 
. . . 4
⊢ (𝑁 ∈ ℕ0
→ (le‘ndx) ∈ ℕ) | 
| 70 |   | eqid 2196 | 
. . . . . . . . . . 11
⊢
(ℤRHom‘𝑈) = (ℤRHom‘𝑈) | 
| 71 | 70 | zrhex 14177 | 
. . . . . . . . . 10
⊢ (𝑈 ∈ V →
(ℤRHom‘𝑈)
∈ V) | 
| 72 | 67, 71 | syl 14 | 
. . . . . . . . 9
⊢ (𝑁 ∈ ℕ0
→ (ℤRHom‘𝑈) ∈ V) | 
| 73 |   | resexg 4986 | 
. . . . . . . . 9
⊢
((ℤRHom‘𝑈) ∈ V → ((ℤRHom‘𝑈) ↾ 𝑊) ∈ V) | 
| 74 | 72, 73 | syl 14 | 
. . . . . . . 8
⊢ (𝑁 ∈ ℕ0
→ ((ℤRHom‘𝑈) ↾ 𝑊) ∈ V) | 
| 75 | 43, 74 | eqeltrid 2283 | 
. . . . . . 7
⊢ (𝑁 ∈ ℕ0
→ 𝐹 ∈
V) | 
| 76 |   | xrex 9931 | 
. . . . . . . . 9
⊢
ℝ* ∈ V | 
| 77 | 76, 76 | xpex 4778 | 
. . . . . . . 8
⊢
(ℝ* × ℝ*) ∈
V | 
| 78 |   | lerelxr 8089 | 
. . . . . . . 8
⊢  ≤
⊆ (ℝ* × ℝ*) | 
| 79 | 77, 78 | ssexi 4171 | 
. . . . . . 7
⊢  ≤
∈ V | 
| 80 |   | coexg 5214 | 
. . . . . . 7
⊢ ((𝐹 ∈ V ∧ ≤ ∈ V)
→ (𝐹 ∘ ≤ )
∈ V) | 
| 81 | 75, 79, 80 | sylancl 413 | 
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ (𝐹 ∘ ≤ )
∈ V) | 
| 82 |   | cnvexg 5207 | 
. . . . . . 7
⊢ (𝐹 ∈ V → ◡𝐹 ∈ V) | 
| 83 | 75, 82 | syl 14 | 
. . . . . 6
⊢ (𝑁 ∈ ℕ0
→ ◡𝐹 ∈ V) | 
| 84 |   | coexg 5214 | 
. . . . . 6
⊢ (((𝐹 ∘ ≤ ) ∈ V ∧
◡𝐹 ∈ V) → ((𝐹 ∘ ≤ ) ∘ ◡𝐹) ∈ V) | 
| 85 | 81, 83, 84 | syl2anc 411 | 
. . . . 5
⊢ (𝑁 ∈ ℕ0
→ ((𝐹 ∘ ≤ )
∘ ◡𝐹) ∈ V) | 
| 86 | 49, 85 | eqeltrid 2283 | 
. . . 4
⊢ (𝑁 ∈ ℕ0
→ ≤ ∈
V) | 
| 87 |   | setsex 12710 | 
. . . 4
⊢ ((𝑈 ∈ V ∧ (le‘ndx)
∈ ℕ ∧ ≤ ∈ V) → (𝑈 sSet 〈(le‘ndx),
≤
〉) ∈ V) | 
| 88 | 67, 69, 86, 87 | syl3anc 1249 | 
. . 3
⊢ (𝑁 ∈ ℕ0
→ (𝑈 sSet
〈(le‘ndx), ≤ 〉) ∈
V) | 
| 89 | 2, 55, 56, 88 | fvmptd3 5655 | 
. 2
⊢ (𝑁 ∈ ℕ0
→ (ℤ/nℤ‘𝑁) = (𝑈 sSet 〈(le‘ndx), ≤
〉)) | 
| 90 | 1, 89 | eqtrid 2241 | 
1
⊢ (𝑁 ∈ ℕ0
→ 𝑌 = (𝑈 sSet 〈(le‘ndx),
≤
〉)) |