Metamath Proof Explorer


Theorem sadadd2lem

Description: Lemma for sadadd2 . (Contributed by Mario Carneiro, 9-Sep-2016)

Ref Expression
Hypotheses sadval.a ( 𝜑𝐴 ⊆ ℕ0 )
sadval.b ( 𝜑𝐵 ⊆ ℕ0 )
sadval.c 𝐶 = seq 0 ( ( 𝑐 ∈ 2o , 𝑚 ∈ ℕ0 ↦ if ( cadd ( 𝑚𝐴 , 𝑚𝐵 , ∅ ∈ 𝑐 ) , 1o , ∅ ) ) , ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) )
sadcp1.n ( 𝜑𝑁 ∈ ℕ0 )
sadcadd.k 𝐾 = ( bits ↾ ℕ0 )
sadadd2lem.1 ( 𝜑 → ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) = ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) )
Assertion sadadd2lem ( 𝜑 → ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) = ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) ) )

Proof

Step Hyp Ref Expression
1 sadval.a ( 𝜑𝐴 ⊆ ℕ0 )
2 sadval.b ( 𝜑𝐵 ⊆ ℕ0 )
3 sadval.c 𝐶 = seq 0 ( ( 𝑐 ∈ 2o , 𝑚 ∈ ℕ0 ↦ if ( cadd ( 𝑚𝐴 , 𝑚𝐵 , ∅ ∈ 𝑐 ) , 1o , ∅ ) ) , ( 𝑛 ∈ ℕ0 ↦ if ( 𝑛 = 0 , ∅ , ( 𝑛 − 1 ) ) ) )
4 sadcp1.n ( 𝜑𝑁 ∈ ℕ0 )
5 sadcadd.k 𝐾 = ( bits ↾ ℕ0 )
6 sadadd2lem.1 ( 𝜑 → ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) = ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) )
7 inss1 ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ⊆ ( 𝐴 sadd 𝐵 )
8 1 2 3 sadfval ( 𝜑 → ( 𝐴 sadd 𝐵 ) = { 𝑘 ∈ ℕ0 ∣ hadd ( 𝑘𝐴 , 𝑘𝐵 , ∅ ∈ ( 𝐶𝑘 ) ) } )
9 ssrab2 { 𝑘 ∈ ℕ0 ∣ hadd ( 𝑘𝐴 , 𝑘𝐵 , ∅ ∈ ( 𝐶𝑘 ) ) } ⊆ ℕ0
10 8 9 eqsstrdi ( 𝜑 → ( 𝐴 sadd 𝐵 ) ⊆ ℕ0 )
11 7 10 sstrid ( 𝜑 → ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ⊆ ℕ0 )
12 fzofi ( 0 ..^ 𝑁 ) ∈ Fin
13 12 a1i ( 𝜑 → ( 0 ..^ 𝑁 ) ∈ Fin )
14 inss2 ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ⊆ ( 0 ..^ 𝑁 )
15 ssfi ( ( ( 0 ..^ 𝑁 ) ∈ Fin ∧ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ⊆ ( 0 ..^ 𝑁 ) ) → ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin )
16 13 14 15 sylancl ( 𝜑 → ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin )
17 elfpw ( ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) ↔ ( ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ⊆ ℕ0 ∧ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin ) )
18 11 16 17 sylanbrc ( 𝜑 → ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) )
19 bitsf1o ( bits ↾ ℕ0 ) : ℕ01-1-onto→ ( 𝒫 ℕ0 ∩ Fin )
20 f1ocnv ( ( bits ↾ ℕ0 ) : ℕ01-1-onto→ ( 𝒫 ℕ0 ∩ Fin ) → ( bits ↾ ℕ0 ) : ( 𝒫 ℕ0 ∩ Fin ) –1-1-onto→ ℕ0 )
21 f1of ( ( bits ↾ ℕ0 ) : ( 𝒫 ℕ0 ∩ Fin ) –1-1-onto→ ℕ0 ( bits ↾ ℕ0 ) : ( 𝒫 ℕ0 ∩ Fin ) ⟶ ℕ0 )
22 19 20 21 mp2b ( bits ↾ ℕ0 ) : ( 𝒫 ℕ0 ∩ Fin ) ⟶ ℕ0
23 5 feq1i ( 𝐾 : ( 𝒫 ℕ0 ∩ Fin ) ⟶ ℕ0 ( bits ↾ ℕ0 ) : ( 𝒫 ℕ0 ∩ Fin ) ⟶ ℕ0 )
24 22 23 mpbir 𝐾 : ( 𝒫 ℕ0 ∩ Fin ) ⟶ ℕ0
25 24 ffvelrni ( ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) → ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℕ0 )
26 18 25 syl ( 𝜑 → ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℕ0 )
27 26 nn0cnd ( 𝜑 → ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℂ )
28 2nn0 2 ∈ ℕ0
29 28 a1i ( 𝜑 → 2 ∈ ℕ0 )
30 29 4 nn0expcld ( 𝜑 → ( 2 ↑ 𝑁 ) ∈ ℕ0 )
31 0nn0 0 ∈ ℕ0
32 ifcl ( ( ( 2 ↑ 𝑁 ) ∈ ℕ0 ∧ 0 ∈ ℕ0 ) → if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℕ0 )
33 30 31 32 sylancl ( 𝜑 → if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℕ0 )
34 33 nn0cnd ( 𝜑 → if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℂ )
35 1nn0 1 ∈ ℕ0
36 35 a1i ( 𝜑 → 1 ∈ ℕ0 )
37 4 36 nn0addcld ( 𝜑 → ( 𝑁 + 1 ) ∈ ℕ0 )
38 29 37 nn0expcld ( 𝜑 → ( 2 ↑ ( 𝑁 + 1 ) ) ∈ ℕ0 )
39 ifcl ( ( ( 2 ↑ ( 𝑁 + 1 ) ) ∈ ℕ0 ∧ 0 ∈ ℕ0 ) → if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ∈ ℕ0 )
40 38 31 39 sylancl ( 𝜑 → if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ∈ ℕ0 )
41 40 nn0cnd ( 𝜑 → if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ∈ ℂ )
42 34 41 addcld ( 𝜑 → ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) ∈ ℂ )
43 27 42 addcld ( 𝜑 → ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) ) ∈ ℂ )
44 inss1 ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ⊆ 𝐴
45 44 1 sstrid ( 𝜑 → ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ⊆ ℕ0 )
46 inss2 ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ⊆ ( 0 ..^ 𝑁 )
47 ssfi ( ( ( 0 ..^ 𝑁 ) ∈ Fin ∧ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ⊆ ( 0 ..^ 𝑁 ) ) → ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin )
48 13 46 47 sylancl ( 𝜑 → ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin )
49 elfpw ( ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) ↔ ( ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ⊆ ℕ0 ∧ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin ) )
50 45 48 49 sylanbrc ( 𝜑 → ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) )
51 24 ffvelrni ( ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) → ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℕ0 )
52 50 51 syl ( 𝜑 → ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℕ0 )
53 52 nn0cnd ( 𝜑 → ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℂ )
54 inss1 ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ⊆ 𝐵
55 54 2 sstrid ( 𝜑 → ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ⊆ ℕ0 )
56 inss2 ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ⊆ ( 0 ..^ 𝑁 )
57 ssfi ( ( ( 0 ..^ 𝑁 ) ∈ Fin ∧ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ⊆ ( 0 ..^ 𝑁 ) ) → ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin )
58 13 56 57 sylancl ( 𝜑 → ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin )
59 elfpw ( ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) ↔ ( ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ⊆ ℕ0 ∧ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ∈ Fin ) )
60 55 58 59 sylanbrc ( 𝜑 → ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) )
61 24 ffvelrni ( ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ∈ ( 𝒫 ℕ0 ∩ Fin ) → ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℕ0 )
62 60 61 syl ( 𝜑 → ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℕ0 )
63 62 nn0cnd ( 𝜑 → ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ∈ ℂ )
64 53 63 addcld ( 𝜑 → ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) ∈ ℂ )
65 ifcl ( ( ( 2 ↑ 𝑁 ) ∈ ℕ0 ∧ 0 ∈ ℕ0 ) → if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℕ0 )
66 30 31 65 sylancl ( 𝜑 → if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℕ0 )
67 66 nn0cnd ( 𝜑 → if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℂ )
68 ifcl ( ( ( 2 ↑ 𝑁 ) ∈ ℕ0 ∧ 0 ∈ ℕ0 ) → if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℕ0 )
69 30 31 68 sylancl ( 𝜑 → if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℕ0 )
70 69 nn0cnd ( 𝜑 → if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℂ )
71 67 70 addcld ( 𝜑 → ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ∈ ℂ )
72 64 71 addcld ( 𝜑 → ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) + ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ) ∈ ℂ )
73 30 nn0cnd ( 𝜑 → ( 2 ↑ 𝑁 ) ∈ ℂ )
74 73 adantr ( ( 𝜑 ∧ ∅ ∈ ( 𝐶𝑁 ) ) → ( 2 ↑ 𝑁 ) ∈ ℂ )
75 0cnd ( ( 𝜑 ∧ ¬ ∅ ∈ ( 𝐶𝑁 ) ) → 0 ∈ ℂ )
76 74 75 ifclda ( 𝜑 → if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ∈ ℂ )
77 1 2 3 4 sadval ( 𝜑 → ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) ↔ hadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) ) )
78 77 ifbid ( 𝜑 → if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) = if ( hadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) , ( 2 ↑ 𝑁 ) , 0 ) )
79 1 2 3 4 sadcp1 ( 𝜑 → ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) ↔ cadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) ) )
80 29 nn0cnd ( 𝜑 → 2 ∈ ℂ )
81 80 4 expp1d ( 𝜑 → ( 2 ↑ ( 𝑁 + 1 ) ) = ( ( 2 ↑ 𝑁 ) · 2 ) )
82 73 80 mulcomd ( 𝜑 → ( ( 2 ↑ 𝑁 ) · 2 ) = ( 2 · ( 2 ↑ 𝑁 ) ) )
83 81 82 eqtrd ( 𝜑 → ( 2 ↑ ( 𝑁 + 1 ) ) = ( 2 · ( 2 ↑ 𝑁 ) ) )
84 79 83 ifbieq1d ( 𝜑 → if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) = if ( cadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) , ( 2 · ( 2 ↑ 𝑁 ) ) , 0 ) )
85 78 84 oveq12d ( 𝜑 → ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) = ( if ( hadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( cadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) , ( 2 · ( 2 ↑ 𝑁 ) ) , 0 ) ) )
86 sadadd2lem2 ( ( 2 ↑ 𝑁 ) ∈ ℂ → ( if ( hadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( cadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) , ( 2 · ( 2 ↑ 𝑁 ) ) , 0 ) ) = ( ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) )
87 73 86 syl ( 𝜑 → ( if ( hadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( cadd ( 𝑁𝐴 , 𝑁𝐵 , ∅ ∈ ( 𝐶𝑁 ) ) , ( 2 · ( 2 ↑ 𝑁 ) ) , 0 ) ) = ( ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) )
88 85 87 eqtrd ( 𝜑 → ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) = ( ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) )
89 6 88 oveq12d ( 𝜑 → ( ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) + ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) ) = ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) + ( ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) ) )
90 27 42 76 add32d ( 𝜑 → ( ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) = ( ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) + ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) ) )
91 64 71 76 addassd ( 𝜑 → ( ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) + ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) = ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) + ( ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) ) )
92 89 90 91 3eqtr4d ( 𝜑 → ( ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) = ( ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) + ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ) + if ( ∅ ∈ ( 𝐶𝑁 ) , ( 2 ↑ 𝑁 ) , 0 ) ) )
93 43 72 76 92 addcan2ad ( 𝜑 → ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) ) = ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) + ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ) )
94 27 34 41 addassd ( 𝜑 → ( ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) = ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + ( if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) ) )
95 53 67 63 70 add4d ( 𝜑 → ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) ) + ( ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ) = ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) ) + ( if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ) )
96 93 94 95 3eqtr4d ( 𝜑 → ( ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) = ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) ) + ( ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ) )
97 5 bitsinvp1 ( ( ( 𝐴 sadd 𝐵 ) ⊆ ℕ0𝑁 ∈ ℕ0 ) → ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) ) )
98 10 4 97 syl2anc ( 𝜑 → ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) ) )
99 98 oveq1d ( 𝜑 → ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) = ( ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁 ∈ ( 𝐴 sadd 𝐵 ) , ( 2 ↑ 𝑁 ) , 0 ) ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) )
100 5 bitsinvp1 ( ( 𝐴 ⊆ ℕ0𝑁 ∈ ℕ0 ) → ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) ) )
101 1 4 100 syl2anc ( 𝜑 → ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) ) )
102 5 bitsinvp1 ( ( 𝐵 ⊆ ℕ0𝑁 ∈ ℕ0 ) → ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) )
103 2 4 102 syl2anc ( 𝜑 → ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) = ( ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) )
104 101 103 oveq12d ( 𝜑 → ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) ) = ( ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐴 , ( 2 ↑ 𝑁 ) , 0 ) ) + ( ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ 𝑁 ) ) ) + if ( 𝑁𝐵 , ( 2 ↑ 𝑁 ) , 0 ) ) ) )
105 96 99 104 3eqtr4d ( 𝜑 → ( ( 𝐾 ‘ ( ( 𝐴 sadd 𝐵 ) ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) + if ( ∅ ∈ ( 𝐶 ‘ ( 𝑁 + 1 ) ) , ( 2 ↑ ( 𝑁 + 1 ) ) , 0 ) ) = ( ( 𝐾 ‘ ( 𝐴 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) + ( 𝐾 ‘ ( 𝐵 ∩ ( 0 ..^ ( 𝑁 + 1 ) ) ) ) ) )