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

Theorem euotd 5482
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 480 . . . . . . . . . . . 12 ((𝜑𝜓) → (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶))
3 vex 3458 . . . . . . . . . . . . 13 𝑎 ∈ V
4 vex 3458 . . . . . . . . . . . . 13 𝑏 ∈ V
5 vex 3458 . . . . . . . . . . . . 13 𝑐 ∈ V
63, 4, 5otth 5452 . . . . . . . . . . . 12 (⟨𝑎, 𝑏, 𝑐⟩ = ⟨𝐴, 𝐵, 𝐶⟩ ↔ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶))
72, 6sylibr 236 . . . . . . . . . . 11 ((𝜑𝜓) → ⟨𝑎, 𝑏, 𝑐⟩ = ⟨𝐴, 𝐵, 𝐶⟩)
87eqeq2d 2773 . . . . . . . . . 10 ((𝜑𝜓) → (𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
98biimpd 231 . . . . . . . . 9 ((𝜑𝜓) → (𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ → 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
109impancom 455 . . . . . . . 8 ((𝜑𝑥 = ⟨𝑎, 𝑏, 𝑐⟩) → (𝜓𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
1110expimpd 457 . . . . . . 7 (𝜑 → ((𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
1211exlimdv 1953 . . . . . 6 (𝜑 → (∃𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
1312exlimdvv 1954 . . . . 5 (𝜑 → (∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
14 euotd.3 . . . . . . . 8 (𝜑𝐶𝑊)
15 euotd.2 . . . . . . . . 9 (𝜑𝐵𝑉)
16 tru 1564 . . . . . . . . . . 11
17 euotd.1 . . . . . . . . . . . 12 (𝜑𝐴𝑈)
1815adantr 484 . . . . . . . . . . . . 13 ((𝜑𝑎 = 𝐴) → 𝐵𝑉)
1914ad2antrr 736 . . . . . . . . . . . . . 14 (((𝜑𝑎 = 𝐴) ∧ 𝑏 = 𝐵) → 𝐶𝑊)
206bilanri 510 . . . . . . . . . . . . . . . . . 18 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → ⟨𝑎, 𝑏, 𝑐⟩ = ⟨𝐴, 𝐵, 𝐶⟩)
2120eqcomd 2768 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → ⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩)
221biimpar 481 . . . . . . . . . . . . . . . . 17 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → 𝜓)
2321, 22jca 519 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → (⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
24 trud 1570 . . . . . . . . . . . . . . . 16 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → ⊤)
2523, 242thd 267 . . . . . . . . . . . . . . 15 ((𝜑 ∧ (𝑎 = 𝐴𝑏 = 𝐵𝑐 = 𝐶)) → ((⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
26253anassrs 1374 . . . . . . . . . . . . . 14 ((((𝜑𝑎 = 𝐴) ∧ 𝑏 = 𝐵) ∧ 𝑐 = 𝐶) → ((⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
2719, 26sbcied 3787 . . . . . . . . . . . . 13 (((𝜑𝑎 = 𝐴) ∧ 𝑏 = 𝐵) → ([𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
2818, 27sbcied 3787 . . . . . . . . . . . 12 ((𝜑𝑎 = 𝐴) → ([𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
2917, 28sbcied 3787 . . . . . . . . . . 11 (𝜑 → ([𝐴 / 𝑎][𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ⊤))
3016, 29mpbiri 260 . . . . . . . . . 10 (𝜑[𝐴 / 𝑎][𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
3130spesbcd 3836 . . . . . . . . 9 (𝜑 → ∃𝑎[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
32 nfcv 2924 . . . . . . . . . 10 𝑏𝐵
33 nfsbc1v 3764 . . . . . . . . . . 11 𝑏[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
3433nfex 2356 . . . . . . . . . 10 𝑏𝑎[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
35 sbceq1a 3755 . . . . . . . . . . 11 (𝑏 = 𝐵 → ([𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ [𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
3635exbidv 1941 . . . . . . . . . 10 (𝑏 = 𝐵 → (∃𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑎[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
3732, 34, 36spcegf 3551 . . . . . . . . 9 (𝐵𝑉 → (∃𝑎[𝐵 / 𝑏][𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → ∃𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
3815, 31, 37sylc 65 . . . . . . . 8 (𝜑 → ∃𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
39 nfcv 2924 . . . . . . . . 9 𝑐𝐶
40 nfsbc1v 3764 . . . . . . . . . . 11 𝑐[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
4140nfex 2356 . . . . . . . . . 10 𝑐𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
4241nfex 2356 . . . . . . . . 9 𝑐𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)
43 sbceq1a 3755 . . . . . . . . . 10 (𝑐 = 𝐶 → ((⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ [𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
44432exbidv 1944 . . . . . . . . 9 (𝑐 = 𝐶 → (∃𝑏𝑎(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
4539, 42, 44spcegf 3551 . . . . . . . 8 (𝐶𝑊 → (∃𝑏𝑎[𝐶 / 𝑐](⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) → ∃𝑐𝑏𝑎(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
4614, 38, 45sylc 65 . . . . . . 7 (𝜑 → ∃𝑐𝑏𝑎(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
47 excom13 2198 . . . . . . 7 (∃𝑐𝑏𝑎(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑎𝑏𝑐(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
4846, 47sylib 220 . . . . . 6 (𝜑 → ∃𝑎𝑏𝑐(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
49 eqeq1 2766 . . . . . . . 8 (𝑥 = ⟨𝐴, 𝐵, 𝐶⟩ → (𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ↔ ⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩))
5049anbi1d 640 . . . . . . 7 (𝑥 = ⟨𝐴, 𝐵, 𝐶⟩ → ((𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ (⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
51503exbidv 1945 . . . . . 6 (𝑥 = ⟨𝐴, 𝐵, 𝐶⟩ → (∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑎𝑏𝑐(⟨𝐴, 𝐵, 𝐶⟩ = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
5248, 51syl5ibrcom 249 . . . . 5 (𝜑 → (𝑥 = ⟨𝐴, 𝐵, 𝐶⟩ → ∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓)))
5313, 52impbid 214 . . . 4 (𝜑 → (∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
5453alrimiv 1947 . . 3 (𝜑 → ∀𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
55 otex 5433 . . . 4 𝐴, 𝐵, 𝐶⟩ ∈ V
56 eqeq2 2774 . . . . . 6 (𝑦 = ⟨𝐴, 𝐵, 𝐶⟩ → (𝑥 = 𝑦𝑥 = ⟨𝐴, 𝐵, 𝐶⟩))
5756bibi2d 344 . . . . 5 (𝑦 = ⟨𝐴, 𝐵, 𝐶⟩ → ((∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦) ↔ (∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩)))
5857albidv 1940 . . . 4 (𝑦 = ⟨𝐴, 𝐵, 𝐶⟩ → (∀𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦) ↔ ∀𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩)))
5955, 58spcev 3565 . . 3 (∀𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = ⟨𝐴, 𝐵, 𝐶⟩) → ∃𝑦𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦))
6054, 59syl 17 . 2 (𝜑 → ∃𝑦𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦))
61 eu6 2601 . 2 (∃!𝑥𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ ∃𝑦𝑥(∃𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓) ↔ 𝑥 = 𝑦))
6260, 61sylibr 236 1 (𝜑 → ∃!𝑥𝑎𝑏𝑐(𝑥 = ⟨𝑎, 𝑏, 𝑐⟩ ∧ 𝜓))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 399  w3a 1098  wal 1558   = wceq 1560  wtru 1561  wex 1799  wcel 2142  ∃!weu 2595  [wsbc 3744  cotp 4590
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1815  ax-4 1829  ax-5 1930  ax-6 1987  ax-7 2028  ax-8 2144  ax-9 2152  ax-10 2175  ax-11 2191  ax-12 2212  ax-ext 2734  ax-sep 5246  ax-pr 5390
This theorem depends on definitions:  df-bi 209  df-an 400  df-or 859  df-3an 1100  df-tru 1563  df-fal 1573  df-ex 1800  df-nf 1804  df-sb 2091  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ral 3077  df-rex 3087  df-rab 3415  df-v 3456  df-sbc 3745  df-dif 3907  df-un 3909  df-in 3911  df-ss 3921  df-nul 4286  df-if 4481  df-sn 4583  df-pr 4585  df-op 4589  df-ot 4591
This theorem is referenced by:  oeeu  8573
  Copyright terms: Public domain W3C validator