Metamath Proof Explorer


Theorem omopthi

Description: An ordered pair theorem for _om . Theorem 17.3 of Quine p. 124. This proof is adapted from nn0opthi . (Contributed by Scott Fenton, 16-Apr-2012) (Revised by Mario Carneiro, 17-Nov-2014)

Ref Expression
Hypotheses omopth.1 ⊢ A ∈ ω
omopth.2 ⊢ B ∈ ω
omopth.3 ⊢ C ∈ ω
omopth.4 ⊢ D ∈ ω
Assertion omopthi ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D ↔ A = C ∧ B = D

Proof

Step Hyp Ref Expression
1 omopth.1 ⊢ A ∈ ω
2 omopth.2 ⊢ B ∈ ω
3 omopth.3 ⊢ C ∈ ω
4 omopth.4 ⊢ D ∈ ω
5 1 2 nnacli ⊢ A + 𝑜 B ∈ ω
6 5 nnoni ⊢ A + 𝑜 B ∈ On
7 6 onordi ⊢ Ord ⁡ A + 𝑜 B
8 3 4 nnacli ⊢ C + 𝑜 D ∈ ω
9 8 nnoni ⊢ C + 𝑜 D ∈ On
10 9 onordi ⊢ Ord ⁡ C + 𝑜 D
11 ordtri3 ⊢ Ord ⁡ A + 𝑜 B ∧ Ord ⁡ C + 𝑜 D → A + 𝑜 B = C + 𝑜 D ↔ ¬ A + 𝑜 B ∈ C + 𝑜 D ∨ C + 𝑜 D ∈ A + 𝑜 B
12 7 10 11 mp2an ⊢ A + 𝑜 B = C + 𝑜 D ↔ ¬ A + 𝑜 B ∈ C + 𝑜 D ∨ C + 𝑜 D ∈ A + 𝑜 B
13 12 con2bii ⊢ A + 𝑜 B ∈ C + 𝑜 D ∨ C + 𝑜 D ∈ A + 𝑜 B ↔ ¬ A + 𝑜 B = C + 𝑜 D
14 1 2 8 4 omopthlem2 ⊢ A + 𝑜 B ∈ C + 𝑜 D → ¬ C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D = A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B
15 eqcom ⊢ C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D = A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B ↔ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D
16 14 15 sylnib ⊢ A + 𝑜 B ∈ C + 𝑜 D → ¬ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D
17 3 4 5 2 omopthlem2 ⊢ C + 𝑜 D ∈ A + 𝑜 B → ¬ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D
18 16 17 jaoi ⊢ A + 𝑜 B ∈ C + 𝑜 D ∨ C + 𝑜 D ∈ A + 𝑜 B → ¬ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D
19 13 18 sylbir ⊢ ¬ A + 𝑜 B = C + 𝑜 D → ¬ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D
20 19 con4i ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → A + 𝑜 B = C + 𝑜 D
21 id ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D
22 20 20 oveq12d ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → A + 𝑜 B ⋅ 𝑜 A + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D
23 22 oveq1d ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 D = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D
24 21 23 eqtr4d ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 D
25 5 5 nnmcli ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B ∈ ω
26 nnacan ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B ∈ ω ∧ B ∈ ω ∧ D ∈ ω → A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 D ↔ B = D
27 25 2 4 26 mp3an ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 D ↔ B = D
28 24 27 sylib ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → B = D
29 28 oveq2d ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → C + 𝑜 B = C + 𝑜 D
30 20 29 eqtr4d ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → A + 𝑜 B = C + 𝑜 B
31 nnacom ⊢ B ∈ ω ∧ A ∈ ω → B + 𝑜 A = A + 𝑜 B
32 2 1 31 mp2an ⊢ B + 𝑜 A = A + 𝑜 B
33 nnacom ⊢ B ∈ ω ∧ C ∈ ω → B + 𝑜 C = C + 𝑜 B
34 2 3 33 mp2an ⊢ B + 𝑜 C = C + 𝑜 B
35 30 32 34 3eqtr4g ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → B + 𝑜 A = B + 𝑜 C
36 nnacan ⊢ B ∈ ω ∧ A ∈ ω ∧ C ∈ ω → B + 𝑜 A = B + 𝑜 C ↔ A = C
37 2 1 3 36 mp3an ⊢ B + 𝑜 A = B + 𝑜 C ↔ A = C
38 35 37 sylib ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → A = C
39 38 28 jca ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D → A = C ∧ B = D
40 oveq12 ⊢ A = C ∧ B = D → A + 𝑜 B = C + 𝑜 D
41 40 40 oveq12d ⊢ A = C ∧ B = D → A + 𝑜 B ⋅ 𝑜 A + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D
42 simpr ⊢ A = C ∧ B = D → B = D
43 41 42 oveq12d ⊢ A = C ∧ B = D → A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D
44 39 43 impbii ⊢ A + 𝑜 B ⋅ 𝑜 A + 𝑜 B + 𝑜 B = C + 𝑜 D ⋅ 𝑜 C + 𝑜 D + 𝑜 D ↔ A = C ∧ B = D