Metamath Proof Explorer


Theorem sticksstones17

Description: Extend sticks and stones to finite sets, bijective builder. (Contributed by metakunt, 23-Oct-2024)

Ref Expression
Hypotheses sticksstones17.1 ⊢ φ → N ∈ ℕ 0
sticksstones17.2 ⊢ φ → K ∈ ℕ 0
sticksstones17.3 ⊢ A = g | g : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K g ⁡ i = N
sticksstones17.4 ⊢ B = h | h : S ⟶ ℕ 0 ∧ ∑ i ∈ S h ⁡ i = N
sticksstones17.5 ⊢ φ → Z : 1 … K ⟶ 1-1 onto S
sticksstones17.6 ⊢ G = b ∈ B ⟼ y ∈ 1 … K ⟼ b ⁡ Z ⁡ y
Assertion sticksstones17 ⊢ φ → G : B ⟶ A

Proof

Step Hyp Ref Expression
1 sticksstones17.1 ⊢ φ → N ∈ ℕ 0
2 sticksstones17.2 ⊢ φ → K ∈ ℕ 0
3 sticksstones17.3 ⊢ A = g | g : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K g ⁡ i = N
4 sticksstones17.4 ⊢ B = h | h : S ⟶ ℕ 0 ∧ ∑ i ∈ S h ⁡ i = N
5 sticksstones17.5 ⊢ φ → Z : 1 … K ⟶ 1-1 onto S
6 sticksstones17.6 ⊢ G = b ∈ B ⟼ y ∈ 1 … K ⟼ b ⁡ Z ⁡ y
7 4 eqimssi ⊢ B ⊆ h | h : S ⟶ ℕ 0 ∧ ∑ i ∈ S h ⁡ i = N
8 7 a1i ⊢ φ → B ⊆ h | h : S ⟶ ℕ 0 ∧ ∑ i ∈ S h ⁡ i = N
9 8 sseld ⊢ φ → b ∈ B → b ∈ h | h : S ⟶ ℕ 0 ∧ ∑ i ∈ S h ⁡ i = N
10 9 imp ⊢ φ ∧ b ∈ B → b ∈ h | h : S ⟶ ℕ 0 ∧ ∑ i ∈ S h ⁡ i = N
11 vex ⊢ b ∈ V
12 feq1 ⊢ h = b → h : S ⟶ ℕ 0 ↔ b : S ⟶ ℕ 0
13 simpl ⊢ h = b ∧ i ∈ S → h = b
14 13 fveq1d ⊢ h = b ∧ i ∈ S → h ⁡ i = b ⁡ i
15 14 sumeq2dv ⊢ h = b → ∑ i ∈ S h ⁡ i = ∑ i ∈ S b ⁡ i
16 15 eqeq1d ⊢ h = b → ∑ i ∈ S h ⁡ i = N ↔ ∑ i ∈ S b ⁡ i = N
17 12 16 anbi12d ⊢ h = b → h : S ⟶ ℕ 0 ∧ ∑ i ∈ S h ⁡ i = N ↔ b : S ⟶ ℕ 0 ∧ ∑ i ∈ S b ⁡ i = N
18 11 17 elab ⊢ b ∈ h | h : S ⟶ ℕ 0 ∧ ∑ i ∈ S h ⁡ i = N ↔ b : S ⟶ ℕ 0 ∧ ∑ i ∈ S b ⁡ i = N
19 10 18 sylib ⊢ φ ∧ b ∈ B → b : S ⟶ ℕ 0 ∧ ∑ i ∈ S b ⁡ i = N
20 19 simpld ⊢ φ ∧ b ∈ B → b : S ⟶ ℕ 0
21 20 adantr ⊢ φ ∧ b ∈ B ∧ y ∈ 1 … K → b : S ⟶ ℕ 0
22 21 3impa ⊢ φ ∧ b ∈ B ∧ y ∈ 1 … K → b : S ⟶ ℕ 0
23 f1of ⊢ Z : 1 … K ⟶ 1-1 onto S → Z : 1 … K ⟶ S
24 5 23 syl ⊢ φ → Z : 1 … K ⟶ S
25 24 adantr ⊢ φ ∧ b ∈ B → Z : 1 … K ⟶ S
26 25 adantr ⊢ φ ∧ b ∈ B ∧ y ∈ 1 … K → Z : 1 … K ⟶ S
27 26 3impa ⊢ φ ∧ b ∈ B ∧ y ∈ 1 … K → Z : 1 … K ⟶ S
28 simp3 ⊢ φ ∧ b ∈ B ∧ y ∈ 1 … K → y ∈ 1 … K
29 27 28 ffvelcdmd ⊢ φ ∧ b ∈ B ∧ y ∈ 1 … K → Z ⁡ y ∈ S
30 22 29 ffvelcdmd ⊢ φ ∧ b ∈ B ∧ y ∈ 1 … K → b ⁡ Z ⁡ y ∈ ℕ 0
31 30 3expa ⊢ φ ∧ b ∈ B ∧ y ∈ 1 … K → b ⁡ Z ⁡ y ∈ ℕ 0
32 31 fmpttd ⊢ φ ∧ b ∈ B → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y : 1 … K ⟶ ℕ 0
33 eqidd ⊢ φ ∧ b ∈ B ∧ i ∈ 1 … K → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y
34 simpr ⊢ φ ∧ b ∈ B ∧ i ∈ 1 … K ∧ y = i → y = i
35 34 fveq2d ⊢ φ ∧ b ∈ B ∧ i ∈ 1 … K ∧ y = i → Z ⁡ y = Z ⁡ i
36 35 fveq2d ⊢ φ ∧ b ∈ B ∧ i ∈ 1 … K ∧ y = i → b ⁡ Z ⁡ y = b ⁡ Z ⁡ i
37 simpr ⊢ φ ∧ b ∈ B ∧ i ∈ 1 … K → i ∈ 1 … K
38 fvexd ⊢ φ ∧ b ∈ B ∧ i ∈ 1 … K → b ⁡ Z ⁡ i ∈ V
39 33 36 37 38 fvmptd ⊢ φ ∧ b ∈ B ∧ i ∈ 1 … K → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i = b ⁡ Z ⁡ i
40 39 sumeq2dv ⊢ φ ∧ b ∈ B → ∑ i = 1 K y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i = ∑ i = 1 K b ⁡ Z ⁡ i
41 fveq2 ⊢ s = Z ⁡ i → b ⁡ s = b ⁡ Z ⁡ i
42 fzfi ⊢ 1 … K ∈ Fin
43 42 a1i ⊢ φ ∧ b ∈ B → 1 … K ∈ Fin
44 5 adantr ⊢ φ ∧ b ∈ B → Z : 1 … K ⟶ 1-1 onto S
45 eqidd ⊢ φ ∧ b ∈ B ∧ i ∈ 1 … K → Z ⁡ i = Z ⁡ i
46 nn0sscn ⊢ ℕ 0 ⊆ ℂ
47 46 a1i ⊢ φ ∧ b ∈ B → ℕ 0 ⊆ ℂ
48 fss ⊢ b : S ⟶ ℕ 0 ∧ ℕ 0 ⊆ ℂ → b : S ⟶ ℂ
49 20 47 48 syl2anc ⊢ φ ∧ b ∈ B → b : S ⟶ ℂ
50 49 ffvelcdmda ⊢ φ ∧ b ∈ B ∧ s ∈ S → b ⁡ s ∈ ℂ
51 41 43 44 45 50 fsumf1o ⊢ φ ∧ b ∈ B → ∑ s ∈ S b ⁡ s = ∑ i = 1 K b ⁡ Z ⁡ i
52 51 eqcomd ⊢ φ ∧ b ∈ B → ∑ i = 1 K b ⁡ Z ⁡ i = ∑ s ∈ S b ⁡ s
53 fveq2 ⊢ s = i → b ⁡ s = b ⁡ i
54 53 cbvsumv ⊢ ∑ s ∈ S b ⁡ s = ∑ i ∈ S b ⁡ i
55 54 a1i ⊢ φ ∧ b ∈ B → ∑ s ∈ S b ⁡ s = ∑ i ∈ S b ⁡ i
56 19 simprd ⊢ φ ∧ b ∈ B → ∑ i ∈ S b ⁡ i = N
57 55 56 eqtrd ⊢ φ ∧ b ∈ B → ∑ s ∈ S b ⁡ s = N
58 52 57 eqtrd ⊢ φ ∧ b ∈ B → ∑ i = 1 K b ⁡ Z ⁡ i = N
59 40 58 eqtrd ⊢ φ ∧ b ∈ B → ∑ i = 1 K y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i = N
60 32 59 jca ⊢ φ ∧ b ∈ B → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i = N
61 fzfid ⊢ φ ∧ b ∈ B → 1 … K ∈ Fin
62 61 mptexd ⊢ φ ∧ b ∈ B → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ∈ V
63 feq1 ⊢ g = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y → g : 1 … K ⟶ ℕ 0 ↔ y ∈ 1 … K ⟼ b ⁡ Z ⁡ y : 1 … K ⟶ ℕ 0
64 simpl ⊢ g = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ∧ i ∈ 1 … K → g = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y
65 64 fveq1d ⊢ g = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ∧ i ∈ 1 … K → g ⁡ i = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i
66 65 sumeq2dv ⊢ g = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y → ∑ i = 1 K g ⁡ i = ∑ i = 1 K y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i
67 66 eqeq1d ⊢ g = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y → ∑ i = 1 K g ⁡ i = N ↔ ∑ i = 1 K y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i = N
68 63 67 anbi12d ⊢ g = y ∈ 1 … K ⟼ b ⁡ Z ⁡ y → g : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K g ⁡ i = N ↔ y ∈ 1 … K ⟼ b ⁡ Z ⁡ y : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i = N
69 68 elabg ⊢ y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ∈ V → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ∈ g | g : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K g ⁡ i = N ↔ y ∈ 1 … K ⟼ b ⁡ Z ⁡ y : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i = N
70 62 69 syl ⊢ φ ∧ b ∈ B → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ∈ g | g : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K g ⁡ i = N ↔ y ∈ 1 … K ⟼ b ⁡ Z ⁡ y : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ⁡ i = N
71 60 70 mpbird ⊢ φ ∧ b ∈ B → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ∈ g | g : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K g ⁡ i = N
72 3 a1i ⊢ φ ∧ b ∈ B → A = g | g : 1 … K ⟶ ℕ 0 ∧ ∑ i = 1 K g ⁡ i = N
73 71 72 eleqtrrd ⊢ φ ∧ b ∈ B → y ∈ 1 … K ⟼ b ⁡ Z ⁡ y ∈ A
74 73 6 fmptd ⊢ φ → G : B ⟶ A