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

Theorem hashprg 12138
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 458 . . . . 5  |-  ( ( A  e.  V  /\  B  e.  V )  ->  B  e.  V )
2 elsni 3890 . . . . . . 7  |-  ( B  e.  { A }  ->  B  =  A )
32eqcomd 2438 . . . . . 6  |-  ( B  e.  { A }  ->  A  =  B )
43necon3ai 2641 . . . . 5  |-  ( A  =/=  B  ->  -.  B  e.  { A } )
5 snfi 7378 . . . . . 6  |-  { A }  e.  Fin
6 hashunsng 12137 . . . . . . 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 676 . . . . 5  |-  ( ( B  e.  V  /\  -.  B  e.  { A } )  ->  ( # `
 ( { A }  u.  { B } ) )  =  ( ( # `  { A } )  +  1 ) )
91, 4, 8syl2an 474 . . . 4  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( # `  ( { A }  u.  { B } ) )  =  ( ( # `  { A } )  +  1 ) )
10 hashsng 12119 . . . . . . 7  |-  ( A  e.  V  ->  ( # `
 { A }
)  =  1 )
1110adantr 462 . . . . . 6  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( # `  { A } )  =  1 )
1211adantr 462 . . . . 5  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( # `  { A } )  =  1 )
1312oveq1d 6095 . . . 4  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( ( # `
 { A }
)  +  1 )  =  ( 1  +  1 ) )
149, 13eqtrd 2465 . . 3  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( # `  ( { A }  u.  { B } ) )  =  ( 1  +  1 ) )
15 df-pr 3868 . . . 4  |-  { A ,  B }  =  ( { A }  u.  { B } )
1615fveq2i 5682 . . 3  |-  ( # `  { A ,  B } )  =  (
# `  ( { A }  u.  { B } ) )
17 df-2 10367 . . 3  |-  2  =  ( 1  +  1 )
1814, 16, 173eqtr4g 2490 . 2  |-  ( ( ( A  e.  V  /\  B  e.  V
)  /\  A  =/=  B )  ->  ( # `  { A ,  B }
)  =  2 )
19 1ne2 10521 . . . . . . 7  |-  1  =/=  2
2019a1i 11 . . . . . 6  |-  ( ( A  e.  V  /\  B  e.  V )  ->  1  =/=  2 )
2111, 20eqnetrd 2616 . . . . 5  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( # `  { A } )  =/=  2
)
22 dfsn2 3878 . . . . . . . 8  |-  { A }  =  { A ,  A }
23 preq2 3943 . . . . . . . 8  |-  ( A  =  B  ->  { A ,  A }  =  { A ,  B }
)
2422, 23syl5req 2478 . . . . . . 7  |-  ( A  =  B  ->  { A ,  B }  =  { A } )
2524fveq2d 5683 . . . . . 6  |-  ( A  =  B  ->  ( # `
 { A ,  B } )  =  (
# `  { A } ) )
2625neeq1d 2611 . . . . 5  |-  ( A  =  B  ->  (
( # `  { A ,  B } )  =/=  2  <->  ( # `  { A } )  =/=  2
) )
2721, 26syl5ibrcom 222 . . . 4  |-  ( ( A  e.  V  /\  B  e.  V )  ->  ( A  =  B  ->  ( # `  { A ,  B }
)  =/=  2 ) )
2827necon2d 2651 . . 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 821 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 1362    e. wcel 1755    =/= wne 2596    u. cun 3314   {csn 3865   {cpr 3867   ` cfv 5406  (class class class)co 6080   Fincfn 7298   1c1 9270    + caddc 9272   2c2 10358   #chash 12086
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1594  ax-4 1605  ax-5 1669  ax-6 1707  ax-7 1727  ax-8 1757  ax-9 1759  ax-10 1774  ax-11 1779  ax-12 1791  ax-13 1942  ax-ext 2414  ax-rep 4391  ax-sep 4401  ax-nul 4409  ax-pow 4458  ax-pr 4519  ax-un 6361  ax-cnex 9325  ax-resscn 9326  ax-1cn 9327  ax-icn 9328  ax-addcl 9329  ax-addrcl 9330  ax-mulcl 9331  ax-mulrcl 9332  ax-mulcom 9333  ax-addass 9334  ax-mulass 9335  ax-distr 9336  ax-i2m1 9337  ax-1ne0 9338  ax-1rid 9339  ax-rnegex 9340  ax-rrecex 9341  ax-cnre 9342  ax-pre-lttri 9343  ax-pre-lttrn 9344  ax-pre-ltadd 9345  ax-pre-mulgt0 9346
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 959  df-3an 960  df-tru 1365  df-ex 1590  df-nf 1593  df-sb 1700  df-eu 2258  df-mo 2259  df-clab 2420  df-cleq 2426  df-clel 2429  df-nfc 2558  df-ne 2598  df-nel 2599  df-ral 2710  df-rex 2711  df-reu 2712  df-rmo 2713  df-rab 2714  df-v 2964  df-sbc 3176  df-csb 3277  df-dif 3319  df-un 3321  df-in 3323  df-ss 3330  df-pss 3332  df-nul 3626  df-if 3780  df-pw 3850  df-sn 3866  df-pr 3868  df-tp 3870  df-op 3872  df-uni 4080  df-int 4117  df-iun 4161  df-br 4281  df-opab 4339  df-mpt 4340  df-tr 4374  df-eprel 4619  df-id 4623  df-po 4628  df-so 4629  df-fr 4666  df-we 4668  df-ord 4709  df-on 4710  df-lim 4711  df-suc 4712  df-xp 4833  df-rel 4834  df-cnv 4835  df-co 4836  df-dm 4837  df-rn 4838  df-res 4839  df-ima 4840  df-iota 5369  df-fun 5408  df-fn 5409  df-f 5410  df-f1 5411  df-fo 5412  df-f1o 5413  df-fv 5414  df-riota 6039  df-ov 6083  df-oprab 6084  df-mpt2 6085  df-om 6466  df-1st 6566  df-2nd 6567  df-recs 6818  df-rdg 6852  df-1o 6908  df-oadd 6912  df-er 7089  df-en 7299  df-dom 7300  df-sdom 7301  df-fin 7302  df-card 8097  df-cda 8325  df-pnf 9407  df-mnf 9408  df-xr 9409  df-ltxr 9410  df-le 9411  df-sub 9584  df-neg 9585  df-nn 10310  df-2 10367  df-n0 10567  df-z 10634  df-uz 10849  df-fz 11424  df-hash 12087
This theorem is referenced by:  hashprb  12140  hash2prb  12163  hashtpg  12169  hashfun  12182  wrdlen2i  12529  prmreclem2  13960  dchrisum0re  22646  umgraex  23079  usgra1  23114  usgranloopv  23119  usgraexmpl  23141  cusgraexi  23198  cusgrafilem1  23209  2trllemA  23271  2pthon  23323  2pthon3v  23325  eupath  23424  konigsberg  23430  coinflipprob  26709  subfacp1lem1  26914  nbhashuvtx1  30376  isnzr2hash  30602
  Copyright terms: Public domain W3C validator