Metamath Proof Explorer


Theorem sadcadd

Description: Non-recursive definition of the carry sequence. (Contributed by Mario Carneiro, 8-Sep-2016)

Ref Expression
Hypotheses sadval.a φA0
sadval.b φB0
sadval.c C=seq0c2𝑜,m0ifcaddmAmBc1𝑜n0ifn=0n1
sadcp1.n φN0
sadcadd.k K=bits0-1
Assertion sadcadd φCN2NKA0..^N+KB0..^N

Proof

Step Hyp Ref Expression
1 sadval.a φA0
2 sadval.b φB0
3 sadval.c C=seq0c2𝑜,m0ifcaddmAmBc1𝑜n0ifn=0n1
4 sadcp1.n φN0
5 sadcadd.k K=bits0-1
6 fveq2 x=0Cx=C0
7 6 eleq2d x=0CxC0
8 oveq2 x=02x=20
9 2cn 2
10 exp0 220=1
11 9 10 ax-mp 20=1
12 8 11 eqtrdi x=02x=1
13 oveq2 x=00..^x=0..^0
14 fzo0 0..^0=
15 13 14 eqtrdi x=00..^x=
16 15 ineq2d x=0A0..^x=A
17 in0 A=
18 16 17 eqtrdi x=0A0..^x=
19 18 fveq2d x=0KA0..^x=K
20 0nn0 00
21 fvres 00bits00=bits0
22 20 21 ax-mp bits00=bits0
23 0bits bits0=
24 22 23 eqtr2i =bits00
25 5 24 fveq12i K=bits0-1bits00
26 bitsf1o bits0:01-1 onto𝒫0Fin
27 f1ocnvfv1 bits0:01-1 onto𝒫0Fin00bits0-1bits00=0
28 26 20 27 mp2an bits0-1bits00=0
29 25 28 eqtri K=0
30 19 29 eqtrdi x=0KA0..^x=0
31 15 ineq2d x=0B0..^x=B
32 in0 B=
33 31 32 eqtrdi x=0B0..^x=
34 33 fveq2d x=0KB0..^x=K
35 34 29 eqtrdi x=0KB0..^x=0
36 30 35 oveq12d x=0KA0..^x+KB0..^x=0+0
37 00id 0+0=0
38 36 37 eqtrdi x=0KA0..^x+KB0..^x=0
39 12 38 breq12d x=02xKA0..^x+KB0..^x10
40 7 39 bibi12d x=0Cx2xKA0..^x+KB0..^xC010
41 40 imbi2d x=0φCx2xKA0..^x+KB0..^xφC010
42 fveq2 x=kCx=Ck
43 42 eleq2d x=kCxCk
44 oveq2 x=k2x=2k
45 oveq2 x=k0..^x=0..^k
46 45 ineq2d x=kA0..^x=A0..^k
47 46 fveq2d x=kKA0..^x=KA0..^k
48 45 ineq2d x=kB0..^x=B0..^k
49 48 fveq2d x=kKB0..^x=KB0..^k
50 47 49 oveq12d x=kKA0..^x+KB0..^x=KA0..^k+KB0..^k
51 44 50 breq12d x=k2xKA0..^x+KB0..^x2kKA0..^k+KB0..^k
52 43 51 bibi12d x=kCx2xKA0..^x+KB0..^xCk2kKA0..^k+KB0..^k
53 52 imbi2d x=kφCx2xKA0..^x+KB0..^xφCk2kKA0..^k+KB0..^k
54 fveq2 x=k+1Cx=Ck+1
55 54 eleq2d x=k+1CxCk+1
56 oveq2 x=k+12x=2k+1
57 oveq2 x=k+10..^x=0..^k+1
58 57 ineq2d x=k+1A0..^x=A0..^k+1
59 58 fveq2d x=k+1KA0..^x=KA0..^k+1
60 57 ineq2d x=k+1B0..^x=B0..^k+1
61 60 fveq2d x=k+1KB0..^x=KB0..^k+1
62 59 61 oveq12d x=k+1KA0..^x+KB0..^x=KA0..^k+1+KB0..^k+1
63 56 62 breq12d x=k+12xKA0..^x+KB0..^x2k+1KA0..^k+1+KB0..^k+1
64 55 63 bibi12d x=k+1Cx2xKA0..^x+KB0..^xCk+12k+1KA0..^k+1+KB0..^k+1
65 64 imbi2d x=k+1φCx2xKA0..^x+KB0..^xφCk+12k+1KA0..^k+1+KB0..^k+1
66 fveq2 x=NCx=CN
67 66 eleq2d x=NCxCN
68 oveq2 x=N2x=2N
69 oveq2 x=N0..^x=0..^N
70 69 ineq2d x=NA0..^x=A0..^N
71 70 fveq2d x=NKA0..^x=KA0..^N
72 69 ineq2d x=NB0..^x=B0..^N
73 72 fveq2d x=NKB0..^x=KB0..^N
74 71 73 oveq12d x=NKA0..^x+KB0..^x=KA0..^N+KB0..^N
75 68 74 breq12d x=N2xKA0..^x+KB0..^x2NKA0..^N+KB0..^N
76 67 75 bibi12d x=NCx2xKA0..^x+KB0..^xCN2NKA0..^N+KB0..^N
77 76 imbi2d x=NφCx2xKA0..^x+KB0..^xφCN2NKA0..^N+KB0..^N
78 1 2 3 sadc0 φ¬C0
79 0lt1 0<1
80 0re 0
81 1re 1
82 80 81 ltnlei 0<1¬10
83 79 82 mpbi ¬10
84 83 a1i φ¬10
85 78 84 2falsed φC010
86 1 ad2antrr φk0Ck2kKA0..^k+KB0..^kA0
87 2 ad2antrr φk0Ck2kKA0..^k+KB0..^kB0
88 simplr φk0Ck2kKA0..^k+KB0..^kk0
89 simpr φk0Ck2kKA0..^k+KB0..^kCk2kKA0..^k+KB0..^k
90 86 87 3 88 5 89 sadcaddlem φk0Ck2kKA0..^k+KB0..^kCk+12k+1KA0..^k+1+KB0..^k+1
91 90 ex φk0Ck2kKA0..^k+KB0..^kCk+12k+1KA0..^k+1+KB0..^k+1
92 91 expcom k0φCk2kKA0..^k+KB0..^kCk+12k+1KA0..^k+1+KB0..^k+1
93 92 a2d k0φCk2kKA0..^k+KB0..^kφCk+12k+1KA0..^k+1+KB0..^k+1
94 41 53 65 77 85 93 nn0ind N0φCN2NKA0..^N+KB0..^N
95 4 94 mpcom φCN2NKA0..^N+KB0..^N