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

Theorem fz1f1o 13754
Description: A lemma for working with finite sums. (Contributed by Mario Carneiro, 22-Apr-2014.)
Assertion
Ref Expression
fz1f1o  |-  ( A  e.  Fin  ->  ( A  =  (/)  \/  (
( # `  A )  e.  NN  /\  E. f  f : ( 1 ... ( # `  A ) ) -1-1-onto-> A ) ) )
Distinct variable group:    A, f

Proof of Theorem fz1f1o
StepHypRef Expression
1 hashcl 12535 . . . 4  |-  ( A  e.  Fin  ->  ( # `
 A )  e. 
NN0 )
2 elnn0 10871 . . . 4  |-  ( (
# `  A )  e.  NN0  <->  ( ( # `  A )  e.  NN  \/  ( # `  A
)  =  0 ) )
31, 2sylib 199 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  e.  NN  \/  ( # `
 A )  =  0 ) )
43orcomd 389 . 2  |-  ( A  e.  Fin  ->  (
( # `  A )  =  0  \/  ( # `
 A )  e.  NN ) )
5 hasheq0 12541 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  =  0  <->  A  =  (/) ) )
6 hashfz1 12526 . . . . . . 7  |-  ( (
# `  A )  e.  NN0  ->  ( # `  (
1 ... ( # `  A
) ) )  =  ( # `  A
) )
71, 6syl 17 . . . . . 6  |-  ( A  e.  Fin  ->  ( # `
 ( 1 ... ( # `  A
) ) )  =  ( # `  A
) )
8 fzfi 12182 . . . . . . 7  |-  ( 1 ... ( # `  A
) )  e.  Fin
9 hashen 12527 . . . . . . 7  |-  ( ( ( 1 ... ( # `
 A ) )  e.  Fin  /\  A  e.  Fin )  ->  (
( # `  ( 1 ... ( # `  A
) ) )  =  ( # `  A
)  <->  ( 1 ... ( # `  A
) )  ~~  A
) )
108, 9mpan 674 . . . . . 6  |-  ( A  e.  Fin  ->  (
( # `  ( 1 ... ( # `  A
) ) )  =  ( # `  A
)  <->  ( 1 ... ( # `  A
) )  ~~  A
) )
117, 10mpbid 213 . . . . 5  |-  ( A  e.  Fin  ->  (
1 ... ( # `  A
) )  ~~  A
)
12 bren 7586 . . . . 5  |-  ( ( 1 ... ( # `  A ) )  ~~  A 
<->  E. f  f : ( 1 ... ( # `
 A ) ) -1-1-onto-> A )
1311, 12sylib 199 . . . 4  |-  ( A  e.  Fin  ->  E. f 
f : ( 1 ... ( # `  A
) ) -1-1-onto-> A )
1413biantrud 509 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  e.  NN  <->  ( ( # `
 A )  e.  NN  /\  E. f 
f : ( 1 ... ( # `  A
) ) -1-1-onto-> A ) ) )
155, 14orbi12d 714 . 2  |-  ( A  e.  Fin  ->  (
( ( # `  A
)  =  0  \/  ( # `  A
)  e.  NN )  <-> 
( A  =  (/)  \/  ( ( # `  A
)  e.  NN  /\  E. f  f : ( 1 ... ( # `  A ) ) -1-1-onto-> A ) ) ) )
164, 15mpbid 213 1  |-  ( A  e.  Fin  ->  ( A  =  (/)  \/  (
( # `  A )  e.  NN  /\  E. f  f : ( 1 ... ( # `  A ) ) -1-1-onto-> A ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 187    \/ wo 369    /\ wa 370    = wceq 1437   E.wex 1659    e. wcel 1870   (/)c0 3767   class class class wbr 4426   -1-1-onto->wf1o 5600   ` cfv 5601  (class class class)co 6305    ~~ cen 7574   Fincfn 7577   0cc0 9538   1c1 9539   NNcn 10609   NN0cn0 10869   ...cfz 11782   #chash 12512
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1665  ax-4 1678  ax-5 1751  ax-6 1797  ax-7 1841  ax-8 1872  ax-9 1874  ax-10 1889  ax-11 1894  ax-12 1907  ax-13 2055  ax-ext 2407  ax-sep 4548  ax-nul 4556  ax-pow 4603  ax-pr 4661  ax-un 6597  ax-cnex 9594  ax-resscn 9595  ax-1cn 9596  ax-icn 9597  ax-addcl 9598  ax-addrcl 9599  ax-mulcl 9600  ax-mulrcl 9601  ax-mulcom 9602  ax-addass 9603  ax-mulass 9604  ax-distr 9605  ax-i2m1 9606  ax-1ne0 9607  ax-1rid 9608  ax-rnegex 9609  ax-rrecex 9610  ax-cnre 9611  ax-pre-lttri 9612  ax-pre-lttrn 9613  ax-pre-ltadd 9614  ax-pre-mulgt0 9615
This theorem depends on definitions:  df-bi 188  df-or 371  df-an 372  df-3or 983  df-3an 984  df-tru 1440  df-ex 1660  df-nf 1664  df-sb 1790  df-eu 2270  df-mo 2271  df-clab 2415  df-cleq 2421  df-clel 2424  df-nfc 2579  df-ne 2627  df-nel 2628  df-ral 2787  df-rex 2788  df-reu 2789  df-rab 2791  df-v 3089  df-sbc 3306  df-csb 3402  df-dif 3445  df-un 3447  df-in 3449  df-ss 3456  df-pss 3458  df-nul 3768  df-if 3916  df-pw 3987  df-sn 4003  df-pr 4005  df-tp 4007  df-op 4009  df-uni 4223  df-int 4259  df-iun 4304  df-br 4427  df-opab 4485  df-mpt 4486  df-tr 4521  df-eprel 4765  df-id 4769  df-po 4775  df-so 4776  df-fr 4813  df-we 4815  df-xp 4860  df-rel 4861  df-cnv 4862  df-co 4863  df-dm 4864  df-rn 4865  df-res 4866  df-ima 4867  df-pred 5399  df-ord 5445  df-on 5446  df-lim 5447  df-suc 5448  df-iota 5565  df-fun 5603  df-fn 5604  df-f 5605  df-f1 5606  df-fo 5607  df-f1o 5608  df-fv 5609  df-riota 6267  df-ov 6308  df-oprab 6309  df-mpt2 6310  df-om 6707  df-1st 6807  df-2nd 6808  df-wrecs 7036  df-recs 7098  df-rdg 7136  df-1o 7190  df-er 7371  df-en 7578  df-dom 7579  df-sdom 7580  df-fin 7581  df-card 8372  df-pnf 9676  df-mnf 9677  df-xr 9678  df-ltxr 9679  df-le 9680  df-sub 9861  df-neg 9862  df-nn 10610  df-n0 10870  df-z 10938  df-uz 11160  df-fz 11783  df-hash 12513
This theorem is referenced by:  sumz  13766  fsumf1o  13767  fsumss  13769  fsumcl2lem  13775  fsumadd  13783  fsummulc2  13823  fsumconst  13829  fsumrelem  13845  prod1  13976  fprodf1o  13978  fprodss  13980  fprodcl2lem  13982  fprodmul  13992  fproddiv  13993  fprodconst  14010  fprodn0  14011  gsumval3eu  17473  gsumzres  17478  gsumzcl2  17479  gsumzf1o  17481  gsumzaddlem  17489  gsumconst  17502  gsumzmhm  17505  gsumzoppg  17512  gsumfsum  18969  f1ocnt  28212  stoweidlem35  37465  stoweidlem39  37469
  Copyright terms: Public domain W3C validator