| Step |
Hyp |
Ref |
Expression |
| 1 |
|
oveq2 |
⊢ ( 𝑥 = 𝐶 → ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( ( 𝐴 +o 𝐵 ) +o 𝐶 ) ) |
| 2 |
|
oveq2 |
⊢ ( 𝑥 = 𝐶 → ( 𝐵 +o 𝑥 ) = ( 𝐵 +o 𝐶 ) ) |
| 3 |
2
|
oveq2d |
⊢ ( 𝑥 = 𝐶 → ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) = ( 𝐴 +o ( 𝐵 +o 𝐶 ) ) ) |
| 4 |
1 3
|
eqeq12d |
⊢ ( 𝑥 = 𝐶 → ( ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) ↔ ( ( 𝐴 +o 𝐵 ) +o 𝐶 ) = ( 𝐴 +o ( 𝐵 +o 𝐶 ) ) ) ) |
| 5 |
4
|
imbi2d |
⊢ ( 𝑥 = 𝐶 → ( ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) ) ↔ ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o 𝐶 ) = ( 𝐴 +o ( 𝐵 +o 𝐶 ) ) ) ) ) |
| 6 |
|
oveq2 |
⊢ ( 𝑥 = ∅ → ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( ( 𝐴 +o 𝐵 ) +o ∅ ) ) |
| 7 |
|
oveq2 |
⊢ ( 𝑥 = ∅ → ( 𝐵 +o 𝑥 ) = ( 𝐵 +o ∅ ) ) |
| 8 |
7
|
oveq2d |
⊢ ( 𝑥 = ∅ → ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) = ( 𝐴 +o ( 𝐵 +o ∅ ) ) ) |
| 9 |
6 8
|
eqeq12d |
⊢ ( 𝑥 = ∅ → ( ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) ↔ ( ( 𝐴 +o 𝐵 ) +o ∅ ) = ( 𝐴 +o ( 𝐵 +o ∅ ) ) ) ) |
| 10 |
|
oveq2 |
⊢ ( 𝑥 = 𝑦 → ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) ) |
| 11 |
|
oveq2 |
⊢ ( 𝑥 = 𝑦 → ( 𝐵 +o 𝑥 ) = ( 𝐵 +o 𝑦 ) ) |
| 12 |
11
|
oveq2d |
⊢ ( 𝑥 = 𝑦 → ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) = ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) ) |
| 13 |
10 12
|
eqeq12d |
⊢ ( 𝑥 = 𝑦 → ( ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) ↔ ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) = ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) ) ) |
| 14 |
|
oveq2 |
⊢ ( 𝑥 = suc 𝑦 → ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( ( 𝐴 +o 𝐵 ) +o suc 𝑦 ) ) |
| 15 |
|
oveq2 |
⊢ ( 𝑥 = suc 𝑦 → ( 𝐵 +o 𝑥 ) = ( 𝐵 +o suc 𝑦 ) ) |
| 16 |
15
|
oveq2d |
⊢ ( 𝑥 = suc 𝑦 → ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) = ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) ) |
| 17 |
14 16
|
eqeq12d |
⊢ ( 𝑥 = suc 𝑦 → ( ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) ↔ ( ( 𝐴 +o 𝐵 ) +o suc 𝑦 ) = ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) ) ) |
| 18 |
|
nnacl |
⊢ ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( 𝐴 +o 𝐵 ) ∈ ω ) |
| 19 |
|
nna0 |
⊢ ( ( 𝐴 +o 𝐵 ) ∈ ω → ( ( 𝐴 +o 𝐵 ) +o ∅ ) = ( 𝐴 +o 𝐵 ) ) |
| 20 |
18 19
|
syl |
⊢ ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o ∅ ) = ( 𝐴 +o 𝐵 ) ) |
| 21 |
|
nna0 |
⊢ ( 𝐵 ∈ ω → ( 𝐵 +o ∅ ) = 𝐵 ) |
| 22 |
21
|
oveq2d |
⊢ ( 𝐵 ∈ ω → ( 𝐴 +o ( 𝐵 +o ∅ ) ) = ( 𝐴 +o 𝐵 ) ) |
| 23 |
22
|
adantl |
⊢ ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( 𝐴 +o ( 𝐵 +o ∅ ) ) = ( 𝐴 +o 𝐵 ) ) |
| 24 |
20 23
|
eqtr4d |
⊢ ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o ∅ ) = ( 𝐴 +o ( 𝐵 +o ∅ ) ) ) |
| 25 |
|
suceq |
⊢ ( ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) = ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) → suc ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) = suc ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) ) |
| 26 |
|
nnasuc |
⊢ ( ( ( 𝐴 +o 𝐵 ) ∈ ω ∧ 𝑦 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o suc 𝑦 ) = suc ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) ) |
| 27 |
18 26
|
sylan |
⊢ ( ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) ∧ 𝑦 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o suc 𝑦 ) = suc ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) ) |
| 28 |
|
nnasuc |
⊢ ( ( 𝐵 ∈ ω ∧ 𝑦 ∈ ω ) → ( 𝐵 +o suc 𝑦 ) = suc ( 𝐵 +o 𝑦 ) ) |
| 29 |
28
|
oveq2d |
⊢ ( ( 𝐵 ∈ ω ∧ 𝑦 ∈ ω ) → ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) = ( 𝐴 +o suc ( 𝐵 +o 𝑦 ) ) ) |
| 30 |
29
|
adantl |
⊢ ( ( 𝐴 ∈ ω ∧ ( 𝐵 ∈ ω ∧ 𝑦 ∈ ω ) ) → ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) = ( 𝐴 +o suc ( 𝐵 +o 𝑦 ) ) ) |
| 31 |
|
nnacl |
⊢ ( ( 𝐵 ∈ ω ∧ 𝑦 ∈ ω ) → ( 𝐵 +o 𝑦 ) ∈ ω ) |
| 32 |
|
nnasuc |
⊢ ( ( 𝐴 ∈ ω ∧ ( 𝐵 +o 𝑦 ) ∈ ω ) → ( 𝐴 +o suc ( 𝐵 +o 𝑦 ) ) = suc ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) ) |
| 33 |
31 32
|
sylan2 |
⊢ ( ( 𝐴 ∈ ω ∧ ( 𝐵 ∈ ω ∧ 𝑦 ∈ ω ) ) → ( 𝐴 +o suc ( 𝐵 +o 𝑦 ) ) = suc ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) ) |
| 34 |
30 33
|
eqtrd |
⊢ ( ( 𝐴 ∈ ω ∧ ( 𝐵 ∈ ω ∧ 𝑦 ∈ ω ) ) → ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) = suc ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) ) |
| 35 |
34
|
anassrs |
⊢ ( ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) ∧ 𝑦 ∈ ω ) → ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) = suc ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) ) |
| 36 |
27 35
|
eqeq12d |
⊢ ( ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) ∧ 𝑦 ∈ ω ) → ( ( ( 𝐴 +o 𝐵 ) +o suc 𝑦 ) = ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) ↔ suc ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) = suc ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) ) ) |
| 37 |
25 36
|
imbitrrid |
⊢ ( ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) ∧ 𝑦 ∈ ω ) → ( ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) = ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) → ( ( 𝐴 +o 𝐵 ) +o suc 𝑦 ) = ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) ) ) |
| 38 |
37
|
expcom |
⊢ ( 𝑦 ∈ ω → ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( ( ( 𝐴 +o 𝐵 ) +o 𝑦 ) = ( 𝐴 +o ( 𝐵 +o 𝑦 ) ) → ( ( 𝐴 +o 𝐵 ) +o suc 𝑦 ) = ( 𝐴 +o ( 𝐵 +o suc 𝑦 ) ) ) ) ) |
| 39 |
9 13 17 24 38
|
finds2 |
⊢ ( 𝑥 ∈ ω → ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o 𝑥 ) = ( 𝐴 +o ( 𝐵 +o 𝑥 ) ) ) ) |
| 40 |
5 39
|
vtoclga |
⊢ ( 𝐶 ∈ ω → ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o 𝐶 ) = ( 𝐴 +o ( 𝐵 +o 𝐶 ) ) ) ) |
| 41 |
40
|
com12 |
⊢ ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ) → ( 𝐶 ∈ ω → ( ( 𝐴 +o 𝐵 ) +o 𝐶 ) = ( 𝐴 +o ( 𝐵 +o 𝐶 ) ) ) ) |
| 42 |
41
|
3impia |
⊢ ( ( 𝐴 ∈ ω ∧ 𝐵 ∈ ω ∧ 𝐶 ∈ ω ) → ( ( 𝐴 +o 𝐵 ) +o 𝐶 ) = ( 𝐴 +o ( 𝐵 +o 𝐶 ) ) ) |