Metamath Proof Explorer


Theorem eulerpartlemmf

Description: Lemma for eulerpart . (Contributed by Thierry Arnoux, 30-Aug-2018) (Revised by Thierry Arnoux, 1-Sep-2019)

Ref Expression
Hypotheses eulerpart.p P=f0|f-1Finkfkk=N
eulerpart.o O=gP|ng-1¬2n
eulerpart.d D=gP|ngn1
eulerpart.j J=z|¬2z
eulerpart.f F=xJ,y02yx
eulerpart.h H=r𝒫0FinJ|rsuppFin
eulerpart.m M=rHxy|xJyrx
eulerpart.r R=f|f-1Fin
eulerpart.t T=f0|f-1J
eulerpart.g G=oTR𝟙FMbitsoJ
Assertion eulerpartlemmf ATRbitsAJH

Proof

Step Hyp Ref Expression
1 eulerpart.p P=f0|f-1Finkfkk=N
2 eulerpart.o O=gP|ng-1¬2n
3 eulerpart.d D=gP|ngn1
4 eulerpart.j J=z|¬2z
5 eulerpart.f F=xJ,y02yx
6 eulerpart.h H=r𝒫0FinJ|rsuppFin
7 eulerpart.m M=rHxy|xJyrx
8 eulerpart.r R=f|f-1Fin
9 eulerpart.t T=f0|f-1J
10 eulerpart.g G=oTR𝟙FMbitsoJ
11 bitsf1o bits0:01-1 onto𝒫0Fin
12 f1of bits0:01-1 onto𝒫0Finbits0:0𝒫0Fin
13 11 12 ax-mp bits0:0𝒫0Fin
14 1 2 3 4 5 6 7 8 9 eulerpartlemt0 ATRA0A-1FinA-1J
15 14 biimpi ATRA0A-1FinA-1J
16 15 simp1d ATRA0
17 nn0ex 0V
18 nnex V
19 17 18 elmap A0A:0
20 16 19 sylib ATRA:0
21 ssrab2 z|¬2z
22 4 21 eqsstri J
23 fssres A:0JAJ:J0
24 20 22 23 sylancl ATRAJ:J0
25 fco2 bits0:0𝒫0FinAJ:J0bitsAJ:J𝒫0Fin
26 13 24 25 sylancr ATRbitsAJ:J𝒫0Fin
27 17 pwex 𝒫0V
28 27 inex1 𝒫0FinV
29 18 22 ssexi JV
30 28 29 elmap bitsAJ𝒫0FinJbitsAJ:J𝒫0Fin
31 26 30 sylibr ATRbitsAJ𝒫0FinJ
32 15 simp2d ATRA-1Fin
33 0nn0 00
34 suppimacnv ATR00Asupp0=A-1V0
35 33 34 mpan2 ATRAsupp0=A-1V0
36 fsuppeq V00A:0Asupp0=A-100
37 18 33 36 mp2an A:0Asupp0=A-100
38 20 37 syl ATRAsupp0=A-100
39 35 38 eqtr3d ATRA-1V0=A-100
40 39 eleq1d ATRA-1V0FinA-100Fin
41 dfn2 =00
42 41 imaeq2i A-1=A-100
43 42 eleq1i A-1FinA-100Fin
44 40 43 bitr4di ATRA-1V0FinA-1Fin
45 32 44 mpbird ATRA-1V0Fin
46 resss AJA
47 cnvss AJAAJ-1A-1
48 imass1 AJ-1A-1AJ-1V0A-1V0
49 46 47 48 mp2b AJ-1V0A-1V0
50 ssfi A-1V0FinAJ-1V0A-1V0AJ-1V0Fin
51 45 49 50 sylancl ATRAJ-1V0Fin
52 cnvco bitsAJ-1=AJ-1bits-1
53 52 imaeq1i bitsAJ-1V=AJ-1bits-1V
54 imaco AJ-1bits-1V=AJ-1bits-1V
55 53 54 eqtri bitsAJ-1V=AJ-1bits-1V
56 ffun A:0FunA
57 funres FunAFunAJ
58 20 56 57 3syl ATRFunAJ
59 ssv bits-1VV
60 ssdif bits-1VVbits-1Vbits-1Vbits-1
61 59 60 ax-mp bits-1Vbits-1Vbits-1
62 bitsf bits:𝒫0
63 ffun bits:𝒫0Funbits
64 difpreima Funbitsbits-1V=bits-1Vbits-1
65 62 63 64 mp2b bits-1V=bits-1Vbits-1
66 bitsf1 bits:1-1𝒫0
67 0z 0
68 snssi 00
69 67 68 ax-mp 0
70 f1imacnv bits:1-1𝒫00bits-1bits0=0
71 66 69 70 mp2an bits-1bits0=0
72 ffn bits:𝒫0bitsFn
73 62 72 ax-mp bitsFn
74 fnsnfv bitsFn0bits0=bits0
75 73 67 74 mp2an bits0=bits0
76 0bits bits0=
77 76 sneqi bits0=
78 75 77 eqtr3i bits0=
79 78 imaeq2i bits-1bits0=bits-1
80 71 79 eqtr3i 0=bits-1
81 80 difeq2i V0=Vbits-1
82 61 65 81 3sstr4i bits-1VV0
83 sspreima FunAJbits-1VV0AJ-1bits-1VAJ-1V0
84 58 82 83 sylancl ATRAJ-1bits-1VAJ-1V0
85 55 84 eqsstrid ATRbitsAJ-1VAJ-1V0
86 ssfi AJ-1V0FinbitsAJ-1VAJ-1V0bitsAJ-1VFin
87 51 85 86 syl2anc ATRbitsAJ-1VFin
88 oveq1 r=bitsAJrsupp=bitsAJsupp
89 88 eleq1d r=bitsAJrsuppFinbitsAJsuppFin
90 89 6 elrab2 bitsAJHbitsAJ𝒫0FinJbitsAJsuppFin
91 zex V
92 fex bits:𝒫0VbitsV
93 62 91 92 mp2an bitsV
94 resexg ATRAJV
95 coexg bitsVAJVbitsAJV
96 93 94 95 sylancr ATRbitsAJV
97 0ex V
98 suppimacnv bitsAJVVbitsAJsupp=bitsAJ-1V
99 97 98 mpan2 bitsAJVbitsAJsupp=bitsAJ-1V
100 99 eleq1d bitsAJVbitsAJsuppFinbitsAJ-1VFin
101 100 anbi2d bitsAJVbitsAJ𝒫0FinJbitsAJsuppFinbitsAJ𝒫0FinJbitsAJ-1VFin
102 96 101 syl ATRbitsAJ𝒫0FinJbitsAJsuppFinbitsAJ𝒫0FinJbitsAJ-1VFin
103 90 102 bitrid ATRbitsAJHbitsAJ𝒫0FinJbitsAJ-1VFin
104 31 87 103 mpbir2and ATRbitsAJH