Proof of Theorem hash2pwpr
Step | Hyp | Ref
| Expression |
1 | | pwpr 4368 |
. . . . 5
⊢ 𝒫
{𝑋, 𝑌} = ({∅, {𝑋}} ∪ {{𝑌}, {𝑋, 𝑌}}) |
2 | 1 | eleq2i 2680 |
. . . 4
⊢ (𝑃 ∈ 𝒫 {𝑋, 𝑌} ↔ 𝑃 ∈ ({∅, {𝑋}} ∪ {{𝑌}, {𝑋, 𝑌}})) |
3 | | elun 3715 |
. . . 4
⊢ (𝑃 ∈ ({∅, {𝑋}} ∪ {{𝑌}, {𝑋, 𝑌}}) ↔ (𝑃 ∈ {∅, {𝑋}} ∨ 𝑃 ∈ {{𝑌}, {𝑋, 𝑌}})) |
4 | 2, 3 | bitri 263 |
. . 3
⊢ (𝑃 ∈ 𝒫 {𝑋, 𝑌} ↔ (𝑃 ∈ {∅, {𝑋}} ∨ 𝑃 ∈ {{𝑌}, {𝑋, 𝑌}})) |
5 | | elpri 4145 |
. . . . 5
⊢ (𝑃 ∈ {∅, {𝑋}} → (𝑃 = ∅ ∨ 𝑃 = {𝑋})) |
6 | | elpri 4145 |
. . . . 5
⊢ (𝑃 ∈ {{𝑌}, {𝑋, 𝑌}} → (𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌})) |
7 | 5, 6 | orim12i 537 |
. . . 4
⊢ ((𝑃 ∈ {∅, {𝑋}} ∨ 𝑃 ∈ {{𝑌}, {𝑋, 𝑌}}) → ((𝑃 = ∅ ∨ 𝑃 = {𝑋}) ∨ (𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌}))) |
8 | | fveq2 6103 |
. . . . . . . 8
⊢ (𝑃 = ∅ → (#‘𝑃) =
(#‘∅)) |
9 | | hash0 13019 |
. . . . . . . . . 10
⊢
(#‘∅) = 0 |
10 | 9 | eqeq2i 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 → 𝑃 =
{𝑋, 𝑌})) |
14 | 12, 13 | mpi 20 |
. . . . . . . . . 10
⊢ (0 = 2
→ 𝑃 = {𝑋, 𝑌}) |
15 | 11, 14 | syl6bi 242 |
. . . . . . . . 9
⊢
((#‘𝑃) = 0
→ ((#‘𝑃) = 2
→ 𝑃 = {𝑋, 𝑌})) |
16 | 10, 15 | sylbi 206 |
. . . . . . . 8
⊢
((#‘𝑃) =
(#‘∅) → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})) |
17 | 8, 16 | syl 17 |
. . . . . . 7
⊢ (𝑃 = ∅ →
((#‘𝑃) = 2 →
𝑃 = {𝑋, 𝑌})) |
18 | | hashsng 13020 |
. . . . . . . . 9
⊢ (𝑋 ∈ V → (#‘{𝑋}) = 1) |
19 | | fveq2 6103 |
. . . . . . . . . . . 12
⊢ ({𝑋} = 𝑃 → (#‘{𝑋}) = (#‘𝑃)) |
20 | 19 | eqcoms 2618 |
. . . . . . . . . . 11
⊢ (𝑃 = {𝑋} → (#‘{𝑋}) = (#‘𝑃)) |
21 | 20 | eqeq1d 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 → 𝑃 =
{𝑋, 𝑌})) |
25 | 23, 24 | mpi 20 |
. . . . . . . . . . 11
⊢ (1 = 2
→ 𝑃 = {𝑋, 𝑌}) |
26 | 22, 25 | syl6bi 242 |
. . . . . . . . . 10
⊢
((#‘𝑃) = 1
→ ((#‘𝑃) = 2
→ 𝑃 = {𝑋, 𝑌})) |
27 | 21, 26 | syl6bi 242 |
. . . . . . . . 9
⊢ (𝑃 = {𝑋} → ((#‘{𝑋}) = 1 → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))) |
28 | 18, 27 | syl5com 31 |
. . . . . . . 8
⊢ (𝑋 ∈ V → (𝑃 = {𝑋} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))) |
29 | | snprc 4197 |
. . . . . . . . 9
⊢ (¬
𝑋 ∈ V ↔ {𝑋} = ∅) |
30 | | eqeq2 2621 |
. . . . . . . . . 10
⊢ ({𝑋} = ∅ → (𝑃 = {𝑋} ↔ 𝑃 = ∅)) |
31 | 8, 9 | syl6eq 2660 |
. . . . . . . . . . . 12
⊢ (𝑃 = ∅ → (#‘𝑃) = 0) |
32 | 31 | eqeq1d 2612 |
. . . . . . . . . . 11
⊢ (𝑃 = ∅ →
((#‘𝑃) = 2 ↔ 0 =
2)) |
33 | 32, 14 | syl6bi 242 |
. . . . . . . . . 10
⊢ (𝑃 = ∅ →
((#‘𝑃) = 2 →
𝑃 = {𝑋, 𝑌})) |
34 | 30, 33 | syl6bi 242 |
. . . . . . . . 9
⊢ ({𝑋} = ∅ → (𝑃 = {𝑋} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))) |
35 | 29, 34 | sylbi 206 |
. . . . . . . 8
⊢ (¬
𝑋 ∈ V → (𝑃 = {𝑋} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))) |
36 | 28, 35 | pm2.61i 175 |
. . . . . . 7
⊢ (𝑃 = {𝑋} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})) |
37 | 17, 36 | jaoi 393 |
. . . . . 6
⊢ ((𝑃 = ∅ ∨ 𝑃 = {𝑋}) → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})) |
38 | | hashsng 13020 |
. . . . . . . . 9
⊢ (𝑌 ∈ V → (#‘{𝑌}) = 1) |
39 | | fveq2 6103 |
. . . . . . . . . . . 12
⊢ ({𝑌} = 𝑃 → (#‘{𝑌}) = (#‘𝑃)) |
40 | 39 | eqcoms 2618 |
. . . . . . . . . . 11
⊢ (𝑃 = {𝑌} → (#‘{𝑌}) = (#‘𝑃)) |
41 | 40 | eqeq1d 2612 |
. . . . . . . . . 10
⊢ (𝑃 = {𝑌} → ((#‘{𝑌}) = 1 ↔ (#‘𝑃) = 1)) |
42 | 41, 26 | syl6bi 242 |
. . . . . . . . 9
⊢ (𝑃 = {𝑌} → ((#‘{𝑌}) = 1 → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))) |
43 | 38, 42 | syl5com 31 |
. . . . . . . 8
⊢ (𝑌 ∈ V → (𝑃 = {𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))) |
44 | | snprc 4197 |
. . . . . . . . 9
⊢ (¬
𝑌 ∈ V ↔ {𝑌} = ∅) |
45 | | eqeq2 2621 |
. . . . . . . . . 10
⊢ ({𝑌} = ∅ → (𝑃 = {𝑌} ↔ 𝑃 = ∅)) |
46 | 8 | eqeq1d 2612 |
. . . . . . . . . . 11
⊢ (𝑃 = ∅ →
((#‘𝑃) = 2 ↔
(#‘∅) = 2)) |
47 | 9 | eqeq1i 2615 |
. . . . . . . . . . . 12
⊢
((#‘∅) = 2 ↔ 0 = 2) |
48 | 47, 14 | sylbi 206 |
. . . . . . . . . . 11
⊢
((#‘∅) = 2 → 𝑃 = {𝑋, 𝑌}) |
49 | 46, 48 | syl6bi 242 |
. . . . . . . . . 10
⊢ (𝑃 = ∅ →
((#‘𝑃) = 2 →
𝑃 = {𝑋, 𝑌})) |
50 | 45, 49 | syl6bi 242 |
. . . . . . . . 9
⊢ ({𝑌} = ∅ → (𝑃 = {𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))) |
51 | 44, 50 | sylbi 206 |
. . . . . . . 8
⊢ (¬
𝑌 ∈ V → (𝑃 = {𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌}))) |
52 | 43, 51 | pm2.61i 175 |
. . . . . . 7
⊢ (𝑃 = {𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})) |
53 | | ax-1 6 |
. . . . . . 7
⊢ (𝑃 = {𝑋, 𝑌} → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})) |
54 | 52, 53 | jaoi 393 |
. . . . . 6
⊢ ((𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌}) → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})) |
55 | 37, 54 | jaoi 393 |
. . . . 5
⊢ (((𝑃 = ∅ ∨ 𝑃 = {𝑋}) ∨ (𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌})) → ((#‘𝑃) = 2 → 𝑃 = {𝑋, 𝑌})) |
56 | 55 | com12 32 |
. . . 4
⊢
((#‘𝑃) = 2
→ (((𝑃 = ∅ ∨
𝑃 = {𝑋}) ∨ (𝑃 = {𝑌} ∨ 𝑃 = {𝑋, 𝑌})) → 𝑃 = {𝑋, 𝑌})) |
57 | 7, 56 | syl5 33 |
. . 3
⊢
((#‘𝑃) = 2
→ ((𝑃 ∈ {∅,
{𝑋}} ∨ 𝑃 ∈ {{𝑌}, {𝑋, 𝑌}}) → 𝑃 = {𝑋, 𝑌})) |
58 | 4, 57 | syl5bi 231 |
. 2
⊢
((#‘𝑃) = 2
→ (𝑃 ∈ 𝒫
{𝑋, 𝑌} → 𝑃 = {𝑋, 𝑌})) |
59 | 58 | imp 444 |
1
⊢
(((#‘𝑃) = 2
∧ 𝑃 ∈ 𝒫
{𝑋, 𝑌}) → 𝑃 = {𝑋, 𝑌}) |