ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  eueq3dc GIF version

Theorem eueq3dc 2904
Description: Equality has existential uniqueness (split into 3 cases). (Contributed by NM, 5-Apr-1995.) (Proof shortened by Mario Carneiro, 28-Sep-2015.)
Hypotheses
Ref Expression
eueq3dc.1 𝐴 ∈ V
eueq3dc.2 𝐵 ∈ V
eueq3dc.3 𝐶 ∈ V
eueq3dc.4 ¬ (𝜑𝜓)
Assertion
Ref Expression
eueq3dc (DECID 𝜑 → (DECID 𝜓 → ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
Distinct variable groups:   𝜑,𝑥   𝜓,𝑥   𝑥,𝐴   𝑥,𝐵   𝑥,𝐶

Proof of Theorem eueq3dc
StepHypRef Expression
1 dcor 930 . 2 (DECID 𝜑 → (DECID 𝜓DECID (𝜑𝜓)))
2 df-dc 830 . . 3 (DECID (𝜑𝜓) ↔ ((𝜑𝜓) ∨ ¬ (𝜑𝜓)))
3 eueq3dc.1 . . . . . . 7 𝐴 ∈ V
43eueq1 2902 . . . . . 6 ∃!𝑥 𝑥 = 𝐴
5 ibar 299 . . . . . . . . 9 (𝜑 → (𝑥 = 𝐴 ↔ (𝜑𝑥 = 𝐴)))
6 pm2.45 733 . . . . . . . . . . . . 13 (¬ (𝜑𝜓) → ¬ 𝜑)
7 eueq3dc.4 . . . . . . . . . . . . . . 15 ¬ (𝜑𝜓)
87imnani 686 . . . . . . . . . . . . . 14 (𝜑 → ¬ 𝜓)
98con2i 622 . . . . . . . . . . . . 13 (𝜓 → ¬ 𝜑)
106, 9jaoi 711 . . . . . . . . . . . 12 ((¬ (𝜑𝜓) ∨ 𝜓) → ¬ 𝜑)
1110con2i 622 . . . . . . . . . . 11 (𝜑 → ¬ (¬ (𝜑𝜓) ∨ 𝜓))
126con2i 622 . . . . . . . . . . . . 13 (𝜑 → ¬ ¬ (𝜑𝜓))
1312bianfd 943 . . . . . . . . . . . 12 (𝜑 → (¬ (𝜑𝜓) ↔ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)))
148bianfd 943 . . . . . . . . . . . 12 (𝜑 → (𝜓 ↔ (𝜓𝑥 = 𝐶)))
1513, 14orbi12d 788 . . . . . . . . . . 11 (𝜑 → ((¬ (𝜑𝜓) ∨ 𝜓) ↔ ((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
1611, 15mtbid 667 . . . . . . . . . 10 (𝜑 → ¬ ((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)))
17 biorf 739 . . . . . . . . . 10 (¬ ((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) → ((𝜑𝑥 = 𝐴) ↔ (((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ∨ (𝜑𝑥 = 𝐴))))
1816, 17syl 14 . . . . . . . . 9 (𝜑 → ((𝜑𝑥 = 𝐴) ↔ (((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ∨ (𝜑𝑥 = 𝐴))))
195, 18bitrd 187 . . . . . . . 8 (𝜑 → (𝑥 = 𝐴 ↔ (((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ∨ (𝜑𝑥 = 𝐴))))
20 3orrot 979 . . . . . . . . 9 (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ↔ ((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶) ∨ (𝜑𝑥 = 𝐴)))
21 df-3or 974 . . . . . . . . 9 (((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶) ∨ (𝜑𝑥 = 𝐴)) ↔ (((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ∨ (𝜑𝑥 = 𝐴)))
2220, 21bitri 183 . . . . . . . 8 (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ↔ (((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ∨ (𝜑𝑥 = 𝐴)))
2319, 22bitr4di 197 . . . . . . 7 (𝜑 → (𝑥 = 𝐴 ↔ ((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
2423eubidv 2027 . . . . . 6 (𝜑 → (∃!𝑥 𝑥 = 𝐴 ↔ ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
254, 24mpbii 147 . . . . 5 (𝜑 → ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)))
26 eueq3dc.3 . . . . . . 7 𝐶 ∈ V
2726eueq1 2902 . . . . . 6 ∃!𝑥 𝑥 = 𝐶
28 ibar 299 . . . . . . . . 9 (𝜓 → (𝑥 = 𝐶 ↔ (𝜓𝑥 = 𝐶)))
298adantr 274 . . . . . . . . . . . 12 ((𝜑𝑥 = 𝐴) → ¬ 𝜓)
30 pm2.46 734 . . . . . . . . . . . . 13 (¬ (𝜑𝜓) → ¬ 𝜓)
3130adantr 274 . . . . . . . . . . . 12 ((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) → ¬ 𝜓)
3229, 31jaoi 711 . . . . . . . . . . 11 (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)) → ¬ 𝜓)
3332con2i 622 . . . . . . . . . 10 (𝜓 → ¬ ((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)))
34 biorf 739 . . . . . . . . . 10 (¬ ((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)) → ((𝜓𝑥 = 𝐶) ↔ (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)) ∨ (𝜓𝑥 = 𝐶))))
3533, 34syl 14 . . . . . . . . 9 (𝜓 → ((𝜓𝑥 = 𝐶) ↔ (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)) ∨ (𝜓𝑥 = 𝐶))))
3628, 35bitrd 187 . . . . . . . 8 (𝜓 → (𝑥 = 𝐶 ↔ (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)) ∨ (𝜓𝑥 = 𝐶))))
37 df-3or 974 . . . . . . . 8 (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ↔ (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)) ∨ (𝜓𝑥 = 𝐶)))
3836, 37bitr4di 197 . . . . . . 7 (𝜓 → (𝑥 = 𝐶 ↔ ((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
3938eubidv 2027 . . . . . 6 (𝜓 → (∃!𝑥 𝑥 = 𝐶 ↔ ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
4027, 39mpbii 147 . . . . 5 (𝜓 → ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)))
4125, 40jaoi 711 . . . 4 ((𝜑𝜓) → ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)))
42 eueq3dc.2 . . . . . 6 𝐵 ∈ V
4342eueq1 2902 . . . . 5 ∃!𝑥 𝑥 = 𝐵
44 ibar 299 . . . . . . . 8 (¬ (𝜑𝜓) → (𝑥 = 𝐵 ↔ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)))
45 simpl 108 . . . . . . . . . . 11 ((𝜑𝑥 = 𝐴) → 𝜑)
46 simpl 108 . . . . . . . . . . 11 ((𝜓𝑥 = 𝐶) → 𝜓)
4745, 46orim12i 754 . . . . . . . . . 10 (((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶)) → (𝜑𝜓))
4847con3i 627 . . . . . . . . 9 (¬ (𝜑𝜓) → ¬ ((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶)))
49 biorf 739 . . . . . . . . 9 (¬ ((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶)) → ((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ↔ (((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶)) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵))))
5048, 49syl 14 . . . . . . . 8 (¬ (𝜑𝜓) → ((¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ↔ (((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶)) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵))))
5144, 50bitrd 187 . . . . . . 7 (¬ (𝜑𝜓) → (𝑥 = 𝐵 ↔ (((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶)) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵))))
52 3orcomb 982 . . . . . . . 8 (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ↔ ((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)))
53 df-3or 974 . . . . . . . 8 (((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)) ↔ (((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶)) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)))
5452, 53bitri 183 . . . . . . 7 (((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)) ↔ (((𝜑𝑥 = 𝐴) ∨ (𝜓𝑥 = 𝐶)) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵)))
5551, 54bitr4di 197 . . . . . 6 (¬ (𝜑𝜓) → (𝑥 = 𝐵 ↔ ((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
5655eubidv 2027 . . . . 5 (¬ (𝜑𝜓) → (∃!𝑥 𝑥 = 𝐵 ↔ ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
5743, 56mpbii 147 . . . 4 (¬ (𝜑𝜓) → ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)))
5841, 57jaoi 711 . . 3 (((𝜑𝜓) ∨ ¬ (𝜑𝜓)) → ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)))
592, 58sylbi 120 . 2 (DECID (𝜑𝜓) → ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶)))
601, 59syl6 33 1 (DECID 𝜑 → (DECID 𝜓 → ∃!𝑥((𝜑𝑥 = 𝐴) ∨ (¬ (𝜑𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓𝑥 = 𝐶))))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 103  wb 104  wo 703  DECID wdc 829  w3o 972   = wceq 1348  ∃!weu 2019  wcel 2141  Vcvv 2730
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 609  ax-in2 610  ax-io 704  ax-5 1440  ax-7 1441  ax-gen 1442  ax-ie1 1486  ax-ie2 1487  ax-8 1497  ax-10 1498  ax-11 1499  ax-i12 1500  ax-bndl 1502  ax-4 1503  ax-17 1519  ax-i9 1523  ax-ial 1527  ax-i5r 1528  ax-ext 2152
This theorem depends on definitions:  df-bi 116  df-dc 830  df-3or 974  df-nf 1454  df-sb 1756  df-eu 2022  df-mo 2023  df-clab 2157  df-cleq 2163  df-clel 2166  df-v 2732
This theorem is referenced by:  moeq3dc  2906
  Copyright terms: Public domain W3C validator