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

Theorem hashfun 12495
Description: A finite set is a function iff it is equinumerous to its domain. (Contributed by Mario Carneiro, 26-Sep-2013.) (Revised by Mario Carneiro, 12-Mar-2015.)
Assertion
Ref Expression
hashfun

Proof of Theorem hashfun
Dummy variables are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 funfn 5622 . . 3
2 hashfn 12443 . . 3
31, 2sylbi 195 . 2
4 dmfi 7823 . . . . . . . . . . 11
5 hashcl 12428 . . . . . . . . . . 11
64, 5syl 16 . . . . . . . . . 10
76nn0red 10878 . . . . . . . . 9
87adantr 465 . . . . . . . 8
9 df-rel 5011 . . . . . . . . . . . . 13
10 dfss3 3493 . . . . . . . . . . . . 13
119, 10bitri 249 . . . . . . . . . . . 12
1211notbii 296 . . . . . . . . . . 11
13 rexnal 2905 . . . . . . . . . . 11
1412, 13bitr4i 252 . . . . . . . . . 10
15 dmun 5214 . . . . . . . . . . . . . . . 16
1615fveq2i 5874 . . . . . . . . . . . . . . 15
17 dmsnn0 5478 . . . . . . . . . . . . . . . . . . . . 21
1817biimpri 206 . . . . . . . . . . . . . . . . . . . 20
1918necon1bi 2690 . . . . . . . . . . . . . . . . . . 19
20193ad2ant3 1019 . . . . . . . . . . . . . . . . . 18
2120uneq2d 3657 . . . . . . . . . . . . . . . . 17
22 un0 3810 . . . . . . . . . . . . . . . . 17
2321, 22syl6eq 2514 . . . . . . . . . . . . . . . 16
2423fveq2d 5875 . . . . . . . . . . . . . . 15
2516, 24syl5eq 2510 . . . . . . . . . . . . . 14
26 diffi 7771 . . . . . . . . . . . . . . . . . . 19
27 dmfi 7823 . . . . . . . . . . . . . . . . . . 19
2826, 27syl 16 . . . . . . . . . . . . . . . . . 18
29 hashcl 12428 . . . . . . . . . . . . . . . . . 18
3028, 29syl 16 . . . . . . . . . . . . . . . . 17
3130nn0red 10878 . . . . . . . . . . . . . . . 16
32 hashcl 12428 . . . . . . . . . . . . . . . . . 18
3326, 32syl 16 . . . . . . . . . . . . . . . . 17
3433nn0red 10878 . . . . . . . . . . . . . . . 16
35 peano2re 9774 . . . . . . . . . . . . . . . . 17
3634, 35syl 16 . . . . . . . . . . . . . . . 16
37 fidomdm 7822 . . . . . . . . . . . . . . . . . 18
3826, 37syl 16 . . . . . . . . . . . . . . . . 17
39 hashdom 12447 . . . . . . . . . . . . . . . . . 18
4028, 26, 39syl2anc 661 . . . . . . . . . . . . . . . . 17
4138, 40mpbird 232 . . . . . . . . . . . . . . . 16
4234ltp1d 10501 . . . . . . . . . . . . . . . 16
4331, 34, 36, 41, 42lelttrd 9761 . . . . . . . . . . . . . . 15
44433ad2ant1 1017 . . . . . . . . . . . . . 14
4525, 44eqbrtrd 4472 . . . . . . . . . . . . 13
46 snfi 7616 . . . . . . . . . . . . . . . . 17
47 incom 3690 . . . . . . . . . . . . . . . . . 18
48 disjdif 3900 . . . . . . . . . . . . . . . . . 18
4947, 48eqtri 2486 . . . . . . . . . . . . . . . . 17
50 hashun 12450 . . . . . . . . . . . . . . . . 17
5146, 49, 50mp3an23 1316 . . . . . . . . . . . . . . . 16
5226, 51syl 16 . . . . . . . . . . . . . . 15
53 vex 3112 . . . . . . . . . . . . . . . . 17
54 hashsng 12438 . . . . . . . . . . . . . . . . 17
5553, 54ax-mp 5 . . . . . . . . . . . . . . . 16
5655oveq2i 6307 . . . . . . . . . . . . . . 15
5752, 56syl6req 2515 . . . . . . . . . . . . . 14
58573ad2ant1 1017 . . . . . . . . . . . . 13
5945, 58breqtrd 4476 . . . . . . . . . . . 12
60 difsnid 4176 . . . . . . . . . . . . . . 15
6160dmeqd 5210 . . . . . . . . . . . . . 14
6261fveq2d 5875 . . . . . . . . . . . . 13
63623ad2ant2 1018 . . . . . . . . . . . 12
6460fveq2d 5875 . . . . . . . . . . . . 13
65643ad2ant2 1018 . . . . . . . . . . . 12
6659, 63, 653brtr3d 4481 . . . . . . . . . . 11
6766rexlimdv3a 2951 . . . . . . . . . 10
6814, 67syl5bi 217 . . . . . . . . 9
6968imp 429 . . . . . . . 8
708, 69gtned 9741 . . . . . . 7
7170ex 434 . . . . . 6
7271necon4bd 2679 . . . . 5
7372imp 429 . . . 4
74 2nalexn 1649 . . . . . . . 8
75 df-ne 2654 . . . . . . . . . . . . 13
7675anbi2i 694 . . . . . . . . . . . 12
77 annim 425 . . . . . . . . . . . 12
7876, 77bitri 249 . . . . . . . . . . 11
7978exbii 1667 . . . . . . . . . 10
80 exnal 1648 . . . . . . . . . 10
8179, 80bitr2i 250 . . . . . . . . 9
82812exbii 1668 . . . . . . . 8
8374, 82bitri 249 . . . . . . 7
847adantr 465 . . . . . . . . . . 11
85 2re 10630 . . . . . . . . . . . . 13
86 diffi 7771 . . . . . . . . . . . . . . . . 17
87 dmfi 7823 . . . . . . . . . . . . . . . . 17
8886, 87syl 16 . . . . . . . . . . . . . . . 16
89 hashcl 12428 . . . . . . . . . . . . . . . 16
9088, 89syl 16 . . . . . . . . . . . . . . 15
9190nn0red 10878 . . . . . . . . . . . . . 14
9291adantr 465 . . . . . . . . . . . . 13
93 readdcl 9596 . . . . . . . . . . . . 13
9485, 92, 93sylancr 663 . . . . . . . . . . . 12
95 hashcl 12428 . . . . . . . . . . . . . 14
9695nn0red 10878 . . . . . . . . . . . . 13
9796adantr 465 . . . . . . . . . . . 12
98 1re 9616 . . . . . . . . . . . . . . 15
99 readdcl 9596 . . . . . . . . . . . . . . 15
10098, 91, 99sylancr 663 . . . . . . . . . . . . . 14
101100adantr 465 . . . . . . . . . . . . 13
10285, 91, 93sylancr 663 . . . . . . . . . . . . . 14
103102adantr 465 . . . . . . . . . . . . 13
104 dmun 5214 . . . . . . . . . . . . . . . . . 18
105 opex 4716 . . . . . . . . . . . . . . . . . . . . 21
106 opex 4716 . . . . . . . . . . . . . . . . . . . . 21
107105, 106prss 4184 . . . . . . . . . . . . . . . . . . . 20
108 undif 3908 . . . . . . . . . . . . . . . . . . . 20
109107, 108sylbb 197 . . . . . . . . . . . . . . . . . . 19
110109dmeqd 5210 . . . . . . . . . . . . . . . . . 18
111104, 110syl5reqr 2513 . . . . . . . . . . . . . . . . 17
112 vex 3112 . . . . . . . . . . . . . . . . . . . 20
113 vex 3112 . . . . . . . . . . . . . . . . . . . 20
114112, 113dmprop 5488 . . . . . . . . . . . . . . . . . . 19
115 dfsn2 4042 . . . . . . . . . . . . . . . . . . 19
116114, 115eqtr4i 2489 . . . . . . . . . . . . . . . . . 18
117116uneq1i 3653 . . . . . . . . . . . . . . . . 17
118111, 117syl6eq 2514 . . . . . . . . . . . . . . . 16
119118fveq2d 5875 . . . . . . . . . . . . . . 15
120119ad2antrl 727 . . . . . . . . . . . . . 14
121 hashun2 12451 . . . . . . . . . . . . . . . . 17
12246, 88, 121sylancr 663 . . . . . . . . . . . . . . . 16
12355oveq1i 6306 . . . . . . . . . . . . . . . 16
124122, 123syl6breq 4491 . . . . . . . . . . . . . . 15
125124adantr 465 . . . . . . . . . . . . . 14
126120, 125eqbrtrd 4472 . . . . . . . . . . . . 13
127 1lt2 10727 . . . . . . . . . . . . . . 15
128 ltadd1 10044 . . . . . . . . . . . . . . . . 17
12998, 85, 128mp3an12 1314 . . . . . . . . . . . . . . . 16
13091, 129syl 16 . . . . . . . . . . . . . . 15
131127, 130mpbii 211 . . . . . . . . . . . . . 14
132131adantr 465 . . . . . . . . . . . . 13
13384, 101, 103, 126, 132lelttrd 9761 . . . . . . . . . . . 12
134 fidomdm 7822 . . . . . . . . . . . . . . . . 17
13586, 134syl 16 . . . . . . . . . . . . . . . 16
136 hashdom 12447 . . . . . . . . . . . . . . . . 17
13788, 86, 136syl2anc 661 . . . . . . . . . . . . . . . 16
138135, 137mpbird 232 . . . . . . . . . . . . . . 15
139 hashcl 12428 . . . . . . . . . . . . . . . . . 18
14086, 139syl 16 . . . . . . . . . . . . . . . . 17
141140nn0red 10878 . . . . . . . . . . . . . . . 16
142 leadd2 10046 . . . . . . . . . . . . . . . . 17
14385, 142mp3an3 1313 . . . . . . . . . . . . . . . 16
14491, 141, 143syl2anc 661 . . . . . . . . . . . . . . 15
145138, 144mpbid 210 . . . . . . . . . . . . . 14
146145adantr 465 . . . . . . . . . . . . 13
147 prfi 7815 . . . . . . . . . . . . . . . . 17
148 disjdif 3900 . . . . . . . . . . . . . . . . 17
149 hashun 12450 . . . . . . . . . . . . . . . . 17
150147, 148, 149mp3an13 1315 . . . . . . . . . . . . . . . 16
15186, 150syl 16 . . . . . . . . . . . . . . 15
152151adantr 465 . . . . . . . . . . . . . 14
153109fveq2d 5875 . . . . . . . . . . . . . . 15
154153ad2antrl 727 . . . . . . . . . . . . . 14
15553, 112opth 4726 . . . . . . . . . . . . . . . . . . 19
156155simprbi 464 . . . . . . . . . . . . . . . . . 18
157156necon3i 2697 . . . . . . . . . . . . . . . . 17
158 hashprg 12460 . . . . . . . . . . . . . . . . . 18
159105, 106, 158mp2an 672 . . . . . . . . . . . . . . . . 17
160157, 159sylib 196 . . . . . . . . . . . . . . . 16
161160oveq1d 6311 . . . . . . . . . . . . . . 15
162161ad2antll 728 . . . . . . . . . . . . . 14
163152, 154, 1623eqtr3rd 2507 . . . . . . . . . . . . 13
164146, 163breqtrd 4476 . . . . . . . . . . . 12
16584, 94, 97, 133, 164ltletrd 9763 . . . . . . . . . . 11
16684, 165gtned 9741 . . . . . . . . . 10
167166ex 434 . . . . . . . . 9
168167exlimdv 1724 . . . . . . . 8
169168exlimdvv 1725 . . . . . . 7
17083, 169syl5bi 217 . . . . . 6
171170necon4bd 2679 . . . . 5
172171imp 429 . . . 4
173 dffun4 5605 . . . 4
17473, 172, 173sylanbrc 664 . . 3
175174ex 434 . 2
1763, 175impbid2 204 1
Colors of variables: wff setvar class
Syntax hints:  -.wn 3  ->wi 4  <->wb 184  /\wa 369  /\w3a 973  A.wal 1393  =wceq 1395  E.wex 1612  e.wcel 1818  =/=wne 2652  A.wral 2807  E.wrex 2808   cvv 3109  \cdif 3472  u.cun 3473  i^icin 3474  C_wss 3475   c0 3784  {csn 4029  {cpr 4031  <.cop 4035   class class class wbr 4452  X.cxp 5002  domcdm 5004  Relwrel 5009  Funwfun 5587  Fnwfn 5588  `cfv 5593  (class class class)co 6296   cdom 7534   cfn 7536   cr 9512  1c1 9514   caddc 9516   clt 9649   cle 9650  2c2 10610   cn0 10820   chash 12405
This theorem is referenced by:  hashfzdm  12498  hashfirdm  12500  cusgrasizeinds  24476
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1618  ax-4 1631  ax-5 1704  ax-6 1747  ax-7 1790  ax-8 1820  ax-9 1822  ax-10 1837  ax-11 1842  ax-12 1854  ax-13 1999  ax-ext 2435  ax-rep 4563  ax-sep 4573  ax-nul 4581  ax-pow 4630  ax-pr 4691  ax-un 6592  ax-cnex 9569  ax-resscn 9570  ax-1cn 9571  ax-icn 9572  ax-addcl 9573  ax-addrcl 9574  ax-mulcl 9575  ax-mulrcl 9576  ax-mulcom 9577  ax-addass 9578  ax-mulass 9579  ax-distr 9580  ax-i2m1 9581  ax-1ne0 9582  ax-1rid 9583  ax-rnegex 9584  ax-rrecex 9585  ax-cnre 9586  ax-pre-lttri 9587  ax-pre-lttrn 9588  ax-pre-ltadd 9589  ax-pre-mulgt0 9590
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1398  df-ex 1613  df-nf 1617  df-sb 1740  df-eu 2286  df-mo 2287  df-clab 2443  df-cleq 2449  df-clel 2452  df-nfc 2607  df-ne 2654  df-nel 2655  df-ral 2812  df-rex 2813  df-reu 2814  df-rmo 2815  df-rab 2816  df-v 3111  df-sbc 3328  df-csb 3435  df-dif 3478  df-un 3480  df-in 3482  df-ss 3489  df-pss 3491  df-nul 3785  df-if 3942  df-pw 4014  df-sn 4030  df-pr 4032  df-tp 4034  df-op 4036  df-uni 4250  df-int 4287  df-iun 4332  df-br 4453  df-opab 4511  df-mpt 4512  df-tr 4546  df-eprel 4796  df-id 4800  df-po 4805  df-so 4806  df-fr 4843  df-we 4845  df-ord 4886  df-on 4887  df-lim 4888  df-suc 4889  df-xp 5010  df-rel 5011  df-cnv 5012  df-co 5013  df-dm 5014  df-rn 5015  df-res 5016  df-ima 5017  df-iota 5556  df-fun 5595  df-fn 5596  df-f 5597  df-f1 5598  df-fo 5599  df-f1o 5600  df-fv 5601  df-riota 6257  df-ov 6299  df-oprab 6300  df-mpt2 6301  df-om 6701  df-1st 6800  df-2nd 6801  df-recs 7061  df-rdg 7095  df-1o 7149  df-oadd 7153  df-er 7330  df-en 7537  df-dom 7538  df-sdom 7539  df-fin 7540  df-card 8341  df-cda 8569  df-pnf 9651  df-mnf 9652  df-xr 9653  df-ltxr 9654  df-le 9655  df-sub 9830  df-neg 9831  df-nn 10562  df-2 10619  df-n0 10821  df-z 10890  df-uz 11111  df-fz 11702  df-hash 12406
  Copyright terms: Public domain W3C validator