MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  hashprg Structured version   Unicode version

Theorem hashprg 12176
Description: The size of an unordered pair. (Contributed by Mario Carneiro, 27-Sep-2013.) (Revised by Mario Carneiro, 5-May-2016.)
Assertion
Ref Expression
hashprg  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( A  =/=  B  <->  (
# `  { A ,  B } )  =  2 ) )

Proof of Theorem hashprg
StepHypRef Expression
1 simpr 461 . . . . 5  |-  ( ( A  e.  V  /\  B  e.  V )  ->  B  e.  V )
2 elsni 3923 . . . . . . 7  |-  ( B  e.  { A }  ->  B  =  A )
32eqcomd 2448 . . . . . 6  |-  ( B  e.  { A }  ->  A  =  B )
43necon3ai 2675 . . . . 5  |-  ( A  =/=  B  ->  -.  B  e.  { A } )
5 snfi 7411 . . . . . 6  |-  { A }  e.  Fin
6 hashunsng 12175 . . . . . . 7  |-  ( B  e.  V  ->  (
( { A }  e.  Fin  /\  -.  B  e.  { A } )  ->  ( # `  ( { A }  u.  { B } ) )  =  ( ( # `  { A } )  +  1 ) ) )
76imp 429 . . . . . 6  |-  ( ( B  e.  V  /\  ( { A }  e.  Fin  /\  -.  B  e. 
{ A } ) )  ->  ( # `  ( { A }  u.  { B } ) )  =  ( ( # `  { A } )  +  1 ) )
85, 7mpanr1 683 . . . . 5  |-  ( ( B  e.  V  /\  -.  B  e.  { A } )  ->  ( # `
 ( { A }  u.  { B } ) )  =  ( ( # `  { A } )  +  1 ) )
91, 4, 8syl2an 477 . . . 4  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( # `  ( { A }  u.  { B } ) )  =  ( ( # `  { A } )  +  1 ) )
10 hashsng 12157 . . . . . . 7  |-  ( A  e.  V  ->  ( # `
 { A }
)  =  1 )
1110adantr 465 . . . . . 6  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( # `  { A } )  =  1 )
1211adantr 465 . . . . 5  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( # `  { A } )  =  1 )
1312oveq1d 6127 . . . 4  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( ( # `
 { A }
)  +  1 )  =  ( 1  +  1 ) )
149, 13eqtrd 2475 . . 3  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( # `  ( { A }  u.  { B } ) )  =  ( 1  +  1 ) )
15 df-pr 3901 . . . 4  |-  { A ,  B }  =  ( { A }  u.  { B } )
1615fveq2i 5715 . . 3  |-  ( # `  { A ,  B } )  =  (
# `  ( { A }  u.  { B } ) )
17 df-2 10401 . . 3  |-  2  =  ( 1  +  1 )
1814, 16, 173eqtr4g 2500 . 2  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( # `  { A ,  B }
)  =  2 )
19 1ne2 10555 . . . . . . 7  |-  1  =/=  2
2019a1i 11 . . . . . 6  |-  ( ( A  e.  V  /\  B  e.  V )  ->  1  =/=  2 )
2111, 20eqnetrd 2654 . . . . 5  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( # `  { A } )  =/=  2
)
22 dfsn2 3911 . . . . . . . 8  |-  { A }  =  { A ,  A }
23 preq2 3976 . . . . . . . 8  |-  ( A  =  B  ->  { A ,  A }  =  { A ,  B }
)
2422, 23syl5req 2488 . . . . . . 7  |-  ( A  =  B  ->  { A ,  B }  =  { A } )
2524fveq2d 5716 . . . . . 6  |-  ( A  =  B  ->  ( # `
 { A ,  B } )  =  (
# `  { A } ) )
2625neeq1d 2641 . . . . 5  |-  ( A  =  B  ->  (
( # `  { A ,  B } )  =/=  2  <->  ( # `  { A } )  =/=  2
) )
2721, 26syl5ibrcom 222 . . . 4  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( A  =  B  ->  ( # `  { A ,  B }
)  =/=  2 ) )
2827necon2d 2685 . . 3  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( ( # `  { A ,  B }
)  =  2  ->  A  =/=  B ) )
2928imp 429 . 2  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  ( # `  { A ,  B }
)  =  2 )  ->  A  =/=  B
)
3018, 29impbida 828 1  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( A  =/=  B  <->  (
# `  { A ,  B } )  =  2 ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    /\ wa 369    = wceq 1369    e. wcel 1756    =/= wne 2620    u. cun 3347   {csn 3898   {cpr 3900   ` cfv 5439  (class class class)co 6112   Fincfn 7331   1c1 9304    + caddc 9306   2c2 10392   #chash 12124
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1591  ax-4 1602  ax-5 1670  ax-6 1708  ax-7 1728  ax-8 1758  ax-9 1760  ax-10 1775  ax-11 1780  ax-12 1792  ax-13 1943  ax-ext 2423  ax-rep 4424  ax-sep 4434  ax-nul 4442  ax-pow 4491  ax-pr 4552  ax-un 6393  ax-cnex 9359  ax-resscn 9360  ax-1cn 9361  ax-icn 9362  ax-addcl 9363  ax-addrcl 9364  ax-mulcl 9365  ax-mulrcl 9366  ax-mulcom 9367  ax-addass 9368  ax-mulass 9369  ax-distr 9370  ax-i2m1 9371  ax-1ne0 9372  ax-1rid 9373  ax-rnegex 9374  ax-rrecex 9375  ax-cnre 9376  ax-pre-lttri 9377  ax-pre-lttrn 9378  ax-pre-ltadd 9379  ax-pre-mulgt0 9380
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 966  df-3an 967  df-tru 1372  df-ex 1587  df-nf 1590  df-sb 1701  df-eu 2257  df-mo 2258  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2577  df-ne 2622  df-nel 2623  df-ral 2741  df-rex 2742  df-reu 2743  df-rmo 2744  df-rab 2745  df-v 2995  df-sbc 3208  df-csb 3310  df-dif 3352  df-un 3354  df-in 3356  df-ss 3363  df-pss 3365  df-nul 3659  df-if 3813  df-pw 3883  df-sn 3899  df-pr 3901  df-tp 3903  df-op 3905  df-uni 4113  df-int 4150  df-iun 4194  df-br 4314  df-opab 4372  df-mpt 4373  df-tr 4407  df-eprel 4653  df-id 4657  df-po 4662  df-so 4663  df-fr 4700  df-we 4702  df-ord 4743  df-on 4744  df-lim 4745  df-suc 4746  df-xp 4867  df-rel 4868  df-cnv 4869  df-co 4870  df-dm 4871  df-rn 4872  df-res 4873  df-ima 4874  df-iota 5402  df-fun 5441  df-fn 5442  df-f 5443  df-f1 5444  df-fo 5445  df-f1o 5446  df-fv 5447  df-riota 6073  df-ov 6115  df-oprab 6116  df-mpt2 6117  df-om 6498  df-1st 6598  df-2nd 6599  df-recs 6853  df-rdg 6887  df-1o 6941  df-oadd 6945  df-er 7122  df-en 7332  df-dom 7333  df-sdom 7334  df-fin 7335  df-card 8130  df-cda 8358  df-pnf 9441  df-mnf 9442  df-xr 9443  df-ltxr 9444  df-le 9445  df-sub 9618  df-neg 9619  df-nn 10344  df-2 10401  df-n0 10601  df-z 10668  df-uz 10883  df-fz 11459  df-hash 12125
This theorem is referenced by:  hashprb  12178  hash2prb  12201  hashtpg  12207  hashfun  12220  wrdlen2i  12567  prmreclem2  13999  dchrisum0re  22784  nehash2  22982  umgraex  23279  usgra1  23314  usgranloopv  23319  usgraexmpl  23341  cusgraexi  23398  cusgrafilem1  23409  2trllemA  23471  2pthon  23523  2pthon3v  23525  eupath  23624  konigsberg  23630  coinflipprob  26884  subfacp1lem1  27089  nbhashuvtx1  30559  isnzr2hash  30804
  Copyright terms: Public domain W3C validator