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

Theorem fz1f1o 13495
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 12396 . . . 4  |-  ( A  e.  Fin  ->  ( # `
 A )  e. 
NN0 )
2 elnn0 10797 . . . 4  |-  ( (
# `  A )  e.  NN0  <->  ( ( # `  A )  e.  NN  \/  ( # `  A
)  =  0 ) )
31, 2sylib 196 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  e.  NN  \/  ( # `
 A )  =  0 ) )
43orcomd 388 . 2  |-  ( A  e.  Fin  ->  (
( # `  A )  =  0  \/  ( # `
 A )  e.  NN ) )
5 hasheq0 12401 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  =  0  <->  A  =  (/) ) )
6 hashfz1 12387 . . . . . . 7  |-  ( (
# `  A )  e.  NN0  ->  ( # `  (
1 ... ( # `  A
) ) )  =  ( # `  A
) )
71, 6syl 16 . . . . . 6  |-  ( A  e.  Fin  ->  ( # `
 ( 1 ... ( # `  A
) ) )  =  ( # `  A
) )
8 fzfi 12050 . . . . . . 7  |-  ( 1 ... ( # `  A
) )  e.  Fin
9 hashen 12388 . . . . . . 7  |-  ( ( ( 1 ... ( # `
 A ) )  e.  Fin  /\  A  e.  Fin )  ->  (
( # `  ( 1 ... ( # `  A
) ) )  =  ( # `  A
)  <->  ( 1 ... ( # `  A
) )  ~~  A
) )
108, 9mpan 670 . . . . . 6  |-  ( A  e.  Fin  ->  (
( # `  ( 1 ... ( # `  A
) ) )  =  ( # `  A
)  <->  ( 1 ... ( # `  A
) )  ~~  A
) )
117, 10mpbid 210 . . . . 5  |-  ( A  e.  Fin  ->  (
1 ... ( # `  A
) )  ~~  A
)
12 bren 7525 . . . . 5  |-  ( ( 1 ... ( # `  A ) )  ~~  A 
<->  E. f  f : ( 1 ... ( # `
 A ) ) -1-1-onto-> A )
1311, 12sylib 196 . . . 4  |-  ( A  e.  Fin  ->  E. f 
f : ( 1 ... ( # `  A
) ) -1-1-onto-> A )
1413biantrud 507 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  e.  NN  <->  ( ( # `
 A )  e.  NN  /\  E. f 
f : ( 1 ... ( # `  A
) ) -1-1-onto-> A ) ) )
155, 14orbi12d 709 . 2  |-  ( A  e.  Fin  ->  (
( ( # `  A
)  =  0  \/  ( # `  A
)  e.  NN )  <-> 
( A  =  (/)  \/  ( ( # `  A
)  e.  NN  /\  E. f  f : ( 1 ... ( # `  A ) ) -1-1-onto-> A ) ) ) )
164, 15mpbid 210 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 184    \/ wo 368    /\ wa 369    = wceq 1379   E.wex 1596    e. wcel 1767   (/)c0 3785   class class class wbr 4447   -1-1-onto->wf1o 5587   ` cfv 5588  (class class class)co 6284    ~~ cen 7513   Fincfn 7516   0cc0 9492   1c1 9493   NNcn 10536   NN0cn0 10795   ...cfz 11672   #chash 12373
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-sep 4568  ax-nul 4576  ax-pow 4625  ax-pr 4686  ax-un 6576  ax-cnex 9548  ax-resscn 9549  ax-1cn 9550  ax-icn 9551  ax-addcl 9552  ax-addrcl 9553  ax-mulcl 9554  ax-mulrcl 9555  ax-mulcom 9556  ax-addass 9557  ax-mulass 9558  ax-distr 9559  ax-i2m1 9560  ax-1ne0 9561  ax-1rid 9562  ax-rnegex 9563  ax-rrecex 9564  ax-cnre 9565  ax-pre-lttri 9566  ax-pre-lttrn 9567  ax-pre-ltadd 9568  ax-pre-mulgt0 9569
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2819  df-rex 2820  df-reu 2821  df-rab 2823  df-v 3115  df-sbc 3332  df-csb 3436  df-dif 3479  df-un 3481  df-in 3483  df-ss 3490  df-pss 3492  df-nul 3786  df-if 3940  df-pw 4012  df-sn 4028  df-pr 4030  df-tp 4032  df-op 4034  df-uni 4246  df-int 4283  df-iun 4327  df-br 4448  df-opab 4506  df-mpt 4507  df-tr 4541  df-eprel 4791  df-id 4795  df-po 4800  df-so 4801  df-fr 4838  df-we 4840  df-ord 4881  df-on 4882  df-lim 4883  df-suc 4884  df-xp 5005  df-rel 5006  df-cnv 5007  df-co 5008  df-dm 5009  df-rn 5010  df-res 5011  df-ima 5012  df-iota 5551  df-fun 5590  df-fn 5591  df-f 5592  df-f1 5593  df-fo 5594  df-f1o 5595  df-fv 5596  df-riota 6245  df-ov 6287  df-oprab 6288  df-mpt2 6289  df-om 6685  df-1st 6784  df-2nd 6785  df-recs 7042  df-rdg 7076  df-1o 7130  df-er 7311  df-en 7517  df-dom 7518  df-sdom 7519  df-fin 7520  df-card 8320  df-pnf 9630  df-mnf 9631  df-xr 9632  df-ltxr 9633  df-le 9634  df-sub 9807  df-neg 9808  df-nn 10537  df-n0 10796  df-z 10865  df-uz 11083  df-fz 11673  df-hash 12374
This theorem is referenced by:  sumz  13507  fsumf1o  13508  fsumss  13510  fsumcl2lem  13516  fsumadd  13524  fsummulc2  13562  fsumconst  13568  fsumrelem  13584  gsumval3eu  16710  gsumzres  16717  gsumzcl2  16718  gsumzf1o  16720  gsumzresOLD  16721  gsumzclOLD  16722  gsumzf1oOLD  16723  gsumzaddlem  16737  gsumzaddlemOLD  16739  gsumconst  16757  gsumzmhm  16760  gsumzmhmOLD  16761  gsumzoppg  16770  gsumzoppgOLD  16771  gsumfsum  18280  prod1  28681  fprodf1o  28683  fprodss  28685  fprodcl2lem  28687  fprodmul  28695  fproddiv  28696  fprodconst  28713  fprodn0  28714  stoweidlem35  31363  stoweidlem39  31367
  Copyright terms: Public domain W3C validator