Step |
Hyp |
Ref |
Expression |
1 |
|
sticksstones9.1 |
⊢ ( 𝜑 → 𝑁 ∈ ℕ0 ) |
2 |
|
sticksstones9.2 |
⊢ ( 𝜑 → 𝐾 = 0 ) |
3 |
|
sticksstones9.3 |
⊢ 𝐺 = ( 𝑏 ∈ 𝐵 ↦ if ( 𝐾 = 0 , { 〈 1 , 𝑁 〉 } , ( 𝑘 ∈ ( 1 ... ( 𝐾 + 1 ) ) ↦ if ( 𝑘 = ( 𝐾 + 1 ) , ( ( 𝑁 + 𝐾 ) − ( 𝑏 ‘ 𝐾 ) ) , if ( 𝑘 = 1 , ( ( 𝑏 ‘ 1 ) − 1 ) , ( ( ( 𝑏 ‘ 𝑘 ) − ( 𝑏 ‘ ( 𝑘 − 1 ) ) ) − 1 ) ) ) ) ) ) |
4 |
|
sticksstones9.4 |
⊢ 𝐴 = { 𝑔 ∣ ( 𝑔 : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( 𝑔 ‘ 𝑖 ) = 𝑁 ) } |
5 |
|
sticksstones9.5 |
⊢ 𝐵 = { 𝑓 ∣ ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... ( 𝑁 + 𝐾 ) ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) } |
6 |
2
|
iftrued |
⊢ ( 𝜑 → if ( 𝐾 = 0 , { 〈 1 , 𝑁 〉 } , ( 𝑘 ∈ ( 1 ... ( 𝐾 + 1 ) ) ↦ if ( 𝑘 = ( 𝐾 + 1 ) , ( ( 𝑁 + 𝐾 ) − ( 𝑏 ‘ 𝐾 ) ) , if ( 𝑘 = 1 , ( ( 𝑏 ‘ 1 ) − 1 ) , ( ( ( 𝑏 ‘ 𝑘 ) − ( 𝑏 ‘ ( 𝑘 − 1 ) ) ) − 1 ) ) ) ) ) = { 〈 1 , 𝑁 〉 } ) |
7 |
6
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ 𝐵 ) → if ( 𝐾 = 0 , { 〈 1 , 𝑁 〉 } , ( 𝑘 ∈ ( 1 ... ( 𝐾 + 1 ) ) ↦ if ( 𝑘 = ( 𝐾 + 1 ) , ( ( 𝑁 + 𝐾 ) − ( 𝑏 ‘ 𝐾 ) ) , if ( 𝑘 = 1 , ( ( 𝑏 ‘ 1 ) − 1 ) , ( ( ( 𝑏 ‘ 𝑘 ) − ( 𝑏 ‘ ( 𝑘 − 1 ) ) ) − 1 ) ) ) ) ) = { 〈 1 , 𝑁 〉 } ) |
8 |
|
eqid |
⊢ { 〈 1 , 𝑁 〉 } = { 〈 1 , 𝑁 〉 } |
9 |
|
1nn |
⊢ 1 ∈ ℕ |
10 |
9
|
a1i |
⊢ ( 𝜑 → 1 ∈ ℕ ) |
11 |
|
fsng |
⊢ ( ( 1 ∈ ℕ ∧ 𝑁 ∈ ℕ0 ) → ( { 〈 1 , 𝑁 〉 } : { 1 } ⟶ { 𝑁 } ↔ { 〈 1 , 𝑁 〉 } = { 〈 1 , 𝑁 〉 } ) ) |
12 |
10 1 11
|
syl2anc |
⊢ ( 𝜑 → ( { 〈 1 , 𝑁 〉 } : { 1 } ⟶ { 𝑁 } ↔ { 〈 1 , 𝑁 〉 } = { 〈 1 , 𝑁 〉 } ) ) |
13 |
8 12
|
mpbiri |
⊢ ( 𝜑 → { 〈 1 , 𝑁 〉 } : { 1 } ⟶ { 𝑁 } ) |
14 |
1
|
snssd |
⊢ ( 𝜑 → { 𝑁 } ⊆ ℕ0 ) |
15 |
13 14
|
jca |
⊢ ( 𝜑 → ( { 〈 1 , 𝑁 〉 } : { 1 } ⟶ { 𝑁 } ∧ { 𝑁 } ⊆ ℕ0 ) ) |
16 |
|
fss |
⊢ ( ( { 〈 1 , 𝑁 〉 } : { 1 } ⟶ { 𝑁 } ∧ { 𝑁 } ⊆ ℕ0 ) → { 〈 1 , 𝑁 〉 } : { 1 } ⟶ ℕ0 ) |
17 |
15 16
|
syl |
⊢ ( 𝜑 → { 〈 1 , 𝑁 〉 } : { 1 } ⟶ ℕ0 ) |
18 |
2
|
oveq1d |
⊢ ( 𝜑 → ( 𝐾 + 1 ) = ( 0 + 1 ) ) |
19 |
|
0p1e1 |
⊢ ( 0 + 1 ) = 1 |
20 |
18 19
|
eqtrdi |
⊢ ( 𝜑 → ( 𝐾 + 1 ) = 1 ) |
21 |
20
|
oveq2d |
⊢ ( 𝜑 → ( 1 ... ( 𝐾 + 1 ) ) = ( 1 ... 1 ) ) |
22 |
|
1zzd |
⊢ ( 𝜑 → 1 ∈ ℤ ) |
23 |
|
fzsn |
⊢ ( 1 ∈ ℤ → ( 1 ... 1 ) = { 1 } ) |
24 |
22 23
|
syl |
⊢ ( 𝜑 → ( 1 ... 1 ) = { 1 } ) |
25 |
21 24
|
eqtrd |
⊢ ( 𝜑 → ( 1 ... ( 𝐾 + 1 ) ) = { 1 } ) |
26 |
25
|
eqcomd |
⊢ ( 𝜑 → { 1 } = ( 1 ... ( 𝐾 + 1 ) ) ) |
27 |
26
|
feq2d |
⊢ ( 𝜑 → ( { 〈 1 , 𝑁 〉 } : { 1 } ⟶ ℕ0 ↔ { 〈 1 , 𝑁 〉 } : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ) ) |
28 |
17 27
|
mpbid |
⊢ ( 𝜑 → { 〈 1 , 𝑁 〉 } : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ) |
29 |
25
|
sumeq1d |
⊢ ( 𝜑 → Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = Σ 𝑖 ∈ { 1 } ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) ) |
30 |
|
fvsng |
⊢ ( ( 1 ∈ ℕ ∧ 𝑁 ∈ ℕ0 ) → ( { 〈 1 , 𝑁 〉 } ‘ 1 ) = 𝑁 ) |
31 |
10 1 30
|
syl2anc |
⊢ ( 𝜑 → ( { 〈 1 , 𝑁 〉 } ‘ 1 ) = 𝑁 ) |
32 |
1
|
nn0cnd |
⊢ ( 𝜑 → 𝑁 ∈ ℂ ) |
33 |
31 32
|
eqeltrd |
⊢ ( 𝜑 → ( { 〈 1 , 𝑁 〉 } ‘ 1 ) ∈ ℂ ) |
34 |
10 33
|
jca |
⊢ ( 𝜑 → ( 1 ∈ ℕ ∧ ( { 〈 1 , 𝑁 〉 } ‘ 1 ) ∈ ℂ ) ) |
35 |
|
fveq2 |
⊢ ( 𝑖 = 1 → ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = ( { 〈 1 , 𝑁 〉 } ‘ 1 ) ) |
36 |
35
|
sumsn |
⊢ ( ( 1 ∈ ℕ ∧ ( { 〈 1 , 𝑁 〉 } ‘ 1 ) ∈ ℂ ) → Σ 𝑖 ∈ { 1 } ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = ( { 〈 1 , 𝑁 〉 } ‘ 1 ) ) |
37 |
34 36
|
syl |
⊢ ( 𝜑 → Σ 𝑖 ∈ { 1 } ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = ( { 〈 1 , 𝑁 〉 } ‘ 1 ) ) |
38 |
10 1
|
jca |
⊢ ( 𝜑 → ( 1 ∈ ℕ ∧ 𝑁 ∈ ℕ0 ) ) |
39 |
38 30
|
syl |
⊢ ( 𝜑 → ( { 〈 1 , 𝑁 〉 } ‘ 1 ) = 𝑁 ) |
40 |
37 39
|
eqtrd |
⊢ ( 𝜑 → Σ 𝑖 ∈ { 1 } ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = 𝑁 ) |
41 |
29 40
|
eqtrd |
⊢ ( 𝜑 → Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = 𝑁 ) |
42 |
28 41
|
jca |
⊢ ( 𝜑 → ( { 〈 1 , 𝑁 〉 } : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = 𝑁 ) ) |
43 |
42
|
adantr |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ 𝐵 ) → ( { 〈 1 , 𝑁 〉 } : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = 𝑁 ) ) |
44 |
|
snex |
⊢ { 〈 1 , 𝑁 〉 } ∈ V |
45 |
|
feq1 |
⊢ ( 𝑔 = { 〈 1 , 𝑁 〉 } → ( 𝑔 : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ↔ { 〈 1 , 𝑁 〉 } : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ) ) |
46 |
|
simpl |
⊢ ( ( 𝑔 = { 〈 1 , 𝑁 〉 } ∧ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ) → 𝑔 = { 〈 1 , 𝑁 〉 } ) |
47 |
46
|
fveq1d |
⊢ ( ( 𝑔 = { 〈 1 , 𝑁 〉 } ∧ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ) → ( 𝑔 ‘ 𝑖 ) = ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) ) |
48 |
47
|
sumeq2dv |
⊢ ( 𝑔 = { 〈 1 , 𝑁 〉 } → Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( 𝑔 ‘ 𝑖 ) = Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) ) |
49 |
48
|
eqeq1d |
⊢ ( 𝑔 = { 〈 1 , 𝑁 〉 } → ( Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( 𝑔 ‘ 𝑖 ) = 𝑁 ↔ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = 𝑁 ) ) |
50 |
45 49
|
anbi12d |
⊢ ( 𝑔 = { 〈 1 , 𝑁 〉 } → ( ( 𝑔 : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( 𝑔 ‘ 𝑖 ) = 𝑁 ) ↔ ( { 〈 1 , 𝑁 〉 } : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = 𝑁 ) ) ) |
51 |
50
|
elabg |
⊢ ( { 〈 1 , 𝑁 〉 } ∈ V → ( { 〈 1 , 𝑁 〉 } ∈ { 𝑔 ∣ ( 𝑔 : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( 𝑔 ‘ 𝑖 ) = 𝑁 ) } ↔ ( { 〈 1 , 𝑁 〉 } : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = 𝑁 ) ) ) |
52 |
44 51
|
ax-mp |
⊢ ( { 〈 1 , 𝑁 〉 } ∈ { 𝑔 ∣ ( 𝑔 : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( 𝑔 ‘ 𝑖 ) = 𝑁 ) } ↔ ( { 〈 1 , 𝑁 〉 } : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( { 〈 1 , 𝑁 〉 } ‘ 𝑖 ) = 𝑁 ) ) |
53 |
43 52
|
sylibr |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ 𝐵 ) → { 〈 1 , 𝑁 〉 } ∈ { 𝑔 ∣ ( 𝑔 : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( 𝑔 ‘ 𝑖 ) = 𝑁 ) } ) |
54 |
4
|
a1i |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ 𝐵 ) → 𝐴 = { 𝑔 ∣ ( 𝑔 : ( 1 ... ( 𝐾 + 1 ) ) ⟶ ℕ0 ∧ Σ 𝑖 ∈ ( 1 ... ( 𝐾 + 1 ) ) ( 𝑔 ‘ 𝑖 ) = 𝑁 ) } ) |
55 |
53 54
|
eleqtrrd |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ 𝐵 ) → { 〈 1 , 𝑁 〉 } ∈ 𝐴 ) |
56 |
7 55
|
eqeltrd |
⊢ ( ( 𝜑 ∧ 𝑏 ∈ 𝐵 ) → if ( 𝐾 = 0 , { 〈 1 , 𝑁 〉 } , ( 𝑘 ∈ ( 1 ... ( 𝐾 + 1 ) ) ↦ if ( 𝑘 = ( 𝐾 + 1 ) , ( ( 𝑁 + 𝐾 ) − ( 𝑏 ‘ 𝐾 ) ) , if ( 𝑘 = 1 , ( ( 𝑏 ‘ 1 ) − 1 ) , ( ( ( 𝑏 ‘ 𝑘 ) − ( 𝑏 ‘ ( 𝑘 − 1 ) ) ) − 1 ) ) ) ) ) ∈ 𝐴 ) |
57 |
56 3
|
fmptd |
⊢ ( 𝜑 → 𝐺 : 𝐵 ⟶ 𝐴 ) |