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

Theorem hash2pwpr 13115
 Description: If the size of a subset of an unordered pair is 2, the subset is the pair itself. (Contributed by Alexander van der Vekens, 9-Dec-2018.)
Assertion
Ref Expression
hash2pwpr (((#‘𝑃) = 2 ∧ 𝑃 ∈ 𝒫 {𝑋, 𝑌}) → 𝑃 = {𝑋, 𝑌})

Proof of Theorem hash2pwpr
StepHypRef Expression
1 pwpr 4368 . . . . 5 𝒫 {𝑋, 𝑌} = ({∅, {𝑋}} ∪ {{𝑌}, {𝑋, 𝑌}})
21eleq2i 2680 . . . 4 (𝑃 ∈ 𝒫 {𝑋, 𝑌} ↔ 𝑃 ∈ ({∅, {𝑋}} ∪ {{𝑌}, {𝑋, 𝑌}}))
3 elun 3715 . . . 4 (𝑃 ∈ ({∅, {𝑋}} ∪ {{𝑌}, {𝑋, 𝑌}}) ↔ (𝑃 ∈ {∅, {𝑋}} ∨ 𝑃 ∈ {{𝑌}, {𝑋, 𝑌}}))
42, 3bitri 263 . . 3 (𝑃 ∈ 𝒫 {𝑋, 𝑌} ↔ (𝑃 ∈ {∅, {𝑋}} ∨ 𝑃 ∈ {{𝑌}, {𝑋, 𝑌}}))
5 elpri 4145 . . . . 5 (𝑃 ∈ {∅, {𝑋}} → (𝑃 = ∅ ∨ 𝑃 = {𝑋}))
6 elpri 4145 . . . . 5 (𝑃 ∈ {{𝑌}, {𝑋, 𝑌}} → (𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌}))
75, 6orim12i 537 . . . 4 ((𝑃 ∈ {∅, {𝑋}} ∨ 𝑃 ∈ {{𝑌}, {𝑋, 𝑌}}) → ((𝑃 = ∅ ∨ 𝑃 = {𝑋}) ∨ (𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌})))
8 fveq2 6103 . . . . . . . 8 (𝑃 = ∅ → (#‘𝑃) = (#‘∅))
9 hash0 13019 . . . . . . . . . 10 (#‘∅) = 0
109eqeq2i 2622 . . . . . . . . 9 ((#‘𝑃) = (#‘∅) ↔ (#‘𝑃) = 0)
11 eqeq1 2614 . . . . . . . . . 10 ((#‘𝑃) = 0 → ((#‘𝑃) = 2 ↔ 0 = 2))
12 0ne2 11116 . . . . . . . . . . 11 0 ≠ 2
13 eqneqall 2793 . . . . . . . . . . 11 (0 = 2 → (0 ≠ 2 → 𝑃 = {𝑋, 𝑌}))
1412, 13mpi 20 . . . . . . . . . 10 (0 = 2 → 𝑃 = {𝑋, 𝑌})
1511, 14syl6bi 242 . . . . . . . . 9 ((#‘𝑃) = 0 → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
1610, 15sylbi 206 . . . . . . . 8 ((#‘𝑃) = (#‘∅) → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
178, 16syl 17 . . . . . . 7 (𝑃 = ∅ → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
18 hashsng 13020 . . . . . . . . 9 (𝑋 ∈ V → (#‘{𝑋}) = 1)
19 fveq2 6103 . . . . . . . . . . . 12 ({𝑋} = 𝑃 → (#‘{𝑋}) = (#‘𝑃))
2019eqcoms 2618 . . . . . . . . . . 11 (𝑃 = {𝑋} → (#‘{𝑋}) = (#‘𝑃))
2120eqeq1d 2612 . . . . . . . . . 10 (𝑃 = {𝑋} → ((#‘{𝑋}) = 1 ↔ (#‘𝑃) = 1))
22 eqeq1 2614 . . . . . . . . . . 11 ((#‘𝑃) = 1 → ((#‘𝑃) = 2 ↔ 1 = 2))
23 1ne2 11117 . . . . . . . . . . . 12 1 ≠ 2
24 eqneqall 2793 . . . . . . . . . . . 12 (1 = 2 → (1 ≠ 2 → 𝑃 = {𝑋, 𝑌}))
2523, 24mpi 20 . . . . . . . . . . 11 (1 = 2 → 𝑃 = {𝑋, 𝑌})
2622, 25syl6bi 242 . . . . . . . . . 10 ((#‘𝑃) = 1 → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
2721, 26syl6bi 242 . . . . . . . . 9 (𝑃 = {𝑋} → ((#‘{𝑋}) = 1 → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})))
2818, 27syl5com 31 . . . . . . . 8 (𝑋 ∈ V → (𝑃 = {𝑋} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})))
29 snprc 4197 . . . . . . . . 9 𝑋 ∈ V ↔ {𝑋} = ∅)
30 eqeq2 2621 . . . . . . . . . 10 ({𝑋} = ∅ → (𝑃 = {𝑋} ↔ 𝑃 = ∅))
318, 9syl6eq 2660 . . . . . . . . . . . 12 (𝑃 = ∅ → (#‘𝑃) = 0)
3231eqeq1d 2612 . . . . . . . . . . 11 (𝑃 = ∅ → ((#‘𝑃) = 2 ↔ 0 = 2))
3332, 14syl6bi 242 . . . . . . . . . 10 (𝑃 = ∅ → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
3430, 33syl6bi 242 . . . . . . . . 9 ({𝑋} = ∅ → (𝑃 = {𝑋} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})))
3529, 34sylbi 206 . . . . . . . 8 𝑋 ∈ V → (𝑃 = {𝑋} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})))
3628, 35pm2.61i 175 . . . . . . 7 (𝑃 = {𝑋} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
3717, 36jaoi 393 . . . . . 6 ((𝑃 = ∅ ∨ 𝑃 = {𝑋}) → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
38 hashsng 13020 . . . . . . . . 9 (𝑌 ∈ V → (#‘{𝑌}) = 1)
39 fveq2 6103 . . . . . . . . . . . 12 ({𝑌} = 𝑃 → (#‘{𝑌}) = (#‘𝑃))
4039eqcoms 2618 . . . . . . . . . . 11 (𝑃 = {𝑌} → (#‘{𝑌}) = (#‘𝑃))
4140eqeq1d 2612 . . . . . . . . . 10 (𝑃 = {𝑌} → ((#‘{𝑌}) = 1 ↔ (#‘𝑃) = 1))
4241, 26syl6bi 242 . . . . . . . . 9 (𝑃 = {𝑌} → ((#‘{𝑌}) = 1 → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})))
4338, 42syl5com 31 . . . . . . . 8 (𝑌 ∈ V → (𝑃 = {𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})))
44 snprc 4197 . . . . . . . . 9 𝑌 ∈ V ↔ {𝑌} = ∅)
45 eqeq2 2621 . . . . . . . . . 10 ({𝑌} = ∅ → (𝑃 = {𝑌} ↔ 𝑃 = ∅))
468eqeq1d 2612 . . . . . . . . . . 11 (𝑃 = ∅ → ((#‘𝑃) = 2 ↔ (#‘∅) = 2))
479eqeq1i 2615 . . . . . . . . . . . 12 ((#‘∅) = 2 ↔ 0 = 2)
4847, 14sylbi 206 . . . . . . . . . . 11 ((#‘∅) = 2 → 𝑃 = {𝑋, 𝑌})
4946, 48syl6bi 242 . . . . . . . . . 10 (𝑃 = ∅ → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
5045, 49syl6bi 242 . . . . . . . . 9 ({𝑌} = ∅ → (𝑃 = {𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})))
5144, 50sylbi 206 . . . . . . . 8 𝑌 ∈ V → (𝑃 = {𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})))
5243, 51pm2.61i 175 . . . . . . 7 (𝑃 = {𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
53 ax-1 6 . . . . . . 7 (𝑃 = {𝑋, 𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
5452, 53jaoi 393 . . . . . 6 ((𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌}) → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
5537, 54jaoi 393 . . . . 5 (((𝑃 = ∅ ∨ 𝑃 = {𝑋}) ∨ (𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌})) → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))
5655com12 32 . . . 4 ((#‘𝑃) = 2 → (((𝑃 = ∅ ∨ 𝑃 = {𝑋}) ∨ (𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌})) → 𝑃 = {𝑋, 𝑌}))
577, 56syl5 33 . . 3 ((#‘𝑃) = 2 → ((𝑃 ∈ {∅, {𝑋}} ∨ 𝑃 ∈ {{𝑌}, {𝑋, 𝑌}}) → 𝑃 = {𝑋, 𝑌}))
584, 57syl5bi 231 . 2 ((#‘𝑃) = 2 → (𝑃 ∈ 𝒫 {𝑋, 𝑌} → 𝑃 = {𝑋, 𝑌}))
5958imp 444 1 (((#‘𝑃) = 2 ∧ 𝑃 ∈ 𝒫 {𝑋, 𝑌}) → 𝑃 = {𝑋, 𝑌})
 Colors of variables: wff setvar class Syntax hints:  ¬ wn 3   → wi 4   ∨ wo 382   ∧ wa 383   = wceq 1475   ∈ wcel 1977   ≠ wne 2780  Vcvv 3173   ∪ cun 3538  ∅c0 3874  𝒫 cpw 4108  {csn 4125  {cpr 4127  ‘cfv 5804  0cc0 9815  1c1 9816  2c2 10947  #chash 12979 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892 This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-er 7629  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-card 8648  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-nn 10898  df-2 10956  df-n0 11170  df-z 11255  df-uz 11564  df-fz 12198  df-hash 12980 This theorem is referenced by:  pr2pwpr  13116
 Copyright terms: Public domain W3C validator