Metamath Proof Explorer


Theorem eulerpartlemn

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

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
eulerpart.s S=f0Rkfkk
Assertion eulerpartlemn GO:O1-1 ontoD

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 eulerpart.s S=f0Rkfkk
12 simpl o=qko=q
13 12 fveq1d o=qkok=qk
14 13 oveq1d o=qkokk=qkk
15 14 sumeq2dv o=qkokk=kqkk
16 15 eqeq1d o=qkokk=Nkqkk=N
17 16 cbvrabv oTR|kokk=N=qTR|kqkk=N
18 17 a1i o=qoTR|kokk=N=qTR|kqkk=N
19 18 reseq2d o=qGoTR|kokk=N=GqTR|kqkk=N
20 eqidd o=qd01R|kdkk=N=d01R|kdkk=N
21 19 18 20 f1oeq123d o=qGoTR|kokk=N:oTR|kokk=N1-1 ontod01R|kdkk=NGqTR|kqkk=N:qTR|kqkk=N1-1 ontod01R|kdkk=N
22 21 imbi2d o=qGoTR|kokk=N:oTR|kokk=N1-1 ontod01R|kdkk=NGqTR|kqkk=N:qTR|kqkk=N1-1 ontod01R|kdkk=N
23 1 2 3 4 5 6 7 8 9 10 eulerpartgbij G:TR1-1 onto01R
24 23 a1i G:TR1-1 onto01R
25 fveq2 q=oGq=Go
26 reseq1 q=oqJ=oJ
27 26 coeq2d q=obitsqJ=bitsoJ
28 27 fveq2d q=oMbitsqJ=MbitsoJ
29 28 imaeq2d q=oFMbitsqJ=FMbitsoJ
30 29 fveq2d q=o𝟙FMbitsqJ=𝟙FMbitsoJ
31 25 30 eqeq12d q=oGq=𝟙FMbitsqJGo=𝟙FMbitsoJ
32 1 2 3 4 5 6 7 8 9 10 eulerpartlemgv qTRGq=𝟙FMbitsqJ
33 31 32 vtoclga oTRGo=𝟙FMbitsoJ
34 33 3ad2ant2 oTRd=𝟙FMbitsoJGo=𝟙FMbitsoJ
35 simp3 oTRd=𝟙FMbitsoJd=𝟙FMbitsoJ
36 34 35 eqtr4d oTRd=𝟙FMbitsoJGo=d
37 36 fveq1d oTRd=𝟙FMbitsoJGok=dk
38 37 oveq1d oTRd=𝟙FMbitsoJGokk=dkk
39 38 sumeq2sdv oTRd=𝟙FMbitsoJkGokk=kdkk
40 25 fveq2d q=oSGq=SGo
41 fveq2 q=oSq=So
42 40 41 eqeq12d q=oSGq=SqSGo=So
43 1 2 3 4 5 6 7 8 9 10 11 eulerpartlemgs2 qTRSGq=Sq
44 42 43 vtoclga oTRSGo=So
45 nn0ex 0V
46 0nn0 00
47 1nn0 10
48 prssi 0010010
49 46 47 48 mp2an 010
50 mapss 0V010010
51 45 49 50 mp2an 010
52 ssrin 01001R0R
53 51 52 ax-mp 01R0R
54 f1of G:TR1-1 onto01RG:TR01R
55 23 54 ax-mp G:TR01R
56 55 ffvelcdmi oTRGo01R
57 53 56 sselid oTRGo0R
58 8 11 eulerpartlemsv1 Go0RSGo=kGokk
59 57 58 syl oTRSGo=kGokk
60 1 2 3 4 5 6 7 8 9 eulerpartlemt0 oTRo0o-1Fino-1J
61 60 simp1bi oTRo0
62 inss2 TRR
63 62 sseli oTRoR
64 61 63 elind oTRo0R
65 8 11 eulerpartlemsv1 o0RSo=kokk
66 64 65 syl oTRSo=kokk
67 44 59 66 3eqtr3d oTRkGokk=kokk
68 67 3ad2ant2 oTRd=𝟙FMbitsoJkGokk=kokk
69 39 68 eqtr3d oTRd=𝟙FMbitsoJkdkk=kokk
70 69 eqeq1d oTRd=𝟙FMbitsoJkdkk=Nkokk=N
71 10 24 70 f1oresrab GoTR|kokk=N:oTR|kokk=N1-1 ontod01R|kdkk=N
72 22 71 chvarvv GqTR|kqkk=N:qTR|kqkk=N1-1 ontod01R|kdkk=N
73 cnveq g=qg-1=q-1
74 73 imaeq1d g=qg-1=q-1
75 74 raleqdv g=qng-1¬2nnq-1¬2n
76 75 cbvrabv gP|ng-1¬2n=qP|nq-1¬2n
77 nfrab1 _qqP|nq-1¬2n
78 nfrab1 _qqTR|kqkk=N
79 df-3an q:0q-1Finkqkk=Nq:0q-1Finkqkk=N
80 79 anbi1i q:0q-1Finkqkk=Nnq-1¬2nq:0q-1Finkqkk=Nnq-1¬2n
81 1 eulerpartleme qPq:0q-1Finkqkk=N
82 81 anbi1i qPnq-1¬2nq:0q-1Finkqkk=Nnq-1¬2n
83 an32 q:0q-1Finnq-1¬2nkqkk=Nq:0q-1Finkqkk=Nnq-1¬2n
84 80 82 83 3bitr4i qPnq-1¬2nq:0q-1Finnq-1¬2nkqkk=N
85 1 2 3 4 5 6 7 8 9 eulerpartlemt0 qTRq0q-1Finq-1J
86 nnex V
87 45 86 elmap q0q:0
88 87 3anbi1i q0q-1Finq-1Jq:0q-1Finq-1J
89 85 88 bitri qTRq:0q-1Finq-1J
90 df-3an q:0q-1Finq-1Jq:0q-1Finq-1J
91 dfss3 q-1Jnq-1nJ
92 breq2 z=n2z2n
93 92 notbid z=n¬2z¬2n
94 93 4 elrab2 nJn¬2n
95 94 ralbii nq-1nJnq-1n¬2n
96 r19.26 nq-1n¬2nnq-1nnq-1¬2n
97 91 95 96 3bitri q-1Jnq-1nnq-1¬2n
98 cnvimass q-1domq
99 fdm q:0domq=
100 98 99 sseqtrid q:0q-1
101 dfss3 q-1nq-1n
102 100 101 sylib q:0nq-1n
103 102 biantrurd q:0nq-1¬2nnq-1nnq-1¬2n
104 97 103 bitr4id q:0q-1Jnq-1¬2n
105 104 adantr q:0q-1Finq-1Jnq-1¬2n
106 105 pm5.32i q:0q-1Finq-1Jq:0q-1Finnq-1¬2n
107 89 90 106 3bitri qTRq:0q-1Finnq-1¬2n
108 107 anbi1i qTRkqkk=Nq:0q-1Finnq-1¬2nkqkk=N
109 84 108 bitr4i qPnq-1¬2nqTRkqkk=N
110 rabid qqP|nq-1¬2nqPnq-1¬2n
111 rabid qqTR|kqkk=NqTRkqkk=N
112 109 110 111 3bitr4i qqP|nq-1¬2nqqTR|kqkk=N
113 77 78 112 eqri qP|nq-1¬2n=qTR|kqkk=N
114 2 76 113 3eqtri O=qTR|kqkk=N
115 114 reseq2i GO=GqTR|kqkk=N
116 115 a1i GO=GqTR|kqkk=N
117 114 a1i O=qTR|kqkk=N
118 nfcv _dD
119 nfrab1 _dd01R|kdkk=N
120 fnima dFnd=rand
121 120 sseq1d dFnd01rand01
122 121 anbi2d dFnrand0d01rand0rand01
123 sstr rand01010rand0
124 49 123 mpan2 rand01rand0
125 124 pm4.71ri rand01rand0rand01
126 122 125 bitr4di dFnrand0d01rand01
127 126 pm5.32i dFnrand0d01dFnrand01
128 anass dFnrand0d01dFnrand0d01
129 df-f d:01dFnrand01
130 127 128 129 3bitr4ri d:01dFnrand0d01
131 prex 01V
132 131 86 elmap d01d:01
133 df-f d:0dFnrand0
134 133 anbi1i d:0d01dFnrand0d01
135 130 132 134 3bitr4i d01d:0d01
136 vex dV
137 cnveq f=df-1=d-1
138 137 imaeq1d f=df-1=d-1
139 138 eleq1d f=df-1Find-1Fin
140 136 139 8 elab2 dRd-1Fin
141 135 140 anbi12i d01dRd:0d01d-1Fin
142 elin d01Rd01dR
143 an32 d:0d-1Find01d:0d01d-1Fin
144 141 142 143 3bitr4i d01Rd:0d-1Find01
145 144 anbi1i d01Rkdkk=Nd:0d-1Find01kdkk=N
146 1 eulerpartleme dPd:0d-1Finkdkk=N
147 146 anbi1i dPd01d:0d-1Finkdkk=Nd01
148 df-3an d:0d-1Finkdkk=Nd:0d-1Finkdkk=N
149 148 anbi1i d:0d-1Finkdkk=Nd01d:0d-1Finkdkk=Nd01
150 an32 d:0d-1Finkdkk=Nd01d:0d-1Find01kdkk=N
151 147 149 150 3bitri dPd01d:0d-1Find01kdkk=N
152 145 151 bitr4i d01Rkdkk=NdPd01
153 rabid dd01R|kdkk=Nd01Rkdkk=N
154 1 2 3 eulerpartlemd dDdPd01
155 152 153 154 3bitr4ri dDdd01R|kdkk=N
156 118 119 155 eqri D=d01R|kdkk=N
157 156 a1i D=d01R|kdkk=N
158 116 117 157 f1oeq123d GO:O1-1 ontoDGqTR|kqkk=N:qTR|kqkk=N1-1 ontod01R|kdkk=N
159 72 158 mpbird GO:O1-1 ontoD
160 159 mptru GO:O1-1 ontoD