This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A set of size three is an unordered triple if and only if it contains three different elements. (Contributed by AV, 21-Jul-2025)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | hash3tpexb | |- ( V e. W -> ( ( # ` V ) = 3 <-> E. a E. b E. c ( ( a =/= b /\ a =/= c /\ b =/= c ) /\ V = { a , b , c } ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | hash3tpde | |- ( ( V e. W /\ ( # ` V ) = 3 ) -> E. a E. b E. c ( ( a =/= b /\ a =/= c /\ b =/= c ) /\ V = { a , b , c } ) ) |
|
| 2 | 1 | ex | |- ( V e. W -> ( ( # ` V ) = 3 -> E. a E. b E. c ( ( a =/= b /\ a =/= c /\ b =/= c ) /\ V = { a , b , c } ) ) ) |
| 3 | fveq2 | |- ( V = { a , b , c } -> ( # ` V ) = ( # ` { a , b , c } ) ) |
|
| 4 | df-tp | |- { a , b , c } = ( { a , b } u. { c } ) |
|
| 5 | 4 | a1i | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> { a , b , c } = ( { a , b } u. { c } ) ) |
| 6 | 5 | fveq2d | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> ( # ` { a , b , c } ) = ( # ` ( { a , b } u. { c } ) ) ) |
| 7 | prfi | |- { a , b } e. Fin |
|
| 8 | snfi | |- { c } e. Fin |
|
| 9 | disjprsn | |- ( ( a =/= c /\ b =/= c ) -> ( { a , b } i^i { c } ) = (/) ) |
|
| 10 | 9 | 3adant1 | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> ( { a , b } i^i { c } ) = (/) ) |
| 11 | hashun | |- ( ( { a , b } e. Fin /\ { c } e. Fin /\ ( { a , b } i^i { c } ) = (/) ) -> ( # ` ( { a , b } u. { c } ) ) = ( ( # ` { a , b } ) + ( # ` { c } ) ) ) |
|
| 12 | 7 8 10 11 | mp3an12i | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> ( # ` ( { a , b } u. { c } ) ) = ( ( # ` { a , b } ) + ( # ` { c } ) ) ) |
| 13 | hashprg | |- ( ( a e. _V /\ b e. _V ) -> ( a =/= b <-> ( # ` { a , b } ) = 2 ) ) |
|
| 14 | 13 | el2v | |- ( a =/= b <-> ( # ` { a , b } ) = 2 ) |
| 15 | 14 | biimpi | |- ( a =/= b -> ( # ` { a , b } ) = 2 ) |
| 16 | 15 | 3ad2ant1 | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> ( # ` { a , b } ) = 2 ) |
| 17 | hashsng | |- ( c e. _V -> ( # ` { c } ) = 1 ) |
|
| 18 | 17 | elv | |- ( # ` { c } ) = 1 |
| 19 | 18 | a1i | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> ( # ` { c } ) = 1 ) |
| 20 | 16 19 | oveq12d | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> ( ( # ` { a , b } ) + ( # ` { c } ) ) = ( 2 + 1 ) ) |
| 21 | 2p1e3 | |- ( 2 + 1 ) = 3 |
|
| 22 | 20 21 | eqtrdi | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> ( ( # ` { a , b } ) + ( # ` { c } ) ) = 3 ) |
| 23 | 6 12 22 | 3eqtrd | |- ( ( a =/= b /\ a =/= c /\ b =/= c ) -> ( # ` { a , b , c } ) = 3 ) |
| 24 | 3 23 | sylan9eqr | |- ( ( ( a =/= b /\ a =/= c /\ b =/= c ) /\ V = { a , b , c } ) -> ( # ` V ) = 3 ) |
| 25 | 24 | a1i | |- ( V e. W -> ( ( ( a =/= b /\ a =/= c /\ b =/= c ) /\ V = { a , b , c } ) -> ( # ` V ) = 3 ) ) |
| 26 | 25 | exlimdv | |- ( V e. W -> ( E. c ( ( a =/= b /\ a =/= c /\ b =/= c ) /\ V = { a , b , c } ) -> ( # ` V ) = 3 ) ) |
| 27 | 26 | exlimdvv | |- ( V e. W -> ( E. a E. b E. c ( ( a =/= b /\ a =/= c /\ b =/= c ) /\ V = { a , b , c } ) -> ( # ` V ) = 3 ) ) |
| 28 | 2 27 | impbid | |- ( V e. W -> ( ( # ` V ) = 3 <-> E. a E. b E. c ( ( a =/= b /\ a =/= c /\ b =/= c ) /\ V = { a , b , c } ) ) ) |