HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem hashgval 8230
Description: The value of the # function in terms of the mapping G from om to NN0. (Contributed by Paul Chapman, 22-Jun-2011.)
Hypothesis
Ref Expression
hashgval.1 |- G = (rec({<.x, y>. | y = (x + 1)}, 0) |` om)
Assertion
Ref Expression
hashgval |- (A e. Fin -> (G` (card` A)) = (#` A))
Distinct variable group:   x,y

Proof of Theorem hashgval
StepHypRef Expression
1 ficardom 5979 . . . 4 |- (A e. Fin -> (card` A) e. om)
2 fvres 4691 . . . 4 |- ((card` A) e. om -> ((rec({<.x, y>. | y = (x + 1)}, 0) |` om)` (card` A)) = (rec({<.x, y>. | y = (x + 1)}, 0)` (card`
A)))
31, 2syl 12 . . 3 |- (A e. Fin -> ((rec({<.x, y>. | y = (x + 1)}, 0) |` om)` (card` A)) = (rec({<.x, y>. | y = (x + 1)}, 0)` (card`
A)))
4 hashgval.1 . . . 4 |- G = (rec({<.x, y>. | y = (x + 1)}, 0) |` om)
54fveq1i 4682 . . 3 |- (G` (card` A)) = ((rec({<.x, y>. | y = (x + 1)}, 0) |` om)` (card` A))
63, 5syl5eq 1940 . 2 |- (A e. Fin -> (G` (card` A)) = (rec({<.x, y>. | y = (x + 1)}, 0)` (card` A)))
7 elisset 2299 . . 3 |- (A e. Fin -> A e. _V)
8 rdgfnon 5147 . . . . 5 |- rec({<.x, y>. | y = (x + 1)}, 0) Fn On
9 fnfun 4510 . . . . 5 |- (rec({<.x, y>. | y = (x + 1)}, 0) Fn On -> Fun rec({<.x, y>. | y = (x + 1)}, 0))
108, 9ax-mp 7 . . . 4 |- Fun rec({<.x, y>. | y = (x + 1)}, 0)
11 numth2 5947 . . . . . 6 |- E.z e. On z ~~ x
12 intexrab 3468 . . . . . 6 |- (E.z e. On z ~~ x <-> |^|{z e. On | z ~~ x} e. _V)
1311, 12mpbi 206 . . . . 5 |- |^|{z e. On | z ~~ x} e. _V
14 df-card 5862 . . . . . 6 |- card = {<.x, y>. | y = |^|{z e. On | z ~~ x}}
15 visset 2295 . . . . . . . 8 |- x e. _V
1615biantrur 794 . . . . . . 7 |- (y = |^|{z e. On | z ~~ x} <-> (x e. _V /\ y = |^|{z e. On | z ~~ x}))
1716opabbii 3402 . . . . . 6 |- {<.x, y>. | y = |^|{z e. On | z ~~ x}} = {<.x, y>. | (x e. _V /\ y = |^|{z e. On | z ~~ x})}
1814, 17eqtri 1908 . . . . 5 |- card = {<.x, y>. | (x e. _V /\ y = |^|{z e. On | z ~~ x})}
1913, 18fnopab2 4549 . . . 4 |- card Fn _V
20 fvco2 4737 . . . . 5 |- ((Fun rec({<.x, y>. | y = (x + 1)}, 0) /\ card Fn _V /\ A e. _V) -> ((rec({<.x, y>. | y = (x + 1)}, 0) o. card)` A) = (rec({<.x, y>. | y = (x + 1)}, 0)` (card`
A)))
21 df-hash 8227 . . . . . 6 |- # = (rec({<.x, y>. | y = (x + 1)}, 0) o. card)
2221fveq1i 4682 . . . . 5 |- (#` A) = ((rec({<.x, y>. | y = (x + 1)}, 0) o. card)` A)
2320, 22syl5eq 1940 . . . 4 |- ((Fun rec({<.x, y>. | y = (x + 1)}, 0) /\ card Fn _V /\ A e. _V) -> (#` A) = (rec({<.x, y>. | y = (x + 1)}, 0)` (card`
A)))
2410, 19, 23mp3an12 1181 . . 3 |- (A e. _V -> (#` A) = (rec({<.x, y>. | y = (x + 1)}, 0)` (card`
A)))
257, 24syl 12 . 2 |- (A e. Fin -> (#` A) = (rec({<.x, y>. | y = (x + 1)}, 0)` (card`
A)))
266, 25eqtr4d 1928 1 |- (A e. Fin -> (G` (card` A)) = (#` A))
Colors of variables: wff set class
Syntax hints:   -> wi 3   /\ wa 240   /\ w3a 858   = wceq 1298   e. wcel 1300  E.wrex 2106  {crab 2108  _Vcvv 2292  |^|cint 3214   class class class wbr 3338  {copab 3395  Oncon0 3657  omcom 3949   |` cres 3988   o. ccom 3990  Fun wfun 3992   Fn wfn 3993  ` cfv 3998  (class class class)co 4884  reccrdg 5139   ~~ cen 5423  Fincfn 5426  cardccrd 5859  0cc0 6386  1c1 6387   + caddc 6389  #chash 8226
This theorem is referenced by:  hashginv 8231  hashfz1 8232  hashen 8233  hashgvalOLD 13649
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-13 1311  ax-14 1312  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865  ax-rep 3428  ax-sep 3438  ax-nul 3445  ax-pow 3481  ax-pr 3524  ax-un 3790  ax-ac 5906
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-3or 859  df-3an 860  df-ex 1327  df-sb 1536  df-eu 1775  df-mo 1776  df-clab 1872  df-cleq 1877  df-clel 1880  df-ne 2019  df-ral 2109  df-rex 2110  df-reu 2111  df-rab 2112  df-v 2294  df-sbc 2454  df-csb 2541  df-dif 2597  df-un 2600  df-in 2603  df-ss 2605  df-pss 2607  df-nul 2876  df-if 2983  df-pw 3035  df-sn 3049  df-pr 3050  df-tp 3052  df-op 3053  df-uni 3178  df-int 3215  df-iun 3257  df-br 3339  df-opab 3396  df-tr 3412  df-eprel 3583  df-id 3586  df-po 3591  df-so 3604  df-fr 3625  df-we 3644  df-ord 3660  df-on 3661  df-lim 3662  df-suc 3663  df-om 3950  df-xp 4000  df-rel 4001  df-cnv 4002  df-co 4003  df-dm 4004  df-rn 4005  df-res 4006  df-ima 4007  df-fun 4008  df-fn 4009  df-f 4010  df-f1 4011  df-fo 4012  df-f1o 4013  df-fv 4014  df-rdg 5140  df-er 5318  df-en 5427  df-dom 5428  df-sdom 5429  df-fin 5430  df-card 5862  df-hash 8227
Copyright terms: Public domain