| Step |
Hyp |
Ref |
Expression |
| 1 |
|
hashxnn0 |
|- ( P e. V -> ( # ` P ) e. NN0* ) |
| 2 |
|
xnn0le2is012 |
|- ( ( ( # ` P ) e. NN0* /\ ( # ` P ) <_ 2 ) -> ( ( # ` P ) = 0 \/ ( # ` P ) = 1 \/ ( # ` P ) = 2 ) ) |
| 3 |
1 2
|
sylan |
|- ( ( P e. V /\ ( # ` P ) <_ 2 ) -> ( ( # ` P ) = 0 \/ ( # ` P ) = 1 \/ ( # ` P ) = 2 ) ) |
| 4 |
3
|
ex |
|- ( P e. V -> ( ( # ` P ) <_ 2 -> ( ( # ` P ) = 0 \/ ( # ` P ) = 1 \/ ( # ` P ) = 2 ) ) ) |
| 5 |
|
hasheq0 |
|- ( P e. V -> ( ( # ` P ) = 0 <-> P = (/) ) ) |
| 6 |
|
eqneqall |
|- ( P = (/) -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) |
| 7 |
5 6
|
biimtrdi |
|- ( P e. V -> ( ( # ` P ) = 0 -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) ) |
| 8 |
7
|
com12 |
|- ( ( # ` P ) = 0 -> ( P e. V -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) ) |
| 9 |
|
hash1snb |
|- ( P e. V -> ( ( # ` P ) = 1 <-> E. c P = { c } ) ) |
| 10 |
|
vex |
|- c e. _V |
| 11 |
|
preq12 |
|- ( ( a = c /\ b = c ) -> { a , b } = { c , c } ) |
| 12 |
|
dfsn2 |
|- { c } = { c , c } |
| 13 |
11 12
|
eqtr4di |
|- ( ( a = c /\ b = c ) -> { a , b } = { c } ) |
| 14 |
13
|
eqeq2d |
|- ( ( a = c /\ b = c ) -> ( P = { a , b } <-> P = { c } ) ) |
| 15 |
10 10 14
|
spc2ev |
|- ( P = { c } -> E. a E. b P = { a , b } ) |
| 16 |
15
|
exlimiv |
|- ( E. c P = { c } -> E. a E. b P = { a , b } ) |
| 17 |
9 16
|
biimtrdi |
|- ( P e. V -> ( ( # ` P ) = 1 -> E. a E. b P = { a , b } ) ) |
| 18 |
17
|
imp |
|- ( ( P e. V /\ ( # ` P ) = 1 ) -> E. a E. b P = { a , b } ) |
| 19 |
18
|
a1d |
|- ( ( P e. V /\ ( # ` P ) = 1 ) -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) |
| 20 |
19
|
expcom |
|- ( ( # ` P ) = 1 -> ( P e. V -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) ) |
| 21 |
|
hash2pr |
|- ( ( P e. V /\ ( # ` P ) = 2 ) -> E. a E. b P = { a , b } ) |
| 22 |
21
|
a1d |
|- ( ( P e. V /\ ( # ` P ) = 2 ) -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) |
| 23 |
22
|
expcom |
|- ( ( # ` P ) = 2 -> ( P e. V -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) ) |
| 24 |
8 20 23
|
3jaoi |
|- ( ( ( # ` P ) = 0 \/ ( # ` P ) = 1 \/ ( # ` P ) = 2 ) -> ( P e. V -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) ) |
| 25 |
24
|
com12 |
|- ( P e. V -> ( ( ( # ` P ) = 0 \/ ( # ` P ) = 1 \/ ( # ` P ) = 2 ) -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) ) |
| 26 |
4 25
|
syld |
|- ( P e. V -> ( ( # ` P ) <_ 2 -> ( P =/= (/) -> E. a E. b P = { a , b } ) ) ) |
| 27 |
26
|
com23 |
|- ( P e. V -> ( P =/= (/) -> ( ( # ` P ) <_ 2 -> E. a E. b P = { a , b } ) ) ) |
| 28 |
27
|
imp |
|- ( ( P e. V /\ P =/= (/) ) -> ( ( # ` P ) <_ 2 -> E. a E. b P = { a , b } ) ) |
| 29 |
|
fveq2 |
|- ( P = { a , b } -> ( # ` P ) = ( # ` { a , b } ) ) |
| 30 |
|
hashprlei |
|- ( { a , b } e. Fin /\ ( # ` { a , b } ) <_ 2 ) |
| 31 |
30
|
simpri |
|- ( # ` { a , b } ) <_ 2 |
| 32 |
29 31
|
eqbrtrdi |
|- ( P = { a , b } -> ( # ` P ) <_ 2 ) |
| 33 |
32
|
exlimivv |
|- ( E. a E. b P = { a , b } -> ( # ` P ) <_ 2 ) |
| 34 |
28 33
|
impbid1 |
|- ( ( P e. V /\ P =/= (/) ) -> ( ( # ` P ) <_ 2 <-> E. a E. b P = { a , b } ) ) |