Metamath Proof Explorer


Definition df-smu

Description: Define the multiplication of two bit sequences, using repeated sequence addition. (Contributed by Mario Carneiro, 9-Sep-2016)

Ref Expression
Assertion df-smu ⊢ smul = x ∈ 𝒫 ℕ 0 , y ∈ 𝒫 ℕ 0 ⟼ k ∈ ℕ 0 | k ∈ seq 0 p ∈ 𝒫 ℕ 0 , m ∈ ℕ 0 ⟼ p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y n ∈ ℕ 0 ⟼ if n = 0 ∅ n − 1 ⁡ k + 1

Detailed syntax breakdown

Step Hyp Ref Expression
0 csmu class smul
1 vx setvar x
2 cn0 class ℕ 0
3 2 cpw class 𝒫 ℕ 0
4 vy setvar y
5 vk setvar k
6 5 cv setvar k
7 cc0 class 0
8 vp setvar p
9 vm setvar m
10 8 cv setvar p
11 csad class sadd
12 vn setvar n
13 9 cv setvar m
14 1 cv setvar x
15 13 14 wcel wff m ∈ x
16 12 cv setvar n
17 cmin class −
18 16 13 17 co class n − m
19 4 cv setvar y
20 18 19 wcel wff n − m ∈ y
21 15 20 wa wff m ∈ x ∧ n − m ∈ y
22 21 12 2 crab class n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y
23 10 22 11 co class p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y
24 8 9 3 2 23 cmpo class p ∈ 𝒫 ℕ 0 , m ∈ ℕ 0 ⟼ p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y
25 16 7 wceq wff n = 0
26 c0 class ∅
27 c1 class 1
28 16 27 17 co class n − 1
29 25 26 28 cif class if n = 0 ∅ n − 1
30 12 2 29 cmpt class n ∈ ℕ 0 ⟼ if n = 0 ∅ n − 1
31 24 30 7 cseq class seq 0 p ∈ 𝒫 ℕ 0 , m ∈ ℕ 0 ⟼ p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y n ∈ ℕ 0 ⟼ if n = 0 ∅ n − 1
32 caddc class +
33 6 27 32 co class k + 1
34 33 31 cfv class seq 0 p ∈ 𝒫 ℕ 0 , m ∈ ℕ 0 ⟼ p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y n ∈ ℕ 0 ⟼ if n = 0 ∅ n − 1 ⁡ k + 1
35 6 34 wcel wff k ∈ seq 0 p ∈ 𝒫 ℕ 0 , m ∈ ℕ 0 ⟼ p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y n ∈ ℕ 0 ⟼ if n = 0 ∅ n − 1 ⁡ k + 1
36 35 5 2 crab class k ∈ ℕ 0 | k ∈ seq 0 p ∈ 𝒫 ℕ 0 , m ∈ ℕ 0 ⟼ p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y n ∈ ℕ 0 ⟼ if n = 0 ∅ n − 1 ⁡ k + 1
37 1 4 3 3 36 cmpo class x ∈ 𝒫 ℕ 0 , y ∈ 𝒫 ℕ 0 ⟼ k ∈ ℕ 0 | k ∈ seq 0 p ∈ 𝒫 ℕ 0 , m ∈ ℕ 0 ⟼ p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y n ∈ ℕ 0 ⟼ if n = 0 ∅ n − 1 ⁡ k + 1
38 0 37 wceq wff smul = x ∈ 𝒫 ℕ 0 , y ∈ 𝒫 ℕ 0 ⟼ k ∈ ℕ 0 | k ∈ seq 0 p ∈ 𝒫 ℕ 0 , m ∈ ℕ 0 ⟼ p sadd n ∈ ℕ 0 | m ∈ x ∧ n − m ∈ y n ∈ ℕ 0 ⟼ if n = 0 ∅ n − 1 ⁡ k + 1