MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  euotd Structured version   Visualization version   GIF version

Theorem euotd 5501
Description: Prove existential uniqueness for an ordered triple. (Contributed by Mario Carneiro, 20-May-2015.)
Hypotheses
Ref Expression
euotd.1 (𝜑𝐴𝑈)
euotd.2 (𝜑𝐵𝑉)
euotd.3 (𝜑𝐶𝑊)
euotd.4 (𝜑 → (𝜓 ↔ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)))
Assertion
Ref Expression
euotd (𝜑 → ∃!𝑥𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
Distinct variable groups:   𝑎,𝑏,𝑐,𝑥,𝐴   𝐵,𝑎,𝑏,𝑐,𝑥   𝐶,𝑎,𝑏,𝑐,𝑥   𝜑,𝑎,𝑏,𝑐,𝑥
Allowed substitution hints:   𝜓(𝑥, 𝑎, 𝑏, 𝑐)   𝑈(𝑥, 𝑎, 𝑏, 𝑐)   𝑉(𝑥, 𝑎, 𝑏, 𝑐)   𝑊(𝑥, 𝑎, 𝑏, 𝑐)

Proof of Theorem euotd
Dummy variable 𝑦 is distinct from all other variables.
StepHypRef Expression
1 euotd.4 . . . . . . . . . . . . 13 (𝜑 → (𝜓 ↔ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)))
21biimpa 482 . . . . . . . . . . . 12 ((𝜑𝜓) → (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶))
3 vex 3462 . . . . . . . . . . . . 13 𝑎 ∈ V
4 vex 3462 . . . . . . . . . . . . 13 𝑏 ∈ V
5 vex 3462 . . . . . . . . . . . . 13 𝑐 ∈ V
63, 4, 5otth 5471 . . . . . . . . . . . 12 (⟨𝑎, 𝑏, 𝑐⟩ = ⟨𝐴, 𝐵, 𝐶⟩ ↔ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶))
72, 6sylibr 237 . . . . . . . . . . 11 ((𝜑𝜓) → ⟨𝑎, 𝑏, 𝑐⟩ = ⟨𝐴, 𝐵, 𝐶⟩)
87eqeq2d 2777 . . . . . . . . . 10 ((𝜑𝜓) → (𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
98biimpd 232 . . . . . . . . 9 ((𝜑𝜓) → (𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ → 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
109impancom 457 . . . . . . . 8 ((𝜑𝑥 = ⟨𝑎, 𝑏, 𝑐⟩) → (𝜓𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
1110expimpd 459 . . . . . . 7 (𝜑 → ((𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
1211exlimdv 1966 . . . . . 6 (𝜑 → (∃𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
1312exlimdvv 1967 . . . . 5 (𝜑 → (∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
14 euotd.3 . . . . . . . 8 (𝜑𝐶𝑊)
15 euotd.2 . . . . . . . . 9 (𝜑𝐵𝑉)
16 tru 1574 . . . . . . . . . . 11
17 euotd.1 . . . . . . . . . . . 12 (𝜑𝐴𝑈)
1815adantr 486 . . . . . . . . . . . . 13 ((𝜑𝑎 = 𝐴) → 𝐵𝑉)
1914ad2antrr 739 . . . . . . . . . . . . . 14 (((𝜑𝑎 = 𝐴) ∧ 𝑏 = 𝐵) → 𝐶𝑊)
206bilanri 512 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → ⟨𝑎, 𝑏, 𝑐⟩ = ⟨𝐴, 𝐵, 𝐶⟩)
2120eqcomd 2772 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → ⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩)
221biimpar 483 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → 𝜓)
2321, 22jca 521 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → (⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
24 trud 1580 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → ⊤)
2523, 242thd 268 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → ((⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
26253anassrs 1381 . . . . . . . . . . . . . 14 ((((𝜑𝑎 = 𝐴) ∧ 𝑏 = 𝐵) ∧ 𝑐 = 𝐶) → ((⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
2719, 26sbcied 3790 . . . . . . . . . . . . 13 (((𝜑𝑎 = 𝐴) ∧ 𝑏 = 𝐵) → ([𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
2818, 27sbcied 3790 . . . . . . . . . . . 12 ((𝜑𝑎 = 𝐴) → ([𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
2917, 28sbcied 3790 . . . . . . . . . . 11 (𝜑 → ([𝐴 / 𝑎][𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
3016, 29mpbiri 261 . . . . . . . . . 10 (𝜑[𝐴 / 𝑎][𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
3130spesbcd 3839 . . . . . . . . 9 (𝜑 → ∃𝑎[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
32 nfcv 2928 . . . . . . . . . 10 𝑏𝐵
33 nfsbc1v 3767 . . . . . . . . . . 11 𝑏[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
3433nfex 2360 . . . . . . . . . 10 𝑏𝑎[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
35 sbceq1a 3758 . . . . . . . . . . 11 (𝑏 = 𝐵 → ([𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ [𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
3635exbidv 1954 . . . . . . . . . 10 (𝑏 = 𝐵 → (∃𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑎[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
3732, 34, 36spcegf 3554 . . . . . . . . 9 (𝐵𝑉 → (∃𝑎[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → ∃𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
3815, 31, 37sylc 66 . . . . . . . 8 (𝜑 → ∃𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
39 nfcv 2928 . . . . . . . . 9 𝑐𝐶
40 nfsbc1v 3767 . . . . . . . . . . 11 𝑐[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
4140nfex 2360 . . . . . . . . . 10 𝑐𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
4241nfex 2360 . . . . . . . . 9 𝑐𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
43 sbceq1a 3758 . . . . . . . . . 10 (𝑐 = 𝐶 → ((⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ [𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
44432exbidv 1957 . . . . . . . . 9 (𝑐 = 𝐶 → (∃𝑏𝑎(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
4539, 42, 44spcegf 3554 . . . . . . . 8 (𝐶𝑊 → (∃𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → ∃𝑐𝑏𝑎(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
4614, 38, 45sylc 66 . . . . . . 7 (𝜑 → ∃𝑐𝑏𝑎(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
47 excom13 2202 . . . . . . 7 (∃𝑐𝑏𝑎(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑎𝑏𝑐(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
4846, 47sylib 221 . . . . . 6 (𝜑 → ∃𝑎𝑏𝑐(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
49 eqeq1 2770 . . . . . . . 8 (𝑥 = ⟨𝐴, 𝐵, 𝐶⟩ → (𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ↔ ⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩))
5049anbi1d 643 . . . . . . 7 (𝑥 = ⟨𝐴, 𝐵, 𝐶⟩ → ((𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ (⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
51503exbidv 1958 . . . . . 6 (𝑥 = ⟨𝐴, 𝐵, 𝐶⟩ → (∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑎𝑏𝑐(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
5248, 51syl5ibrcom 250 . . . . 5 (𝜑 → (𝑥 = ⟨𝐴, 𝐵, 𝐶⟩ → ∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
5313, 52impbid 215 . . . 4 (𝜑 → (∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
5453alrimiv 1960 . . 3 (𝜑 → ∀𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
55 otex 5452 . . . 4 𝐴, 𝐵, 𝐶⟩ ∈ V
56 eqeq2 2778 . . . . . 6 (𝑦 = ⟨𝐴, 𝐵, 𝐶⟩ → (𝑥 = 𝑦𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
5756bibi2d 345 . . . . 5 (𝑦 = ⟨𝐴, 𝐵, 𝐶⟩ → ((∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦) ↔ (∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩)))
5857albidv 1953 . . . 4 (𝑦 = ⟨𝐴, 𝐵, 𝐶⟩ → (∀𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦) ↔ ∀𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩)))
5955, 58spcev 3568 . . 3 (∀𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩) → ∃𝑦𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦))
6054, 59syl 18 . 2 (𝜑 → ∃𝑦𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦))
61 eu6 2605 . 2 (∃!𝑥𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑦𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦))
6260, 61sylibr 237 1 (𝜑 → ∃!𝑥𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103  wal 1568   = wceq 1570  wtru 1571  wex 1812  wcel 2146  ∃!weu 2599  [wsbc 3747  cotp 4602
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2738  ax-sep 5262  ax-pr 5409
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2570  df-eu 2600  df-clab 2745  df-cleq 2758  df-clel 2841  df-nfc 2915  df-ral 3083  df-rex 3093  df-rab 3420  df-v 3460  df-sbc 3748  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-nul 4290  df-if 4493  df-sn 4595  df-pr 4597  df-op 4601  df-ot 4603
This theorem is used by:  oeeu  8598
  Copyright terms: Public domain W3C validator