Metamath Proof Explorer


Theorem hashxplem

Description: Lemma for hashxp . (Contributed by Paul Chapman, 30-Nov-2012)

Ref Expression
Hypothesis hashxplem.1 BFin
Assertion hashxplem AFinA×B=AB

Proof

Step Hyp Ref Expression
1 hashxplem.1 BFin
2 xpeq1 x=x×B=×B
3 2 fveq2d x=x×B=×B
4 fveq2 x=x=
5 4 oveq1d x=xB=B
6 3 5 eqeq12d x=x×B=xB×B=B
7 xpeq1 x=yx×B=y×B
8 7 fveq2d x=yx×B=y×B
9 fveq2 x=yx=y
10 9 oveq1d x=yxB=yB
11 8 10 eqeq12d x=yx×B=xBy×B=yB
12 xpeq1 x=yzx×B=yz×B
13 12 fveq2d x=yzx×B=yz×B
14 fveq2 x=yzx=yz
15 14 oveq1d x=yzxB=yzB
16 13 15 eqeq12d x=yzx×B=xByz×B=yzB
17 xpeq1 x=Ax×B=A×B
18 17 fveq2d x=Ax×B=A×B
19 fveq2 x=Ax=A
20 19 oveq1d x=AxB=AB
21 18 20 eqeq12d x=Ax×B=xBA×B=AB
22 hashcl BFinB0
23 22 nn0cnd BFinB
24 23 mul02d BFin0B=0
25 1 24 ax-mp 0B=0
26 hash0 =0
27 26 oveq1i B=0B
28 0xp ×B=
29 28 fveq2i ×B=
30 29 26 eqtri ×B=0
31 25 27 30 3eqtr4ri ×B=B
32 oveq1 y×B=yBy×B+B=yB+B
33 32 adantl yFin¬zyy×B=yBy×B+B=yB+B
34 xpundir yz×B=y×Bz×B
35 34 fveq2i yz×B=y×Bz×B
36 xpfi yFinBFiny×BFin
37 1 36 mpan2 yFiny×BFin
38 inxp y×Bz×B=yz×BB
39 disjsn yz=¬zy
40 39 biimpri ¬zyyz=
41 40 xpeq1d ¬zyyz×BB=×BB
42 0xp ×BB=
43 41 42 eqtrdi ¬zyyz×BB=
44 38 43 eqtrid ¬zyy×Bz×B=
45 snfi zFin
46 xpfi zFinBFinz×BFin
47 45 1 46 mp2an z×BFin
48 hashun y×BFinz×BFiny×Bz×B=y×Bz×B=y×B+z×B
49 47 48 mp3an2 y×BFiny×Bz×B=y×Bz×B=y×B+z×B
50 37 44 49 syl2an yFin¬zyy×Bz×B=y×B+z×B
51 snex zV
52 1 elexi BV
53 51 52 xpcomen z×BB×z
54 vex zV
55 52 54 xpsnen B×zB
56 53 55 entri z×BB
57 hashen z×BFinBFinz×B=Bz×BB
58 47 1 57 mp2an z×B=Bz×BB
59 56 58 mpbir z×B=B
60 59 oveq2i y×B+z×B=y×B+B
61 50 60 eqtrdi yFin¬zyy×Bz×B=y×B+B
62 35 61 eqtrid yFin¬zyyz×B=y×B+B
63 62 adantr yFin¬zyy×B=yByz×B=y×B+B
64 hashunsng zVyFin¬zyyz=y+1
65 54 64 ax-mp yFin¬zyyz=y+1
66 65 oveq1d yFin¬zyyzB=y+1B
67 hashcl yFiny0
68 67 nn0cnd yFiny
69 ax-1cn 1
70 nn0cn B0B
71 1 22 70 mp2b B
72 adddir y1By+1B=yB+1B
73 69 71 72 mp3an23 yy+1B=yB+1B
74 68 73 syl yFiny+1B=yB+1B
75 71 mulid2i 1B=B
76 75 oveq2i yB+1B=yB+B
77 74 76 eqtrdi yFiny+1B=yB+B
78 77 adantr yFin¬zyy+1B=yB+B
79 66 78 eqtrd yFin¬zyyzB=yB+B
80 79 adantr yFin¬zyy×B=yByzB=yB+B
81 33 63 80 3eqtr4d yFin¬zyy×B=yByz×B=yzB
82 81 ex yFin¬zyy×B=yByz×B=yzB
83 6 11 16 21 31 82 findcard2s AFinA×B=AB