MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  sadadd2lem Structured version   Visualization version   GIF version

Theorem sadadd2lem 15019
Description: Lemma for sadadd2 15020. (Contributed by Mario Carneiro, 9-Sep-2016.)
Hypotheses
Ref Expression
sadval.a (𝜑𝐴 ⊆ ℕ0)
sadval.b (𝜑𝐵 ⊆ ℕ0)
sadval.c 𝐶 = seq0((𝑐 ∈ 2𝑜, 𝑚 ∈ ℕ0 ↦ if(cadd(𝑚𝐴, 𝑚𝐵, ∅ ∈ 𝑐), 1𝑜, ∅)), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
sadcp1.n (𝜑𝑁 ∈ ℕ0)
sadcadd.k 𝐾 = (bits ↾ ℕ0)
sadadd2lem.1 (𝜑 → ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + if(∅ ∈ (𝐶𝑁), (2↑𝑁), 0)) = ((𝐾‘(𝐴 ∩ (0..^𝑁))) + (𝐾‘(𝐵 ∩ (0..^𝑁)))))
Assertion
Ref Expression
sadadd2lem (𝜑 → ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^(𝑁 + 1)))) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)) = ((𝐾‘(𝐴 ∩ (0..^(𝑁 + 1)))) + (𝐾‘(𝐵 ∩ (0..^(𝑁 + 1))))))
Distinct variable groups:   𝑚,𝑐,𝑛   𝐴,𝑐,𝑚   𝐵,𝑐,𝑚   𝑛,𝑁
Allowed substitution hints:   𝜑(𝑚,𝑛,𝑐)   𝐴(𝑛)   𝐵(𝑛)   𝐶(𝑚,𝑛,𝑐)   𝐾(𝑚,𝑛,𝑐)   𝑁(𝑚,𝑐)

Proof of Theorem sadadd2lem
Dummy variable 𝑘 is distinct from all other variables.
StepHypRef Expression
1 inss1 3795 . . . . . . . . 9 ((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ⊆ (𝐴 sadd 𝐵)
2 sadval.a . . . . . . . . . . 11 (𝜑𝐴 ⊆ ℕ0)
3 sadval.b . . . . . . . . . . 11 (𝜑𝐵 ⊆ ℕ0)
4 sadval.c . . . . . . . . . . 11 𝐶 = seq0((𝑐 ∈ 2𝑜, 𝑚 ∈ ℕ0 ↦ if(cadd(𝑚𝐴, 𝑚𝐵, ∅ ∈ 𝑐), 1𝑜, ∅)), (𝑛 ∈ ℕ0 ↦ if(𝑛 = 0, ∅, (𝑛 − 1))))
52, 3, 4sadfval 15012 . . . . . . . . . 10 (𝜑 → (𝐴 sadd 𝐵) = {𝑘 ∈ ℕ0 ∣ hadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))})
6 ssrab2 3650 . . . . . . . . . 10 {𝑘 ∈ ℕ0 ∣ hadd(𝑘𝐴, 𝑘𝐵, ∅ ∈ (𝐶𝑘))} ⊆ ℕ0
75, 6syl6eqss 3618 . . . . . . . . 9 (𝜑 → (𝐴 sadd 𝐵) ⊆ ℕ0)
81, 7syl5ss 3579 . . . . . . . 8 (𝜑 → ((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ⊆ ℕ0)
9 fzofi 12635 . . . . . . . . . 10 (0..^𝑁) ∈ Fin
109a1i 11 . . . . . . . . 9 (𝜑 → (0..^𝑁) ∈ Fin)
11 inss2 3796 . . . . . . . . 9 ((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ⊆ (0..^𝑁)
12 ssfi 8065 . . . . . . . . 9 (((0..^𝑁) ∈ Fin ∧ ((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ⊆ (0..^𝑁)) → ((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ∈ Fin)
1310, 11, 12sylancl 693 . . . . . . . 8 (𝜑 → ((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ∈ Fin)
14 elfpw 8151 . . . . . . . 8 (((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin) ↔ (((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ⊆ ℕ0 ∧ ((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ∈ Fin))
158, 13, 14sylanbrc 695 . . . . . . 7 (𝜑 → ((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin))
16 bitsf1o 15005 . . . . . . . . . 10 (bits ↾ ℕ0):ℕ01-1-onto→(𝒫 ℕ0 ∩ Fin)
17 f1ocnv 6062 . . . . . . . . . 10 ((bits ↾ ℕ0):ℕ01-1-onto→(𝒫 ℕ0 ∩ Fin) → (bits ↾ ℕ0):(𝒫 ℕ0 ∩ Fin)–1-1-onto→ℕ0)
18 f1of 6050 . . . . . . . . . 10 ((bits ↾ ℕ0):(𝒫 ℕ0 ∩ Fin)–1-1-onto→ℕ0(bits ↾ ℕ0):(𝒫 ℕ0 ∩ Fin)⟶ℕ0)
1916, 17, 18mp2b 10 . . . . . . . . 9 (bits ↾ ℕ0):(𝒫 ℕ0 ∩ Fin)⟶ℕ0
20 sadcadd.k . . . . . . . . . 10 𝐾 = (bits ↾ ℕ0)
2120feq1i 5949 . . . . . . . . 9 (𝐾:(𝒫 ℕ0 ∩ Fin)⟶ℕ0(bits ↾ ℕ0):(𝒫 ℕ0 ∩ Fin)⟶ℕ0)
2219, 21mpbir 220 . . . . . . . 8 𝐾:(𝒫 ℕ0 ∩ Fin)⟶ℕ0
2322ffvelrni 6266 . . . . . . 7 (((𝐴 sadd 𝐵) ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin) → (𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) ∈ ℕ0)
2415, 23syl 17 . . . . . 6 (𝜑 → (𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) ∈ ℕ0)
2524nn0cnd 11230 . . . . 5 (𝜑 → (𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) ∈ ℂ)
26 2nn0 11186 . . . . . . . . . 10 2 ∈ ℕ0
2726a1i 11 . . . . . . . . 9 (𝜑 → 2 ∈ ℕ0)
28 sadcp1.n . . . . . . . . 9 (𝜑𝑁 ∈ ℕ0)
2927, 28nn0expcld 12893 . . . . . . . 8 (𝜑 → (2↑𝑁) ∈ ℕ0)
30 0nn0 11184 . . . . . . . 8 0 ∈ ℕ0
31 ifcl 4080 . . . . . . . 8 (((2↑𝑁) ∈ ℕ0 ∧ 0 ∈ ℕ0) → if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) ∈ ℕ0)
3229, 30, 31sylancl 693 . . . . . . 7 (𝜑 → if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) ∈ ℕ0)
3332nn0cnd 11230 . . . . . 6 (𝜑 → if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) ∈ ℂ)
34 1nn0 11185 . . . . . . . . . . 11 1 ∈ ℕ0
3534a1i 11 . . . . . . . . . 10 (𝜑 → 1 ∈ ℕ0)
3628, 35nn0addcld 11232 . . . . . . . . 9 (𝜑 → (𝑁 + 1) ∈ ℕ0)
3727, 36nn0expcld 12893 . . . . . . . 8 (𝜑 → (2↑(𝑁 + 1)) ∈ ℕ0)
38 ifcl 4080 . . . . . . . 8 (((2↑(𝑁 + 1)) ∈ ℕ0 ∧ 0 ∈ ℕ0) → if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0) ∈ ℕ0)
3937, 30, 38sylancl 693 . . . . . . 7 (𝜑 → if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0) ∈ ℕ0)
4039nn0cnd 11230 . . . . . 6 (𝜑 → if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0) ∈ ℂ)
4133, 40addcld 9938 . . . . 5 (𝜑 → (if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)) ∈ ℂ)
4225, 41addcld 9938 . . . 4 (𝜑 → ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + (if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0))) ∈ ℂ)
43 inss1 3795 . . . . . . . . . 10 (𝐴 ∩ (0..^𝑁)) ⊆ 𝐴
4443, 2syl5ss 3579 . . . . . . . . 9 (𝜑 → (𝐴 ∩ (0..^𝑁)) ⊆ ℕ0)
45 inss2 3796 . . . . . . . . . 10 (𝐴 ∩ (0..^𝑁)) ⊆ (0..^𝑁)
46 ssfi 8065 . . . . . . . . . 10 (((0..^𝑁) ∈ Fin ∧ (𝐴 ∩ (0..^𝑁)) ⊆ (0..^𝑁)) → (𝐴 ∩ (0..^𝑁)) ∈ Fin)
4710, 45, 46sylancl 693 . . . . . . . . 9 (𝜑 → (𝐴 ∩ (0..^𝑁)) ∈ Fin)
48 elfpw 8151 . . . . . . . . 9 ((𝐴 ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin) ↔ ((𝐴 ∩ (0..^𝑁)) ⊆ ℕ0 ∧ (𝐴 ∩ (0..^𝑁)) ∈ Fin))
4944, 47, 48sylanbrc 695 . . . . . . . 8 (𝜑 → (𝐴 ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin))
5022ffvelrni 6266 . . . . . . . 8 ((𝐴 ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin) → (𝐾‘(𝐴 ∩ (0..^𝑁))) ∈ ℕ0)
5149, 50syl 17 . . . . . . 7 (𝜑 → (𝐾‘(𝐴 ∩ (0..^𝑁))) ∈ ℕ0)
5251nn0cnd 11230 . . . . . 6 (𝜑 → (𝐾‘(𝐴 ∩ (0..^𝑁))) ∈ ℂ)
53 inss1 3795 . . . . . . . . . 10 (𝐵 ∩ (0..^𝑁)) ⊆ 𝐵
5453, 3syl5ss 3579 . . . . . . . . 9 (𝜑 → (𝐵 ∩ (0..^𝑁)) ⊆ ℕ0)
55 inss2 3796 . . . . . . . . . 10 (𝐵 ∩ (0..^𝑁)) ⊆ (0..^𝑁)
56 ssfi 8065 . . . . . . . . . 10 (((0..^𝑁) ∈ Fin ∧ (𝐵 ∩ (0..^𝑁)) ⊆ (0..^𝑁)) → (𝐵 ∩ (0..^𝑁)) ∈ Fin)
5710, 55, 56sylancl 693 . . . . . . . . 9 (𝜑 → (𝐵 ∩ (0..^𝑁)) ∈ Fin)
58 elfpw 8151 . . . . . . . . 9 ((𝐵 ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin) ↔ ((𝐵 ∩ (0..^𝑁)) ⊆ ℕ0 ∧ (𝐵 ∩ (0..^𝑁)) ∈ Fin))
5954, 57, 58sylanbrc 695 . . . . . . . 8 (𝜑 → (𝐵 ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin))
6022ffvelrni 6266 . . . . . . . 8 ((𝐵 ∩ (0..^𝑁)) ∈ (𝒫 ℕ0 ∩ Fin) → (𝐾‘(𝐵 ∩ (0..^𝑁))) ∈ ℕ0)
6159, 60syl 17 . . . . . . 7 (𝜑 → (𝐾‘(𝐵 ∩ (0..^𝑁))) ∈ ℕ0)
6261nn0cnd 11230 . . . . . 6 (𝜑 → (𝐾‘(𝐵 ∩ (0..^𝑁))) ∈ ℂ)
6352, 62addcld 9938 . . . . 5 (𝜑 → ((𝐾‘(𝐴 ∩ (0..^𝑁))) + (𝐾‘(𝐵 ∩ (0..^𝑁)))) ∈ ℂ)
64 ifcl 4080 . . . . . . . 8 (((2↑𝑁) ∈ ℕ0 ∧ 0 ∈ ℕ0) → if(𝑁𝐴, (2↑𝑁), 0) ∈ ℕ0)
6529, 30, 64sylancl 693 . . . . . . 7 (𝜑 → if(𝑁𝐴, (2↑𝑁), 0) ∈ ℕ0)
6665nn0cnd 11230 . . . . . 6 (𝜑 → if(𝑁𝐴, (2↑𝑁), 0) ∈ ℂ)
67 ifcl 4080 . . . . . . . 8 (((2↑𝑁) ∈ ℕ0 ∧ 0 ∈ ℕ0) → if(𝑁𝐵, (2↑𝑁), 0) ∈ ℕ0)
6829, 30, 67sylancl 693 . . . . . . 7 (𝜑 → if(𝑁𝐵, (2↑𝑁), 0) ∈ ℕ0)
6968nn0cnd 11230 . . . . . 6 (𝜑 → if(𝑁𝐵, (2↑𝑁), 0) ∈ ℂ)
7066, 69addcld 9938 . . . . 5 (𝜑 → (if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0)) ∈ ℂ)
7163, 70addcld 9938 . . . 4 (𝜑 → (((𝐾‘(𝐴 ∩ (0..^𝑁))) + (𝐾‘(𝐵 ∩ (0..^𝑁)))) + (if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0))) ∈ ℂ)
7229nn0cnd 11230 . . . . . 6 (𝜑 → (2↑𝑁) ∈ ℂ)
7372adantr 480 . . . . 5 ((𝜑 ∧ ∅ ∈ (𝐶𝑁)) → (2↑𝑁) ∈ ℂ)
74 0cnd 9912 . . . . 5 ((𝜑 ∧ ¬ ∅ ∈ (𝐶𝑁)) → 0 ∈ ℂ)
7573, 74ifclda 4070 . . . 4 (𝜑 → if(∅ ∈ (𝐶𝑁), (2↑𝑁), 0) ∈ ℂ)
76 sadadd2lem.1 . . . . . 6 (𝜑 → ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + if(∅ ∈ (𝐶𝑁), (2↑𝑁), 0)) = ((𝐾‘(𝐴 ∩ (0..^𝑁))) + (𝐾‘(𝐵 ∩ (0..^𝑁)))))
772, 3, 4, 28sadval 15016 . . . . . . . . 9 (𝜑 → (𝑁 ∈ (𝐴 sadd 𝐵) ↔ hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
7877ifbid 4058 . . . . . . . 8 (𝜑 → if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) = if(hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)), (2↑𝑁), 0))
792, 3, 4, 28sadcp1 15015 . . . . . . . . 9 (𝜑 → (∅ ∈ (𝐶‘(𝑁 + 1)) ↔ cadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁))))
8027nn0cnd 11230 . . . . . . . . . . 11 (𝜑 → 2 ∈ ℂ)
8180, 28expp1d 12871 . . . . . . . . . 10 (𝜑 → (2↑(𝑁 + 1)) = ((2↑𝑁) · 2))
8272, 80mulcomd 9940 . . . . . . . . . 10 (𝜑 → ((2↑𝑁) · 2) = (2 · (2↑𝑁)))
8381, 82eqtrd 2644 . . . . . . . . 9 (𝜑 → (2↑(𝑁 + 1)) = (2 · (2↑𝑁)))
8479, 83ifbieq1d 4059 . . . . . . . 8 (𝜑 → if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0) = if(cadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)), (2 · (2↑𝑁)), 0))
8578, 84oveq12d 6567 . . . . . . 7 (𝜑 → (if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)) = (if(hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)), (2↑𝑁), 0) + if(cadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)), (2 · (2↑𝑁)), 0)))
86 sadadd2lem2 15010 . . . . . . . 8 ((2↑𝑁) ∈ ℂ → (if(hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)), (2↑𝑁), 0) + if(cadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)), (2 · (2↑𝑁)), 0)) = ((if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0)) + if(∅ ∈ (𝐶𝑁), (2↑𝑁), 0)))
8772, 86syl 17 . . . . . . 7 (𝜑 → (if(hadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)), (2↑𝑁), 0) + if(cadd(𝑁𝐴, 𝑁𝐵, ∅ ∈ (𝐶𝑁)), (2 · (2↑𝑁)), 0)) = ((if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0)) + if(∅ ∈ (𝐶𝑁), (2↑𝑁), 0)))
8885, 87eqtrd 2644 . . . . . 6 (𝜑 → (if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)) = ((if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0)) + if(∅ ∈ (𝐶𝑁), (2↑𝑁), 0)))
8976, 88oveq12d 6567 . . . . 5 (𝜑 → (((𝐾‘((𝐴 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))))
9025, 41, 75add32d 10142 . . . . 5 (𝜑 → (((𝐾‘((𝐴 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))))
9163, 70, 75addassd 9941 . . . . 5 (𝜑 → ((((𝐾‘(𝐴 ∩ (0..^𝑁))) + (𝐾‘(𝐵 ∩ (0..^𝑁)))) + (if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0))) + if(∅ ∈ (𝐶𝑁), (2↑𝑁), 0)) = (((𝐾‘(𝐴 ∩ (0..^𝑁))) + (𝐾‘(𝐵 ∩ (0..^𝑁)))) + ((if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0)) + if(∅ ∈ (𝐶𝑁), (2↑𝑁), 0))))
9289, 90, 913eqtr4d 2654 . . . 4 (𝜑 → (((𝐾‘((𝐴 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)))
9342, 71, 75, 92addcan2ad 10121 . . 3 (𝜑 → ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + (if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0))) = (((𝐾‘(𝐴 ∩ (0..^𝑁))) + (𝐾‘(𝐵 ∩ (0..^𝑁)))) + (if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0))))
9425, 33, 40addassd 9941 . . 3 (𝜑 → (((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0)) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)) = ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + (if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0))))
9552, 66, 62, 69add4d 10143 . . 3 (𝜑 → (((𝐾‘(𝐴 ∩ (0..^𝑁))) + if(𝑁𝐴, (2↑𝑁), 0)) + ((𝐾‘(𝐵 ∩ (0..^𝑁))) + if(𝑁𝐵, (2↑𝑁), 0))) = (((𝐾‘(𝐴 ∩ (0..^𝑁))) + (𝐾‘(𝐵 ∩ (0..^𝑁)))) + (if(𝑁𝐴, (2↑𝑁), 0) + if(𝑁𝐵, (2↑𝑁), 0))))
9693, 94, 953eqtr4d 2654 . 2 (𝜑 → (((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0)) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)) = (((𝐾‘(𝐴 ∩ (0..^𝑁))) + if(𝑁𝐴, (2↑𝑁), 0)) + ((𝐾‘(𝐵 ∩ (0..^𝑁))) + if(𝑁𝐵, (2↑𝑁), 0))))
9720bitsinvp1 15009 . . . 4 (((𝐴 sadd 𝐵) ⊆ ℕ0𝑁 ∈ ℕ0) → (𝐾‘((𝐴 sadd 𝐵) ∩ (0..^(𝑁 + 1)))) = ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0)))
987, 28, 97syl2anc 691 . . 3 (𝜑 → (𝐾‘((𝐴 sadd 𝐵) ∩ (0..^(𝑁 + 1)))) = ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0)))
9998oveq1d 6564 . 2 (𝜑 → ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^(𝑁 + 1)))) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)) = (((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^𝑁))) + if(𝑁 ∈ (𝐴 sadd 𝐵), (2↑𝑁), 0)) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)))
10020bitsinvp1 15009 . . . 4 ((𝐴 ⊆ ℕ0𝑁 ∈ ℕ0) → (𝐾‘(𝐴 ∩ (0..^(𝑁 + 1)))) = ((𝐾‘(𝐴 ∩ (0..^𝑁))) + if(𝑁𝐴, (2↑𝑁), 0)))
1012, 28, 100syl2anc 691 . . 3 (𝜑 → (𝐾‘(𝐴 ∩ (0..^(𝑁 + 1)))) = ((𝐾‘(𝐴 ∩ (0..^𝑁))) + if(𝑁𝐴, (2↑𝑁), 0)))
10220bitsinvp1 15009 . . . 4 ((𝐵 ⊆ ℕ0𝑁 ∈ ℕ0) → (𝐾‘(𝐵 ∩ (0..^(𝑁 + 1)))) = ((𝐾‘(𝐵 ∩ (0..^𝑁))) + if(𝑁𝐵, (2↑𝑁), 0)))
1033, 28, 102syl2anc 691 . . 3 (𝜑 → (𝐾‘(𝐵 ∩ (0..^(𝑁 + 1)))) = ((𝐾‘(𝐵 ∩ (0..^𝑁))) + if(𝑁𝐵, (2↑𝑁), 0)))
104101, 103oveq12d 6567 . 2 (𝜑 → ((𝐾‘(𝐴 ∩ (0..^(𝑁 + 1)))) + (𝐾‘(𝐵 ∩ (0..^(𝑁 + 1))))) = (((𝐾‘(𝐴 ∩ (0..^𝑁))) + if(𝑁𝐴, (2↑𝑁), 0)) + ((𝐾‘(𝐵 ∩ (0..^𝑁))) + if(𝑁𝐵, (2↑𝑁), 0))))
10596, 99, 1043eqtr4d 2654 1 (𝜑 → ((𝐾‘((𝐴 sadd 𝐵) ∩ (0..^(𝑁 + 1)))) + if(∅ ∈ (𝐶‘(𝑁 + 1)), (2↑(𝑁 + 1)), 0)) = ((𝐾‘(𝐴 ∩ (0..^(𝑁 + 1)))) + (𝐾‘(𝐵 ∩ (0..^(𝑁 + 1))))))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wa 383   = wceq 1475  haddwhad 1523  caddwcad 1536  wcel 1977  {crab 2900  cin 3539  wss 3540  c0 3874  ifcif 4036  𝒫 cpw 4108  cmpt 4643  ccnv 5037  cres 5040  wf 5800  1-1-ontowf1o 5803  cfv 5804  (class class class)co 6549  cmpt2 6551  1𝑜c1o 7440  2𝑜c2o 7441  Fincfn 7841  cc 9813  0cc0 9815  1c1 9816   + caddc 9818   · cmul 9820  cmin 10145  2c2 10947  0cn0 11169  ..^cfzo 12334  seqcseq 12663  cexp 12722  bitscbits 14979   sadd csad 14980
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-rep 4699  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-inf2 8421  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892  ax-pre-sup 9893
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-xor 1457  df-tru 1478  df-fal 1481  df-had 1524  df-cad 1537  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-int 4411  df-iun 4457  df-disj 4554  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-se 4998  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-isom 5813  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-1o 7447  df-2o 7448  df-oadd 7451  df-er 7629  df-map 7746  df-pm 7747  df-en 7842  df-dom 7843  df-sdom 7844  df-fin 7845  df-sup 8231  df-inf 8232  df-oi 8298  df-card 8648  df-cda 8873  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-div 10564  df-nn 10898  df-2 10956  df-3 10957  df-n0 11170  df-xnn0 11241  df-z 11255  df-uz 11564  df-rp 11709  df-fz 12198  df-fzo 12335  df-fl 12455  df-mod 12531  df-seq 12664  df-exp 12723  df-hash 12980  df-cj 13687  df-re 13688  df-im 13689  df-sqrt 13823  df-abs 13824  df-clim 14067  df-sum 14265  df-dvds 14822  df-bits 14982  df-sad 15011
This theorem is referenced by:  sadadd2  15020
  Copyright terms: Public domain W3C validator