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

Theorem fz1f1o 12542
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 11677 . . . 4  |-  ( A  e.  Fin  ->  ( # `
 A )  e. 
NN0 )
2 elnn0 10261 . . . 4  |-  ( (
# `  A )  e.  NN0  <->  ( ( # `  A )  e.  NN  \/  ( # `  A
)  =  0 ) )
31, 2sylib 190 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  e.  NN  \/  ( # `
 A )  =  0 ) )
43orcomd 379 . 2  |-  ( A  e.  Fin  ->  (
( # `  A )  =  0  \/  ( # `
 A )  e.  NN ) )
5 hasheq0 11682 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  =  0  <->  A  =  (/) ) )
6 hashfz1 11668 . . . . . . 7  |-  ( (
# `  A )  e.  NN0  ->  ( # `  (
1 ... ( # `  A
) ) )  =  ( # `  A
) )
71, 6syl 16 . . . . . 6  |-  ( A  e.  Fin  ->  ( # `
 ( 1 ... ( # `  A
) ) )  =  ( # `  A
) )
8 fzfi 11349 . . . . . . 7  |-  ( 1 ... ( # `  A
) )  e.  Fin
9 hashen 11669 . . . . . . 7  |-  ( ( ( 1 ... ( # `
 A ) )  e.  Fin  /\  A  e.  Fin )  ->  (
( # `  ( 1 ... ( # `  A
) ) )  =  ( # `  A
)  <->  ( 1 ... ( # `  A
) )  ~~  A
) )
108, 9mpan 653 . . . . . 6  |-  ( A  e.  Fin  ->  (
( # `  ( 1 ... ( # `  A
) ) )  =  ( # `  A
)  <->  ( 1 ... ( # `  A
) )  ~~  A
) )
117, 10mpbid 203 . . . . 5  |-  ( A  e.  Fin  ->  (
1 ... ( # `  A
) )  ~~  A
)
12 bren 7153 . . . . 5  |-  ( ( 1 ... ( # `  A ) )  ~~  A 
<->  E. f  f : ( 1 ... ( # `
 A ) ) -1-1-onto-> A )
1311, 12sylib 190 . . . 4  |-  ( A  e.  Fin  ->  E. f 
f : ( 1 ... ( # `  A
) ) -1-1-onto-> A )
1413biantrud 495 . . 3  |-  ( A  e.  Fin  ->  (
( # `  A )  e.  NN  <->  ( ( # `
 A )  e.  NN  /\  E. f 
f : ( 1 ... ( # `  A
) ) -1-1-onto-> A ) ) )
155, 14orbi12d 692 . 2  |-  ( A  e.  Fin  ->  (
( ( # `  A
)  =  0  \/  ( # `  A
)  e.  NN )  <-> 
( A  =  (/)  \/  ( ( # `  A
)  e.  NN  /\  E. f  f : ( 1 ... ( # `  A ) ) -1-1-onto-> A ) ) ) )
164, 15mpbid 203 1  |-  ( A  e.  Fin  ->  ( A  =  (/)  \/  (
( # `  A )  e.  NN  /\  E. f  f : ( 1 ... ( # `  A ) ) -1-1-onto-> A ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 178    \/ wo 359    /\ wa 360   E.wex 1551    = wceq 1654    e. wcel 1728   (/)c0 3616   class class class wbr 4243   -1-1-onto->wf1o 5488   ` cfv 5489  (class class class)co 6117    ~~ cen 7142   Fincfn 7145   0cc0 9028   1c1 9029   NNcn 10038   NN0cn0 10259   ...cfz 11081   #chash 11656
This theorem is referenced by:  sumz  12554  fsumf1o  12555  fsumss  12557  fsumcl2lem  12563  fsumadd  12570  fsummulc2  12605  fsumconst  12611  fsumrelem  12624  gsumval3eu  15551  gsumzres  15555  gsumzcl  15556  gsumzf1o  15557  gsumzaddlem  15564  gsumconst  15570  gsumzmhm  15571  gsumzoppg  15577  gsumfsum  16804  prod1  25305  fprodf1o  25307  fprodss  25309  fprodcl2lem  25311  fprodmul  25319  fproddiv  25320  fprodconst  25337  fprodn0  25338  stoweidlem35  27872  stoweidlem39  27876
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1556  ax-5 1567  ax-17 1628  ax-9 1669  ax-8 1690  ax-13 1730  ax-14 1732  ax-6 1747  ax-7 1752  ax-11 1764  ax-12 1954  ax-ext 2424  ax-sep 4361  ax-nul 4369  ax-pow 4412  ax-pr 4438  ax-un 4736  ax-cnex 9084  ax-resscn 9085  ax-1cn 9086  ax-icn 9087  ax-addcl 9088  ax-addrcl 9089  ax-mulcl 9090  ax-mulrcl 9091  ax-mulcom 9092  ax-addass 9093  ax-mulass 9094  ax-distr 9095  ax-i2m1 9096  ax-1ne0 9097  ax-1rid 9098  ax-rnegex 9099  ax-rrecex 9100  ax-cnre 9101  ax-pre-lttri 9102  ax-pre-lttrn 9103  ax-pre-ltadd 9104  ax-pre-mulgt0 9105
This theorem depends on definitions:  df-bi 179  df-or 361  df-an 362  df-3or 938  df-3an 939  df-tru 1329  df-ex 1552  df-nf 1555  df-sb 1661  df-eu 2292  df-mo 2293  df-clab 2430  df-cleq 2436  df-clel 2439  df-nfc 2568  df-ne 2608  df-nel 2609  df-ral 2717  df-rex 2718  df-reu 2719  df-rab 2721  df-v 2967  df-sbc 3171  df-csb 3271  df-dif 3312  df-un 3314  df-in 3316  df-ss 3323  df-pss 3325  df-nul 3617  df-if 3768  df-pw 3830  df-sn 3849  df-pr 3850  df-tp 3851  df-op 3852  df-uni 4045  df-int 4080  df-iun 4124  df-br 4244  df-opab 4298  df-mpt 4299  df-tr 4334  df-eprel 4529  df-id 4533  df-po 4538  df-so 4539  df-fr 4576  df-we 4578  df-ord 4619  df-on 4620  df-lim 4621  df-suc 4622  df-om 4881  df-xp 4919  df-rel 4920  df-cnv 4921  df-co 4922  df-dm 4923  df-rn 4924  df-res 4925  df-ima 4926  df-iota 5453  df-fun 5491  df-fn 5492  df-f 5493  df-f1 5494  df-fo 5495  df-f1o 5496  df-fv 5497  df-ov 6120  df-oprab 6121  df-mpt2 6122  df-1st 6385  df-2nd 6386  df-riota 6585  df-recs 6669  df-rdg 6704  df-1o 6760  df-er 6941  df-en 7146  df-dom 7147  df-sdom 7148  df-fin 7149  df-card 7864  df-pnf 9160  df-mnf 9161  df-xr 9162  df-ltxr 9163  df-le 9164  df-sub 9331  df-neg 9332  df-nn 10039  df-n0 10260  df-z 10321  df-uz 10527  df-fz 11082  df-hash 11657
  Copyright terms: Public domain W3C validator