Metamath Proof Explorer


Theorem sticksstones3

Description: The range function on strictly monotone functions with finite domain and codomain is an surjective mapping onto K -elemental sets. (Contributed by metakunt, 28-Sep-2024)

Ref Expression
Hypotheses sticksstones3.1 ⊢ φ → N ∈ ℕ 0
sticksstones3.2 ⊢ φ → K ∈ ℕ 0
sticksstones3.3 ⊢ B = a ∈ 𝒫 1 … N | a = K
sticksstones3.4 ⊢ A = f | f : 1 … K ⟶ 1 … N ∧ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → f ⁡ x < f ⁡ y
sticksstones3.5 ⊢ F = z ∈ A ⟼ ran ⁡ z
Assertion sticksstones3 ⊢ φ → F : A ⟶ onto B

Proof

Step Hyp Ref Expression
1 sticksstones3.1 ⊢ φ → N ∈ ℕ 0
2 sticksstones3.2 ⊢ φ → K ∈ ℕ 0
3 sticksstones3.3 ⊢ B = a ∈ 𝒫 1 … N | a = K
4 sticksstones3.4 ⊢ A = f | f : 1 … K ⟶ 1 … N ∧ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → f ⁡ x < f ⁡ y
5 sticksstones3.5 ⊢ F = z ∈ A ⟼ ran ⁡ z
6 1 2 3 4 5 sticksstones2 ⊢ φ → F : A ⟶ 1-1 B
7 df-f1 ⊢ F : A ⟶ 1-1 B ↔ F : A ⟶ B ∧ Fun ⁡ F -1
8 7 biimpi ⊢ F : A ⟶ 1-1 B → F : A ⟶ B ∧ Fun ⁡ F -1
9 8 simpld ⊢ F : A ⟶ 1-1 B → F : A ⟶ B
10 6 9 syl ⊢ φ → F : A ⟶ B
11 3 eleq2i ⊢ w ∈ B ↔ w ∈ a ∈ 𝒫 1 … N | a = K
12 11 bilani ⊢ φ ∧ w ∈ B → w ∈ a ∈ 𝒫 1 … N | a = K
13 fveqeq2 ⊢ a = w → a = K ↔ w = K
14 13 elrab ⊢ w ∈ a ∈ 𝒫 1 … N | a = K ↔ w ∈ 𝒫 1 … N ∧ w = K
15 12 14 sylib ⊢ φ ∧ w ∈ B → w ∈ 𝒫 1 … N ∧ w = K
16 15 simpld ⊢ φ ∧ w ∈ B → w ∈ 𝒫 1 … N
17 16 elpwid ⊢ φ ∧ w ∈ B → w ⊆ 1 … N
18 17 sseld ⊢ φ ∧ w ∈ B → c ∈ w → c ∈ 1 … N
19 18 imp ⊢ φ ∧ w ∈ B ∧ c ∈ w → c ∈ 1 … N
20 19 3impa ⊢ φ ∧ w ∈ B ∧ c ∈ w → c ∈ 1 … N
21 elfznn ⊢ c ∈ 1 … N → c ∈ ℕ
22 20 21 syl ⊢ φ ∧ w ∈ B ∧ c ∈ w → c ∈ ℕ
23 22 nnred ⊢ φ ∧ w ∈ B ∧ c ∈ w → c ∈ ℝ
24 23 3expa ⊢ φ ∧ w ∈ B ∧ c ∈ w → c ∈ ℝ
25 24 ex ⊢ φ ∧ w ∈ B → c ∈ w → c ∈ ℝ
26 25 ssrdv ⊢ φ ∧ w ∈ B → w ⊆ ℝ
27 ltso ⊢ < Or ℝ
28 soss ⊢ w ⊆ ℝ → < Or ℝ → < Or w
29 27 28 mpi ⊢ w ⊆ ℝ → < Or w
30 26 29 syl ⊢ φ ∧ w ∈ B → < Or w
31 fzfid ⊢ φ ∧ w ∈ B → 1 … N ∈ Fin
32 31 17 ssfid ⊢ φ ∧ w ∈ B → w ∈ Fin
33 fz1iso ⊢ < Or w ∧ w ∈ Fin → ∃ v v Isom < , < 1 … w w
34 30 32 33 syl2anc ⊢ φ ∧ w ∈ B → ∃ v v Isom < , < 1 … w w
35 df-isom ⊢ v Isom < , < 1 … w w ↔ v : 1 … w ⟶ 1-1 onto w ∧ ∀ x ∈ 1 … w ∀ y ∈ 1 … w x < y ↔ v ⁡ x < v ⁡ y
36 35 biimpi ⊢ v Isom < , < 1 … w w → v : 1 … w ⟶ 1-1 onto w ∧ ∀ x ∈ 1 … w ∀ y ∈ 1 … w x < y ↔ v ⁡ x < v ⁡ y
37 36 3ad2ant3 ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v : 1 … w ⟶ 1-1 onto w ∧ ∀ x ∈ 1 … w ∀ y ∈ 1 … w x < y ↔ v ⁡ x < v ⁡ y
38 37 simpld ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v : 1 … w ⟶ 1-1 onto w
39 15 simprd ⊢ φ ∧ w ∈ B → w = K
40 oveq2 ⊢ w = K → 1 … w = 1 … K
41 40 f1oeq2d ⊢ w = K → v : 1 … w ⟶ 1-1 onto w ↔ v : 1 … K ⟶ 1-1 onto w
42 39 41 syl ⊢ φ ∧ w ∈ B → v : 1 … w ⟶ 1-1 onto w ↔ v : 1 … K ⟶ 1-1 onto w
43 42 biimpd ⊢ φ ∧ w ∈ B → v : 1 … w ⟶ 1-1 onto w → v : 1 … K ⟶ 1-1 onto w
44 43 3adant3 ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v : 1 … w ⟶ 1-1 onto w → v : 1 … K ⟶ 1-1 onto w
45 38 44 mpd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v : 1 … K ⟶ 1-1 onto w
46 f1of ⊢ v : 1 … K ⟶ 1-1 onto w → v : 1 … K ⟶ w
47 45 46 syl ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v : 1 … K ⟶ w
48 47 ffnd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v Fn 1 … K
49 ovexd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → 1 … K ∈ V
50 48 49 fnexd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v ∈ V
51 17 3adant3 ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → w ⊆ 1 … N
52 fss ⊢ v : 1 … K ⟶ w ∧ w ⊆ 1 … N → v : 1 … K ⟶ 1 … N
53 47 51 52 syl2anc ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v : 1 … K ⟶ 1 … N
54 37 simprd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → ∀ x ∈ 1 … w ∀ y ∈ 1 … w x < y ↔ v ⁡ x < v ⁡ y
55 biimp ⊢ x < y ↔ v ⁡ x < v ⁡ y → x < y → v ⁡ x < v ⁡ y
56 55 a1i ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w ∧ x ∈ 1 … w ∧ y ∈ 1 … w → x < y ↔ v ⁡ x < v ⁡ y → x < y → v ⁡ x < v ⁡ y
57 56 ralimdva ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w ∧ x ∈ 1 … w → ∀ y ∈ 1 … w x < y ↔ v ⁡ x < v ⁡ y → ∀ y ∈ 1 … w x < y → v ⁡ x < v ⁡ y
58 57 ralimdva ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → ∀ x ∈ 1 … w ∀ y ∈ 1 … w x < y ↔ v ⁡ x < v ⁡ y → ∀ x ∈ 1 … w ∀ y ∈ 1 … w x < y → v ⁡ x < v ⁡ y
59 54 58 mpd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → ∀ x ∈ 1 … w ∀ y ∈ 1 … w x < y → v ⁡ x < v ⁡ y
60 39 adantr ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → w = K
61 60 3impa ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → w = K
62 61 oveq2d ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → 1 … w = 1 … K
63 62 raleqdv ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → ∀ y ∈ 1 … w x < y → v ⁡ x < v ⁡ y ↔ ∀ y ∈ 1 … K x < y → v ⁡ x < v ⁡ y
64 63 adantr ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w ∧ x ∈ 1 … w → ∀ y ∈ 1 … w x < y → v ⁡ x < v ⁡ y ↔ ∀ y ∈ 1 … K x < y → v ⁡ x < v ⁡ y
65 62 64 raleqbidva ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → ∀ x ∈ 1 … w ∀ y ∈ 1 … w x < y → v ⁡ x < v ⁡ y ↔ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → v ⁡ x < v ⁡ y
66 59 65 mpbid ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → v ⁡ x < v ⁡ y
67 53 66 jca ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v : 1 … K ⟶ 1 … N ∧ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → v ⁡ x < v ⁡ y
68 feq1 ⊢ f = v → f : 1 … K ⟶ 1 … N ↔ v : 1 … K ⟶ 1 … N
69 fveq1 ⊢ f = v → f ⁡ x = v ⁡ x
70 fveq1 ⊢ f = v → f ⁡ y = v ⁡ y
71 69 70 breq12d ⊢ f = v → f ⁡ x < f ⁡ y ↔ v ⁡ x < v ⁡ y
72 71 imbi2d ⊢ f = v → x < y → f ⁡ x < f ⁡ y ↔ x < y → v ⁡ x < v ⁡ y
73 72 2ralbidv ⊢ f = v → ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → f ⁡ x < f ⁡ y ↔ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → v ⁡ x < v ⁡ y
74 68 73 anbi12d ⊢ f = v → f : 1 … K ⟶ 1 … N ∧ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → f ⁡ x < f ⁡ y ↔ v : 1 … K ⟶ 1 … N ∧ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → v ⁡ x < v ⁡ y
75 50 67 74 elabd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v ∈ f | f : 1 … K ⟶ 1 … N ∧ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → f ⁡ x < f ⁡ y
76 4 eleq2i ⊢ v ∈ A ↔ v ∈ f | f : 1 … K ⟶ 1 … N ∧ ∀ x ∈ 1 … K ∀ y ∈ 1 … K x < y → f ⁡ x < f ⁡ y
77 75 76 sylibr ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v ∈ A
78 5 a1i ⊢ φ ∧ v ∈ A → F = z ∈ A ⟼ ran ⁡ z
79 simpr ⊢ φ ∧ v ∈ A ∧ z = v → z = v
80 79 rneqd ⊢ φ ∧ v ∈ A ∧ z = v → ran ⁡ z = ran ⁡ v
81 simpr ⊢ φ ∧ v ∈ A → v ∈ A
82 rnexg ⊢ v ∈ A → ran ⁡ v ∈ V
83 81 82 syl ⊢ φ ∧ v ∈ A → ran ⁡ v ∈ V
84 78 80 81 83 fvmptd ⊢ φ ∧ v ∈ A → F ⁡ v = ran ⁡ v
85 84 ex ⊢ φ → v ∈ A → F ⁡ v = ran ⁡ v
86 85 3ad2ant1 ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v ∈ A → F ⁡ v = ran ⁡ v
87 77 86 mpd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → F ⁡ v = ran ⁡ v
88 dff1o2 ⊢ v : 1 … K ⟶ 1-1 onto w ↔ v Fn 1 … K ∧ Fun ⁡ v -1 ∧ ran ⁡ v = w
89 88 biimpi ⊢ v : 1 … K ⟶ 1-1 onto w → v Fn 1 … K ∧ Fun ⁡ v -1 ∧ ran ⁡ v = w
90 89 simp3d ⊢ v : 1 … K ⟶ 1-1 onto w → ran ⁡ v = w
91 45 90 syl ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → ran ⁡ v = w
92 87 91 eqtrd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → F ⁡ v = w
93 92 eqcomd ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → w = F ⁡ v
94 77 93 jca ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v ∈ A ∧ w = F ⁡ v
95 94 3expa ⊢ φ ∧ w ∈ B ∧ v Isom < , < 1 … w w → v ∈ A ∧ w = F ⁡ v
96 95 ex ⊢ φ ∧ w ∈ B → v Isom < , < 1 … w w → v ∈ A ∧ w = F ⁡ v
97 96 eximdv ⊢ φ ∧ w ∈ B → ∃ v v Isom < , < 1 … w w → ∃ v v ∈ A ∧ w = F ⁡ v
98 34 97 mpd ⊢ φ ∧ w ∈ B → ∃ v v ∈ A ∧ w = F ⁡ v
99 df-rex ⊢ ∃ v ∈ A w = F ⁡ v ↔ ∃ v v ∈ A ∧ w = F ⁡ v
100 98 99 sylibr ⊢ φ ∧ w ∈ B → ∃ v ∈ A w = F ⁡ v
101 100 ralrimiva ⊢ φ → ∀ w ∈ B ∃ v ∈ A w = F ⁡ v
102 10 101 jca ⊢ φ → F : A ⟶ B ∧ ∀ w ∈ B ∃ v ∈ A w = F ⁡ v
103 dffo3 ⊢ F : A ⟶ onto B ↔ F : A ⟶ B ∧ ∀ w ∈ B ∃ v ∈ A w = F ⁡ v
104 103 a1i ⊢ φ → F : A ⟶ onto B ↔ F : A ⟶ B ∧ ∀ w ∈ B ∃ v ∈ A w = F ⁡ v
105 102 104 mpbird ⊢ φ → F : A ⟶ onto B