| Step | Hyp | Ref
 | Expression | 
| 1 |   | oveq2 5930 | 
. . . . . 6
⊢ (𝑛 = ∅ → (𝐴 +o 𝑛) = (𝐴 +o ∅)) | 
| 2 | 1 | fveq2d 5562 | 
. . . . 5
⊢ (𝑛 = ∅ → (𝐺‘(𝐴 +o 𝑛)) = (𝐺‘(𝐴 +o ∅))) | 
| 3 |   | fveq2 5558 | 
. . . . . 6
⊢ (𝑛 = ∅ → (𝐺‘𝑛) = (𝐺‘∅)) | 
| 4 | 3 | oveq2d 5938 | 
. . . . 5
⊢ (𝑛 = ∅ → ((𝐺‘𝐴) + (𝐺‘𝑛)) = ((𝐺‘𝐴) + (𝐺‘∅))) | 
| 5 | 2, 4 | eqeq12d 2211 | 
. . . 4
⊢ (𝑛 = ∅ → ((𝐺‘(𝐴 +o 𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑛)) ↔ (𝐺‘(𝐴 +o ∅)) = ((𝐺‘𝐴) + (𝐺‘∅)))) | 
| 6 | 5 | imbi2d 230 | 
. . 3
⊢ (𝑛 = ∅ → ((𝐴 ∈ ω → (𝐺‘(𝐴 +o 𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑛))) ↔ (𝐴 ∈ ω → (𝐺‘(𝐴 +o ∅)) = ((𝐺‘𝐴) + (𝐺‘∅))))) | 
| 7 |   | oveq2 5930 | 
. . . . . 6
⊢ (𝑛 = 𝑧 → (𝐴 +o 𝑛) = (𝐴 +o 𝑧)) | 
| 8 | 7 | fveq2d 5562 | 
. . . . 5
⊢ (𝑛 = 𝑧 → (𝐺‘(𝐴 +o 𝑛)) = (𝐺‘(𝐴 +o 𝑧))) | 
| 9 |   | fveq2 5558 | 
. . . . . 6
⊢ (𝑛 = 𝑧 → (𝐺‘𝑛) = (𝐺‘𝑧)) | 
| 10 | 9 | oveq2d 5938 | 
. . . . 5
⊢ (𝑛 = 𝑧 → ((𝐺‘𝐴) + (𝐺‘𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) | 
| 11 | 8, 10 | eqeq12d 2211 | 
. . . 4
⊢ (𝑛 = 𝑧 → ((𝐺‘(𝐴 +o 𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑛)) ↔ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧)))) | 
| 12 | 11 | imbi2d 230 | 
. . 3
⊢ (𝑛 = 𝑧 → ((𝐴 ∈ ω → (𝐺‘(𝐴 +o 𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑛))) ↔ (𝐴 ∈ ω → (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))))) | 
| 13 |   | oveq2 5930 | 
. . . . . 6
⊢ (𝑛 = suc 𝑧 → (𝐴 +o 𝑛) = (𝐴 +o suc 𝑧)) | 
| 14 | 13 | fveq2d 5562 | 
. . . . 5
⊢ (𝑛 = suc 𝑧 → (𝐺‘(𝐴 +o 𝑛)) = (𝐺‘(𝐴 +o suc 𝑧))) | 
| 15 |   | fveq2 5558 | 
. . . . . 6
⊢ (𝑛 = suc 𝑧 → (𝐺‘𝑛) = (𝐺‘suc 𝑧)) | 
| 16 | 15 | oveq2d 5938 | 
. . . . 5
⊢ (𝑛 = suc 𝑧 → ((𝐺‘𝐴) + (𝐺‘𝑛)) = ((𝐺‘𝐴) + (𝐺‘suc 𝑧))) | 
| 17 | 14, 16 | eqeq12d 2211 | 
. . . 4
⊢ (𝑛 = suc 𝑧 → ((𝐺‘(𝐴 +o 𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑛)) ↔ (𝐺‘(𝐴 +o suc 𝑧)) = ((𝐺‘𝐴) + (𝐺‘suc 𝑧)))) | 
| 18 | 17 | imbi2d 230 | 
. . 3
⊢ (𝑛 = suc 𝑧 → ((𝐴 ∈ ω → (𝐺‘(𝐴 +o 𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑛))) ↔ (𝐴 ∈ ω → (𝐺‘(𝐴 +o suc 𝑧)) = ((𝐺‘𝐴) + (𝐺‘suc 𝑧))))) | 
| 19 |   | oveq2 5930 | 
. . . . . 6
⊢ (𝑛 = 𝐵 → (𝐴 +o 𝑛) = (𝐴 +o 𝐵)) | 
| 20 | 19 | fveq2d 5562 | 
. . . . 5
⊢ (𝑛 = 𝐵 → (𝐺‘(𝐴 +o 𝑛)) = (𝐺‘(𝐴 +o 𝐵))) | 
| 21 |   | fveq2 5558 | 
. . . . . 6
⊢ (𝑛 = 𝐵 → (𝐺‘𝑛) = (𝐺‘𝐵)) | 
| 22 | 21 | oveq2d 5938 | 
. . . . 5
⊢ (𝑛 = 𝐵 → ((𝐺‘𝐴) + (𝐺‘𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝐵))) | 
| 23 | 20, 22 | eqeq12d 2211 | 
. . . 4
⊢ (𝑛 = 𝐵 → ((𝐺‘(𝐴 +o 𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑛)) ↔ (𝐺‘(𝐴 +o 𝐵)) = ((𝐺‘𝐴) + (𝐺‘𝐵)))) | 
| 24 | 23 | imbi2d 230 | 
. . 3
⊢ (𝑛 = 𝐵 → ((𝐴 ∈ ω → (𝐺‘(𝐴 +o 𝑛)) = ((𝐺‘𝐴) + (𝐺‘𝑛))) ↔ (𝐴 ∈ ω → (𝐺‘(𝐴 +o 𝐵)) = ((𝐺‘𝐴) + (𝐺‘𝐵))))) | 
| 25 |   | omgadd.1 | 
. . . . . . . . 9
⊢ 𝐺 = frec((𝑥 ∈ ℤ ↦ (𝑥 + 1)), 0) | 
| 26 | 25 | frechashgf1o 10520 | 
. . . . . . . 8
⊢ 𝐺:ω–1-1-onto→ℕ0 | 
| 27 |   | f1of 5504 | 
. . . . . . . 8
⊢ (𝐺:ω–1-1-onto→ℕ0 → 𝐺:ω⟶ℕ0) | 
| 28 | 26, 27 | ax-mp 5 | 
. . . . . . 7
⊢ 𝐺:ω⟶ℕ0 | 
| 29 | 28 | ffvelcdmi 5696 | 
. . . . . 6
⊢ (𝐴 ∈ ω → (𝐺‘𝐴) ∈
ℕ0) | 
| 30 | 29 | nn0cnd 9304 | 
. . . . 5
⊢ (𝐴 ∈ ω → (𝐺‘𝐴) ∈ ℂ) | 
| 31 | 30 | addridd 8175 | 
. . . 4
⊢ (𝐴 ∈ ω → ((𝐺‘𝐴) + 0) = (𝐺‘𝐴)) | 
| 32 |   | 0zd 9338 | 
. . . . . 6
⊢ (𝐴 ∈ ω → 0 ∈
ℤ) | 
| 33 | 32, 25 | frec2uz0d 10491 | 
. . . . 5
⊢ (𝐴 ∈ ω → (𝐺‘∅) =
0) | 
| 34 | 33 | oveq2d 5938 | 
. . . 4
⊢ (𝐴 ∈ ω → ((𝐺‘𝐴) + (𝐺‘∅)) = ((𝐺‘𝐴) + 0)) | 
| 35 |   | nna0 6532 | 
. . . . 5
⊢ (𝐴 ∈ ω → (𝐴 +o ∅) = 𝐴) | 
| 36 | 35 | fveq2d 5562 | 
. . . 4
⊢ (𝐴 ∈ ω → (𝐺‘(𝐴 +o ∅)) = (𝐺‘𝐴)) | 
| 37 | 31, 34, 36 | 3eqtr4rd 2240 | 
. . 3
⊢ (𝐴 ∈ ω → (𝐺‘(𝐴 +o ∅)) = ((𝐺‘𝐴) + (𝐺‘∅))) | 
| 38 |   | nnasuc 6534 | 
. . . . . . . . . 10
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω) → (𝐴 +o suc 𝑧) = suc (𝐴 +o 𝑧)) | 
| 39 | 38 | fveq2d 5562 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω) → (𝐺‘(𝐴 +o suc 𝑧)) = (𝐺‘suc (𝐴 +o 𝑧))) | 
| 40 |   | 0zd 9338 | 
. . . . . . . . . 10
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω) → 0 ∈
ℤ) | 
| 41 |   | nnacl 6538 | 
. . . . . . . . . 10
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω) → (𝐴 +o 𝑧) ∈
ω) | 
| 42 | 40, 25, 41 | frec2uzsucd 10493 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω) → (𝐺‘suc (𝐴 +o 𝑧)) = ((𝐺‘(𝐴 +o 𝑧)) + 1)) | 
| 43 | 39, 42 | eqtrd 2229 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω) → (𝐺‘(𝐴 +o suc 𝑧)) = ((𝐺‘(𝐴 +o 𝑧)) + 1)) | 
| 44 | 43 | 3adant3 1019 | 
. . . . . . 7
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → (𝐺‘(𝐴 +o suc 𝑧)) = ((𝐺‘(𝐴 +o 𝑧)) + 1)) | 
| 45 | 30 | 3ad2ant1 1020 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → (𝐺‘𝐴) ∈ ℂ) | 
| 46 | 28 | ffvelcdmi 5696 | 
. . . . . . . . . . 11
⊢ (𝑧 ∈ ω → (𝐺‘𝑧) ∈
ℕ0) | 
| 47 | 46 | nn0cnd 9304 | 
. . . . . . . . . 10
⊢ (𝑧 ∈ ω → (𝐺‘𝑧) ∈ ℂ) | 
| 48 | 47 | 3ad2ant2 1021 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → (𝐺‘𝑧) ∈ ℂ) | 
| 49 |   | 1cnd 8042 | 
. . . . . . . . 9
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → 1 ∈ ℂ) | 
| 50 | 45, 48, 49 | addassd 8049 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → (((𝐺‘𝐴) + (𝐺‘𝑧)) + 1) = ((𝐺‘𝐴) + ((𝐺‘𝑧) + 1))) | 
| 51 |   | oveq1 5929 | 
. . . . . . . . 9
⊢ ((𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧)) → ((𝐺‘(𝐴 +o 𝑧)) + 1) = (((𝐺‘𝐴) + (𝐺‘𝑧)) + 1)) | 
| 52 | 51 | 3ad2ant3 1022 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → ((𝐺‘(𝐴 +o 𝑧)) + 1) = (((𝐺‘𝐴) + (𝐺‘𝑧)) + 1)) | 
| 53 |   | 0zd 9338 | 
. . . . . . . . . . 11
⊢ (𝑧 ∈ ω → 0 ∈
ℤ) | 
| 54 |   | id 19 | 
. . . . . . . . . . 11
⊢ (𝑧 ∈ ω → 𝑧 ∈
ω) | 
| 55 | 53, 25, 54 | frec2uzsucd 10493 | 
. . . . . . . . . 10
⊢ (𝑧 ∈ ω → (𝐺‘suc 𝑧) = ((𝐺‘𝑧) + 1)) | 
| 56 | 55 | oveq2d 5938 | 
. . . . . . . . 9
⊢ (𝑧 ∈ ω → ((𝐺‘𝐴) + (𝐺‘suc 𝑧)) = ((𝐺‘𝐴) + ((𝐺‘𝑧) + 1))) | 
| 57 | 56 | 3ad2ant2 1021 | 
. . . . . . . 8
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → ((𝐺‘𝐴) + (𝐺‘suc 𝑧)) = ((𝐺‘𝐴) + ((𝐺‘𝑧) + 1))) | 
| 58 | 50, 52, 57 | 3eqtr4d 2239 | 
. . . . . . 7
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → ((𝐺‘(𝐴 +o 𝑧)) + 1) = ((𝐺‘𝐴) + (𝐺‘suc 𝑧))) | 
| 59 | 44, 58 | eqtrd 2229 | 
. . . . . 6
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω ∧ (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → (𝐺‘(𝐴 +o suc 𝑧)) = ((𝐺‘𝐴) + (𝐺‘suc 𝑧))) | 
| 60 | 59 | 3expia 1207 | 
. . . . 5
⊢ ((𝐴 ∈ ω ∧ 𝑧 ∈ ω) → ((𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧)) → (𝐺‘(𝐴 +o suc 𝑧)) = ((𝐺‘𝐴) + (𝐺‘suc 𝑧)))) | 
| 61 | 60 | expcom 116 | 
. . . 4
⊢ (𝑧 ∈ ω → (𝐴 ∈ ω → ((𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧)) → (𝐺‘(𝐴 +o suc 𝑧)) = ((𝐺‘𝐴) + (𝐺‘suc 𝑧))))) | 
| 62 | 61 | a2d 26 | 
. . 3
⊢ (𝑧 ∈ ω → ((𝐴 ∈ ω → (𝐺‘(𝐴 +o 𝑧)) = ((𝐺‘𝐴) + (𝐺‘𝑧))) → (𝐴 ∈ ω → (𝐺‘(𝐴 +o suc 𝑧)) = ((𝐺‘𝐴) + (𝐺‘suc 𝑧))))) | 
| 63 | 6, 12, 18, 24, 37, 62 | finds 4636 | 
. 2
⊢ (𝐵 ∈ ω → (𝐴 ∈ ω → (𝐺‘(𝐴 +o 𝐵)) = ((𝐺‘𝐴) + (𝐺‘𝐵)))) | 
| 64 | 63 | impcom 125 | 
1
⊢ ((𝐴 ∈ ω ∧ 𝐵 ∈ ω) → (𝐺‘(𝐴 +o 𝐵)) = ((𝐺‘𝐴) + (𝐺‘𝐵))) |