Step |
Hyp |
Ref |
Expression |
1 |
|
sticksstones4.1 |
⊢ ( 𝜑 → 𝑁 ∈ ℕ0 ) |
2 |
|
sticksstones4.2 |
⊢ ( 𝜑 → 𝐾 ∈ ℕ0 ) |
3 |
|
sticksstones4.3 |
⊢ 𝐵 = { 𝑎 ∈ 𝒫 ( 1 ... 𝑁 ) ∣ ( ♯ ‘ 𝑎 ) = 𝐾 } |
4 |
|
sticksstones4.4 |
⊢ 𝐴 = { 𝑓 ∣ ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) } |
5 |
|
eqid |
⊢ ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) = ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) |
6 |
1 2 3 4 5
|
sticksstones2 |
⊢ ( 𝜑 → ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1→ 𝐵 ) |
7 |
1 2 3 4 5
|
sticksstones3 |
⊢ ( 𝜑 → ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –onto→ 𝐵 ) |
8 |
6 7
|
jca |
⊢ ( 𝜑 → ( ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1→ 𝐵 ∧ ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –onto→ 𝐵 ) ) |
9 |
|
df-f1o |
⊢ ( ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1-onto→ 𝐵 ↔ ( ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1→ 𝐵 ∧ ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –onto→ 𝐵 ) ) |
10 |
8 9
|
sylibr |
⊢ ( 𝜑 → ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1-onto→ 𝐵 ) |
11 |
|
simpl |
⊢ ( ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) → 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ) |
12 |
11
|
a1i |
⊢ ( 𝜑 → ( ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) → 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ) ) |
13 |
12
|
ss2abdv |
⊢ ( 𝜑 → { 𝑓 ∣ ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) } ⊆ { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) } ) |
14 |
|
fzfid |
⊢ ( 𝜑 → ( 1 ... 𝐾 ) ∈ Fin ) |
15 |
|
fzfid |
⊢ ( 𝜑 → ( 1 ... 𝑁 ) ∈ Fin ) |
16 |
|
mapex |
⊢ ( ( ( 1 ... 𝐾 ) ∈ Fin ∧ ( 1 ... 𝑁 ) ∈ Fin ) → { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) } ∈ V ) |
17 |
14 15 16
|
syl2anc |
⊢ ( 𝜑 → { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) } ∈ V ) |
18 |
|
ssexg |
⊢ ( ( { 𝑓 ∣ ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) } ⊆ { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) } ∧ { 𝑓 ∣ 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) } ∈ V ) → { 𝑓 ∣ ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) } ∈ V ) |
19 |
13 17 18
|
syl2anc |
⊢ ( 𝜑 → { 𝑓 ∣ ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) } ∈ V ) |
20 |
4
|
eleq1i |
⊢ ( 𝐴 ∈ V ↔ { 𝑓 ∣ ( 𝑓 : ( 1 ... 𝐾 ) ⟶ ( 1 ... 𝑁 ) ∧ ∀ 𝑥 ∈ ( 1 ... 𝐾 ) ∀ 𝑦 ∈ ( 1 ... 𝐾 ) ( 𝑥 < 𝑦 → ( 𝑓 ‘ 𝑥 ) < ( 𝑓 ‘ 𝑦 ) ) ) } ∈ V ) |
21 |
19 20
|
sylibr |
⊢ ( 𝜑 → 𝐴 ∈ V ) |
22 |
21
|
mptexd |
⊢ ( 𝜑 → ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) ∈ V ) |
23 |
|
f1oeq1 |
⊢ ( 𝑔 = ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) → ( 𝑔 : 𝐴 –1-1-onto→ 𝐵 ↔ ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1-onto→ 𝐵 ) ) |
24 |
23
|
biimprd |
⊢ ( 𝑔 = ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) → ( ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1-onto→ 𝐵 → 𝑔 : 𝐴 –1-1-onto→ 𝐵 ) ) |
25 |
24
|
adantl |
⊢ ( ( 𝜑 ∧ 𝑔 = ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) ) → ( ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1-onto→ 𝐵 → 𝑔 : 𝐴 –1-1-onto→ 𝐵 ) ) |
26 |
22 25
|
spcimedv |
⊢ ( 𝜑 → ( ( 𝑝 ∈ 𝐴 ↦ ran 𝑝 ) : 𝐴 –1-1-onto→ 𝐵 → ∃ 𝑔 𝑔 : 𝐴 –1-1-onto→ 𝐵 ) ) |
27 |
10 26
|
mpd |
⊢ ( 𝜑 → ∃ 𝑔 𝑔 : 𝐴 –1-1-onto→ 𝐵 ) |
28 |
|
bren |
⊢ ( 𝐴 ≈ 𝐵 ↔ ∃ 𝑔 𝑔 : 𝐴 –1-1-onto→ 𝐵 ) |
29 |
27 28
|
sylibr |
⊢ ( 𝜑 → 𝐴 ≈ 𝐵 ) |