Metamath Proof Explorer


Theorem eulerpartlemgc

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

Ref Expression
Hypotheses eulerpartlems.r R=f|f-1Fin
eulerpartlems.s S=f0Rkfkk
Assertion eulerpartlemgc A0RtnbitsAt2ntSA

Proof

Step Hyp Ref Expression
1 eulerpartlems.r R=f|f-1Fin
2 eulerpartlems.s S=f0Rkfkk
3 2re 2
4 3 a1i A0RtnbitsAt2
5 bitsss bitsAt0
6 simprr A0RtnbitsAtnbitsAt
7 5 6 sselid A0RtnbitsAtn0
8 4 7 reexpcld A0RtnbitsAt2n
9 simprl A0RtnbitsAtt
10 9 nnred A0RtnbitsAtt
11 8 10 remulcld A0RtnbitsAt2nt
12 1 2 eulerpartlemelr A0RA:0A-1Fin
13 12 simpld A0RA:0
14 13 ffvelcdmda A0RtAt0
15 14 adantrr A0RtnbitsAtAt0
16 15 nn0red A0RtnbitsAtAt
17 16 10 remulcld A0RtnbitsAtAtt
18 1 2 eulerpartlemsf S:0R0
19 18 ffvelcdmi A0RSA0
20 19 adantr A0RtnbitsAtSA0
21 20 nn0red A0RtnbitsAtSA
22 14 nn0red A0RtAt
23 22 adantrr A0RtnbitsAtAt
24 9 nnrpd A0RtnbitsAtt+
25 24 rprege0d A0RtnbitsAtt0t
26 bitsfi At0bitsAtFin
27 15 26 syl A0RtnbitsAtbitsAtFin
28 3 a1i A0RtnbitsAtibitsAt2
29 5 a1i A0RtnbitsAtbitsAt0
30 29 sselda A0RtnbitsAtibitsAti0
31 28 30 reexpcld A0RtnbitsAtibitsAt2i
32 0le2 02
33 32 a1i A0RtnbitsAtibitsAt02
34 28 30 33 expge0d A0RtnbitsAtibitsAt02i
35 6 snssd A0RtnbitsAtnbitsAt
36 27 31 34 35 fsumless A0RtnbitsAtin2iibitsAt2i
37 8 recnd A0RtnbitsAt2n
38 oveq2 i=n2i=2n
39 38 sumsn nbitsAt2nin2i=2n
40 6 37 39 syl2anc A0RtnbitsAtin2i=2n
41 bitsinv1 At0ibitsAt2i=At
42 15 41 syl A0RtnbitsAtibitsAt2i=At
43 36 40 42 3brtr3d A0RtnbitsAt2nAt
44 lemul1a 2nAtt0t2nAt2ntAtt
45 8 23 25 43 44 syl31anc A0RtnbitsAt2ntAtt
46 fzfid A0Rt1SA1SAFin
47 elfznn k1SAk
48 ffvelcdm A:0kAk0
49 13 47 48 syl2an A0Rk1SAAk0
50 49 nn0red A0Rk1SAAk
51 47 adantl A0Rk1SAk
52 51 nnred A0Rk1SAk
53 50 52 remulcld A0Rk1SAAkk
54 53 adantlr A0Rt1SAk1SAAkk
55 49 nn0ge0d A0Rk1SA0Ak
56 0red A0Rk1SA0
57 51 nngt0d A0Rk1SA0<k
58 56 52 57 ltled A0Rk1SA0k
59 50 52 55 58 mulge0d A0Rk1SA0Akk
60 59 adantlr A0Rt1SAk1SA0Akk
61 fveq2 k=tAk=At
62 id k=tk=t
63 61 62 oveq12d k=tAkk=Att
64 simpr A0Rt1SAt1SA
65 46 54 60 63 64 fsumge1 A0Rt1SAAttk=1SAAkk
66 65 adantlr A0Rtt1SAAttk=1SAAkk
67 eldif t1SAt¬t1SA
68 nndiffz1 SA01SA=SA+1
69 68 eleq2d SA0t1SAtSA+1
70 19 69 syl A0Rt1SAtSA+1
71 70 pm5.32i A0Rt1SAA0RtSA+1
72 1 2 eulerpartlems A0RtSA+1At=0
73 71 72 sylbi A0Rt1SAAt=0
74 73 oveq1d A0Rt1SAAtt=0t
75 simpr A0Rt1SAt1SA
76 75 eldifad A0Rt1SAt
77 76 nncnd A0Rt1SAt
78 77 mul02d A0Rt1SA0t=0
79 74 78 eqtrd A0Rt1SAAtt=0
80 fzfid A0R1SAFin
81 80 53 59 fsumge0 A0R0k=1SAAkk
82 81 adantr A0Rt1SA0k=1SAAkk
83 79 82 eqbrtrd A0Rt1SAAttk=1SAAkk
84 67 83 sylan2br A0Rt¬t1SAAttk=1SAAkk
85 84 anassrs A0Rt¬t1SAAttk=1SAAkk
86 66 85 pm2.61dan A0RtAttk=1SAAkk
87 1 2 eulerpartlemsv3 A0RSA=k=1SAAkk
88 87 adantr A0RtSA=k=1SAAkk
89 86 88 breqtrrd A0RtAttSA
90 89 adantrr A0RtnbitsAtAttSA
91 11 17 21 45 90 letrd A0RtnbitsAt2ntSA