Metamath Proof Explorer


Theorem sticksstones19

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

Ref Expression
Hypotheses sticksstones19.1 ( 𝜑𝑁 ∈ ℕ0 )
sticksstones19.2 ( 𝜑𝐾 ∈ ℕ0 )
sticksstones19.3 𝐴 = { 𝑔 ∣ ( 𝑔 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑔𝑖 ) = 𝑁 ) }
sticksstones19.4 𝐵 = { ∣ ( : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑖 ) = 𝑁 ) }
sticksstones19.5 ( 𝜑𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆 )
sticksstones19.6 𝐹 = ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) )
sticksstones19.7 𝐺 = ( 𝑏𝐵 ↦ ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑏 ‘ ( 𝑍𝑦 ) ) ) )
Assertion sticksstones19 ( 𝜑𝐹 : 𝐴1-1-onto𝐵 )

Proof

Step Hyp Ref Expression
1 sticksstones19.1 ( 𝜑𝑁 ∈ ℕ0 )
2 sticksstones19.2 ( 𝜑𝐾 ∈ ℕ0 )
3 sticksstones19.3 𝐴 = { 𝑔 ∣ ( 𝑔 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑔𝑖 ) = 𝑁 ) }
4 sticksstones19.4 𝐵 = { ∣ ( : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑖 ) = 𝑁 ) }
5 sticksstones19.5 ( 𝜑𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆 )
6 sticksstones19.6 𝐹 = ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) )
7 sticksstones19.7 𝐺 = ( 𝑏𝐵 ↦ ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑏 ‘ ( 𝑍𝑦 ) ) ) )
8 1 2 3 4 5 6 sticksstones18 ( 𝜑𝐹 : 𝐴𝐵 )
9 1 2 3 4 5 7 sticksstones17 ( 𝜑𝐺 : 𝐵𝐴 )
10 7 a1i ( ( 𝜑𝑐𝐴 ) → 𝐺 = ( 𝑏𝐵 ↦ ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑏 ‘ ( 𝑍𝑦 ) ) ) ) )
11 simplr ( ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑏 = ( 𝐹𝑐 ) ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → 𝑏 = ( 𝐹𝑐 ) )
12 11 fveq1d ( ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑏 = ( 𝐹𝑐 ) ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑏 ‘ ( 𝑍𝑦 ) ) = ( ( 𝐹𝑐 ) ‘ ( 𝑍𝑦 ) ) )
13 12 mpteq2dva ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑏 = ( 𝐹𝑐 ) ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑏 ‘ ( 𝑍𝑦 ) ) ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( 𝐹𝑐 ) ‘ ( 𝑍𝑦 ) ) ) )
14 8 ffvelrnda ( ( 𝜑𝑐𝐴 ) → ( 𝐹𝑐 ) ∈ 𝐵 )
15 fzfid ( ( 𝜑𝑐𝐴 ) → ( 1 ... 𝐾 ) ∈ Fin )
16 15 mptexd ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( 𝐹𝑐 ) ‘ ( 𝑍𝑦 ) ) ) ∈ V )
17 10 13 14 16 fvmptd ( ( 𝜑𝑐𝐴 ) → ( 𝐺 ‘ ( 𝐹𝑐 ) ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( 𝐹𝑐 ) ‘ ( 𝑍𝑦 ) ) ) )
18 6 a1i ( ( 𝜑𝑐𝐴𝑦 ∈ ( 1 ... 𝐾 ) ) → 𝐹 = ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) )
19 18 fveq1d ( ( 𝜑𝑐𝐴𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝐹𝑐 ) = ( ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) ‘ 𝑐 ) )
20 19 fveq1d ( ( 𝜑𝑐𝐴𝑦 ∈ ( 1 ... 𝐾 ) ) → ( ( 𝐹𝑐 ) ‘ ( 𝑍𝑦 ) ) = ( ( ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) ‘ 𝑐 ) ‘ ( 𝑍𝑦 ) ) )
21 20 3expa ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( ( 𝐹𝑐 ) ‘ ( 𝑍𝑦 ) ) = ( ( ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) ‘ 𝑐 ) ‘ ( 𝑍𝑦 ) ) )
22 21 mpteq2dva ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( 𝐹𝑐 ) ‘ ( 𝑍𝑦 ) ) ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) ‘ 𝑐 ) ‘ ( 𝑍𝑦 ) ) ) )
23 eqidd ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) = ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) )
24 simplr ( ( ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) ∧ 𝑎 = 𝑐 ) ∧ 𝑥𝑆 ) → 𝑎 = 𝑐 )
25 24 fveq1d ( ( ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) ∧ 𝑎 = 𝑐 ) ∧ 𝑥𝑆 ) → ( 𝑎 ‘ ( 𝑍𝑥 ) ) = ( 𝑐 ‘ ( 𝑍𝑥 ) ) )
26 25 mpteq2dva ( ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) ∧ 𝑎 = 𝑐 ) → ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) = ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) )
27 simplr ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → 𝑐𝐴 )
28 fzfid ( 𝜑 → ( 1 ... 𝐾 ) ∈ Fin )
29 f1oenfi ( ( ( 1 ... 𝐾 ) ∈ Fin ∧ 𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆 ) → ( 1 ... 𝐾 ) ≈ 𝑆 )
30 28 5 29 syl2anc ( 𝜑 → ( 1 ... 𝐾 ) ≈ 𝑆 )
31 30 ensymd ( 𝜑𝑆 ≈ ( 1 ... 𝐾 ) )
32 enfii ( ( ( 1 ... 𝐾 ) ∈ Fin ∧ 𝑆 ≈ ( 1 ... 𝐾 ) ) → 𝑆 ∈ Fin )
33 28 31 32 syl2anc ( 𝜑𝑆 ∈ Fin )
34 33 adantr ( ( 𝜑𝑐𝐴 ) → 𝑆 ∈ Fin )
35 34 adantr ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → 𝑆 ∈ Fin )
36 35 mptexd ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) ∈ V )
37 23 26 27 36 fvmptd ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) ‘ 𝑐 ) = ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) )
38 37 fveq1d ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( ( ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) ‘ 𝑐 ) ‘ ( 𝑍𝑦 ) ) = ( ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) ‘ ( 𝑍𝑦 ) ) )
39 38 mpteq2dva ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) ‘ 𝑐 ) ‘ ( 𝑍𝑦 ) ) ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) ‘ ( 𝑍𝑦 ) ) ) )
40 eqidd ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) = ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) )
41 simpr ( ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) ∧ 𝑥 = ( 𝑍𝑦 ) ) → 𝑥 = ( 𝑍𝑦 ) )
42 41 fveq2d ( ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) ∧ 𝑥 = ( 𝑍𝑦 ) ) → ( 𝑍𝑥 ) = ( 𝑍 ‘ ( 𝑍𝑦 ) ) )
43 42 fveq2d ( ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) ∧ 𝑥 = ( 𝑍𝑦 ) ) → ( 𝑐 ‘ ( 𝑍𝑥 ) ) = ( 𝑐 ‘ ( 𝑍 ‘ ( 𝑍𝑦 ) ) ) )
44 f1of ( 𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆𝑍 : ( 1 ... 𝐾 ) ⟶ 𝑆 )
45 5 44 syl ( 𝜑𝑍 : ( 1 ... 𝐾 ) ⟶ 𝑆 )
46 45 adantr ( ( 𝜑𝑐𝐴 ) → 𝑍 : ( 1 ... 𝐾 ) ⟶ 𝑆 )
47 46 ffvelrnda ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑍𝑦 ) ∈ 𝑆 )
48 fvexd ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑐 ‘ ( 𝑍 ‘ ( 𝑍𝑦 ) ) ) ∈ V )
49 40 43 47 48 fvmptd ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) ‘ ( 𝑍𝑦 ) ) = ( 𝑐 ‘ ( 𝑍 ‘ ( 𝑍𝑦 ) ) ) )
50 49 mpteq2dva ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) ‘ ( 𝑍𝑦 ) ) ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑐 ‘ ( 𝑍 ‘ ( 𝑍𝑦 ) ) ) ) )
51 5 ad2antrr ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → 𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆 )
52 simpr ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → 𝑦 ∈ ( 1 ... 𝐾 ) )
53 f1ocnvfv1 ( ( 𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑍 ‘ ( 𝑍𝑦 ) ) = 𝑦 )
54 51 52 53 syl2anc ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑍 ‘ ( 𝑍𝑦 ) ) = 𝑦 )
55 54 fveq2d ( ( ( 𝜑𝑐𝐴 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑐 ‘ ( 𝑍 ‘ ( 𝑍𝑦 ) ) ) = ( 𝑐𝑦 ) )
56 55 mpteq2dva ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑐 ‘ ( 𝑍 ‘ ( 𝑍𝑦 ) ) ) ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑐𝑦 ) ) )
57 simpr ( ( 𝜑𝑐𝐴 ) → 𝑐𝐴 )
58 3 a1i ( ( 𝜑𝑐𝐴 ) → 𝐴 = { 𝑔 ∣ ( 𝑔 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑔𝑖 ) = 𝑁 ) } )
59 57 58 eleqtrd ( ( 𝜑𝑐𝐴 ) → 𝑐 ∈ { 𝑔 ∣ ( 𝑔 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑔𝑖 ) = 𝑁 ) } )
60 vex 𝑐 ∈ V
61 feq1 ( 𝑔 = 𝑐 → ( 𝑔 : ( 1 ... 𝐾 ) ⟶ ℕ0𝑐 : ( 1 ... 𝐾 ) ⟶ ℕ0 ) )
62 simpl ( ( 𝑔 = 𝑐𝑖 ∈ ( 1 ... 𝐾 ) ) → 𝑔 = 𝑐 )
63 62 fveq1d ( ( 𝑔 = 𝑐𝑖 ∈ ( 1 ... 𝐾 ) ) → ( 𝑔𝑖 ) = ( 𝑐𝑖 ) )
64 63 sumeq2dv ( 𝑔 = 𝑐 → Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑔𝑖 ) = Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑐𝑖 ) )
65 64 eqeq1d ( 𝑔 = 𝑐 → ( Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑔𝑖 ) = 𝑁 ↔ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑐𝑖 ) = 𝑁 ) )
66 61 65 anbi12d ( 𝑔 = 𝑐 → ( ( 𝑔 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑔𝑖 ) = 𝑁 ) ↔ ( 𝑐 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑐𝑖 ) = 𝑁 ) ) )
67 60 66 elab ( 𝑐 ∈ { 𝑔 ∣ ( 𝑔 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑔𝑖 ) = 𝑁 ) } ↔ ( 𝑐 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑐𝑖 ) = 𝑁 ) )
68 59 67 sylib ( ( 𝜑𝑐𝐴 ) → ( 𝑐 : ( 1 ... 𝐾 ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... 𝐾 ) ( 𝑐𝑖 ) = 𝑁 ) )
69 68 simpld ( ( 𝜑𝑐𝐴 ) → 𝑐 : ( 1 ... 𝐾 ) ⟶ ℕ0 )
70 ffn ( 𝑐 : ( 1 ... 𝐾 ) ⟶ ℕ0𝑐 Fn ( 1 ... 𝐾 ) )
71 69 70 syl ( ( 𝜑𝑐𝐴 ) → 𝑐 Fn ( 1 ... 𝐾 ) )
72 dffn5 ( 𝑐 Fn ( 1 ... 𝐾 ) ↔ 𝑐 = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑐𝑦 ) ) )
73 71 72 sylib ( ( 𝜑𝑐𝐴 ) → 𝑐 = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑐𝑦 ) ) )
74 73 eqcomd ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑐𝑦 ) ) = 𝑐 )
75 56 74 eqtrd ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑐 ‘ ( 𝑍 ‘ ( 𝑍𝑦 ) ) ) ) = 𝑐 )
76 50 75 eqtrd ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( 𝑥𝑆 ↦ ( 𝑐 ‘ ( 𝑍𝑥 ) ) ) ‘ ( 𝑍𝑦 ) ) ) = 𝑐 )
77 39 76 eqtrd ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) ‘ 𝑐 ) ‘ ( 𝑍𝑦 ) ) ) = 𝑐 )
78 22 77 eqtrd ( ( 𝜑𝑐𝐴 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( ( 𝐹𝑐 ) ‘ ( 𝑍𝑦 ) ) ) = 𝑐 )
79 17 78 eqtrd ( ( 𝜑𝑐𝐴 ) → ( 𝐺 ‘ ( 𝐹𝑐 ) ) = 𝑐 )
80 79 ralrimiva ( 𝜑 → ∀ 𝑐𝐴 ( 𝐺 ‘ ( 𝐹𝑐 ) ) = 𝑐 )
81 6 a1i ( ( 𝜑𝑑𝐵 ) → 𝐹 = ( 𝑎𝐴 ↦ ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) ) )
82 simplr ( ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑎 = ( 𝐺𝑑 ) ) ∧ 𝑥𝑆 ) → 𝑎 = ( 𝐺𝑑 ) )
83 82 fveq1d ( ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑎 = ( 𝐺𝑑 ) ) ∧ 𝑥𝑆 ) → ( 𝑎 ‘ ( 𝑍𝑥 ) ) = ( ( 𝐺𝑑 ) ‘ ( 𝑍𝑥 ) ) )
84 83 mpteq2dva ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑎 = ( 𝐺𝑑 ) ) → ( 𝑥𝑆 ↦ ( 𝑎 ‘ ( 𝑍𝑥 ) ) ) = ( 𝑥𝑆 ↦ ( ( 𝐺𝑑 ) ‘ ( 𝑍𝑥 ) ) ) )
85 9 ffvelrnda ( ( 𝜑𝑑𝐵 ) → ( 𝐺𝑑 ) ∈ 𝐴 )
86 33 adantr ( ( 𝜑𝑑𝐵 ) → 𝑆 ∈ Fin )
87 86 mptexd ( ( 𝜑𝑑𝐵 ) → ( 𝑥𝑆 ↦ ( ( 𝐺𝑑 ) ‘ ( 𝑍𝑥 ) ) ) ∈ V )
88 81 84 85 87 fvmptd ( ( 𝜑𝑑𝐵 ) → ( 𝐹 ‘ ( 𝐺𝑑 ) ) = ( 𝑥𝑆 ↦ ( ( 𝐺𝑑 ) ‘ ( 𝑍𝑥 ) ) ) )
89 7 a1i ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → 𝐺 = ( 𝑏𝐵 ↦ ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑏 ‘ ( 𝑍𝑦 ) ) ) ) )
90 simplr ( ( ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) ∧ 𝑏 = 𝑑 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → 𝑏 = 𝑑 )
91 90 fveq1d ( ( ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) ∧ 𝑏 = 𝑑 ) ∧ 𝑦 ∈ ( 1 ... 𝐾 ) ) → ( 𝑏 ‘ ( 𝑍𝑦 ) ) = ( 𝑑 ‘ ( 𝑍𝑦 ) ) )
92 91 mpteq2dva ( ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) ∧ 𝑏 = 𝑑 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑏 ‘ ( 𝑍𝑦 ) ) ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) )
93 simplr ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → 𝑑𝐵 )
94 fzfid ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( 1 ... 𝐾 ) ∈ Fin )
95 94 mptexd ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) ∈ V )
96 89 92 93 95 fvmptd ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( 𝐺𝑑 ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) )
97 96 fveq1d ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( ( 𝐺𝑑 ) ‘ ( 𝑍𝑥 ) ) = ( ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) ‘ ( 𝑍𝑥 ) ) )
98 97 mpteq2dva ( ( 𝜑𝑑𝐵 ) → ( 𝑥𝑆 ↦ ( ( 𝐺𝑑 ) ‘ ( 𝑍𝑥 ) ) ) = ( 𝑥𝑆 ↦ ( ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) ‘ ( 𝑍𝑥 ) ) ) )
99 eqidd ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) = ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) )
100 simpr ( ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) ∧ 𝑦 = ( 𝑍𝑥 ) ) → 𝑦 = ( 𝑍𝑥 ) )
101 100 fveq2d ( ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) ∧ 𝑦 = ( 𝑍𝑥 ) ) → ( 𝑍𝑦 ) = ( 𝑍 ‘ ( 𝑍𝑥 ) ) )
102 101 fveq2d ( ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) ∧ 𝑦 = ( 𝑍𝑥 ) ) → ( 𝑑 ‘ ( 𝑍𝑦 ) ) = ( 𝑑 ‘ ( 𝑍 ‘ ( 𝑍𝑥 ) ) ) )
103 f1ocnv ( 𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆 𝑍 : 𝑆1-1-onto→ ( 1 ... 𝐾 ) )
104 5 103 syl ( 𝜑 𝑍 : 𝑆1-1-onto→ ( 1 ... 𝐾 ) )
105 f1of ( 𝑍 : 𝑆1-1-onto→ ( 1 ... 𝐾 ) → 𝑍 : 𝑆 ⟶ ( 1 ... 𝐾 ) )
106 104 105 syl ( 𝜑 𝑍 : 𝑆 ⟶ ( 1 ... 𝐾 ) )
107 106 adantr ( ( 𝜑𝑑𝐵 ) → 𝑍 : 𝑆 ⟶ ( 1 ... 𝐾 ) )
108 107 ffvelrnda ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( 𝑍𝑥 ) ∈ ( 1 ... 𝐾 ) )
109 fvexd ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( 𝑑 ‘ ( 𝑍 ‘ ( 𝑍𝑥 ) ) ) ∈ V )
110 99 102 108 109 fvmptd ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) ‘ ( 𝑍𝑥 ) ) = ( 𝑑 ‘ ( 𝑍 ‘ ( 𝑍𝑥 ) ) ) )
111 110 mpteq2dva ( ( 𝜑𝑑𝐵 ) → ( 𝑥𝑆 ↦ ( ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) ‘ ( 𝑍𝑥 ) ) ) = ( 𝑥𝑆 ↦ ( 𝑑 ‘ ( 𝑍 ‘ ( 𝑍𝑥 ) ) ) ) )
112 5 ad2antrr ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → 𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆 )
113 simpr ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → 𝑥𝑆 )
114 f1ocnvfv2 ( ( 𝑍 : ( 1 ... 𝐾 ) –1-1-onto𝑆𝑥𝑆 ) → ( 𝑍 ‘ ( 𝑍𝑥 ) ) = 𝑥 )
115 112 113 114 syl2anc ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( 𝑍 ‘ ( 𝑍𝑥 ) ) = 𝑥 )
116 115 fveq2d ( ( ( 𝜑𝑑𝐵 ) ∧ 𝑥𝑆 ) → ( 𝑑 ‘ ( 𝑍 ‘ ( 𝑍𝑥 ) ) ) = ( 𝑑𝑥 ) )
117 116 mpteq2dva ( ( 𝜑𝑑𝐵 ) → ( 𝑥𝑆 ↦ ( 𝑑 ‘ ( 𝑍 ‘ ( 𝑍𝑥 ) ) ) ) = ( 𝑥𝑆 ↦ ( 𝑑𝑥 ) ) )
118 simpr ( ( 𝜑𝑑𝐵 ) → 𝑑𝐵 )
119 4 a1i ( ( 𝜑𝑑𝐵 ) → 𝐵 = { ∣ ( : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑖 ) = 𝑁 ) } )
120 118 119 eleqtrd ( ( 𝜑𝑑𝐵 ) → 𝑑 ∈ { ∣ ( : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑖 ) = 𝑁 ) } )
121 vex 𝑑 ∈ V
122 feq1 ( = 𝑑 → ( : 𝑆 ⟶ ℕ0𝑑 : 𝑆 ⟶ ℕ0 ) )
123 simpl ( ( = 𝑑𝑖𝑆 ) → = 𝑑 )
124 123 fveq1d ( ( = 𝑑𝑖𝑆 ) → ( 𝑖 ) = ( 𝑑𝑖 ) )
125 124 sumeq2dv ( = 𝑑 → Σ 𝑖𝑆 ( 𝑖 ) = Σ 𝑖𝑆 ( 𝑑𝑖 ) )
126 125 eqeq1d ( = 𝑑 → ( Σ 𝑖𝑆 ( 𝑖 ) = 𝑁 ↔ Σ 𝑖𝑆 ( 𝑑𝑖 ) = 𝑁 ) )
127 122 126 anbi12d ( = 𝑑 → ( ( : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑖 ) = 𝑁 ) ↔ ( 𝑑 : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑑𝑖 ) = 𝑁 ) ) )
128 121 127 elab ( 𝑑 ∈ { ∣ ( : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑖 ) = 𝑁 ) } ↔ ( 𝑑 : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑑𝑖 ) = 𝑁 ) )
129 120 128 sylib ( ( 𝜑𝑑𝐵 ) → ( 𝑑 : 𝑆 ⟶ ℕ0 ∧ Σ 𝑖𝑆 ( 𝑑𝑖 ) = 𝑁 ) )
130 129 simpld ( ( 𝜑𝑑𝐵 ) → 𝑑 : 𝑆 ⟶ ℕ0 )
131 ffn ( 𝑑 : 𝑆 ⟶ ℕ0𝑑 Fn 𝑆 )
132 130 131 syl ( ( 𝜑𝑑𝐵 ) → 𝑑 Fn 𝑆 )
133 dffn5 ( 𝑑 Fn 𝑆𝑑 = ( 𝑥𝑆 ↦ ( 𝑑𝑥 ) ) )
134 132 133 sylib ( ( 𝜑𝑑𝐵 ) → 𝑑 = ( 𝑥𝑆 ↦ ( 𝑑𝑥 ) ) )
135 134 eqcomd ( ( 𝜑𝑑𝐵 ) → ( 𝑥𝑆 ↦ ( 𝑑𝑥 ) ) = 𝑑 )
136 117 135 eqtrd ( ( 𝜑𝑑𝐵 ) → ( 𝑥𝑆 ↦ ( 𝑑 ‘ ( 𝑍 ‘ ( 𝑍𝑥 ) ) ) ) = 𝑑 )
137 111 136 eqtrd ( ( 𝜑𝑑𝐵 ) → ( 𝑥𝑆 ↦ ( ( 𝑦 ∈ ( 1 ... 𝐾 ) ↦ ( 𝑑 ‘ ( 𝑍𝑦 ) ) ) ‘ ( 𝑍𝑥 ) ) ) = 𝑑 )
138 98 137 eqtrd ( ( 𝜑𝑑𝐵 ) → ( 𝑥𝑆 ↦ ( ( 𝐺𝑑 ) ‘ ( 𝑍𝑥 ) ) ) = 𝑑 )
139 88 138 eqtrd ( ( 𝜑𝑑𝐵 ) → ( 𝐹 ‘ ( 𝐺𝑑 ) ) = 𝑑 )
140 139 ralrimiva ( 𝜑 → ∀ 𝑑𝐵 ( 𝐹 ‘ ( 𝐺𝑑 ) ) = 𝑑 )
141 8 9 80 140 2fvidf1od ( 𝜑𝐹 : 𝐴1-1-onto𝐵 )