Metamath Proof Explorer


Theorem indexdom

Description: If for every element of an indexing set A there exists a corresponding element of another set B , then there exists a subset of B consisting only of those elements which are indexed by A , and which is dominated by the set A . (Contributed by Jeff Madsen, 2-Sep-2009)

Ref Expression
Assertion indexdom ⊢ A ∈ M ∧ ∀ x ∈ A ∃ y ∈ B φ → ∃ c c ≼ A ∧ c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ

Proof

Step Hyp Ref Expression
1 nfsbc1v ⊢ Ⅎ y [˙ f ⁡ x / y]˙ φ
2 sbceq1a ⊢ y = f ⁡ x → φ ↔ [˙ f ⁡ x / y]˙ φ
3 1 2 ac6gf ⊢ A ∈ M ∧ ∀ x ∈ A ∃ y ∈ B φ → ∃ f f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ
4 fdm ⊢ f : A ⟶ B → dom ⁡ f = A
5 vex ⊢ f ∈ V
6 5 dmex ⊢ dom ⁡ f ∈ V
7 4 6 eqeltrrdi ⊢ f : A ⟶ B → A ∈ V
8 ffn ⊢ f : A ⟶ B → f Fn A
9 fnrndomg ⊢ A ∈ V → f Fn A → ran ⁡ f ≼ A
10 7 8 9 sylc ⊢ f : A ⟶ B → ran ⁡ f ≼ A
11 10 adantr ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → ran ⁡ f ≼ A
12 frn ⊢ f : A ⟶ B → ran ⁡ f ⊆ B
13 12 adantr ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → ran ⁡ f ⊆ B
14 nfv ⊢ Ⅎ x f : A ⟶ B
15 nfra1 ⊢ Ⅎ x ∀ x ∈ A [˙ f ⁡ x / y]˙ φ
16 14 15 nfan ⊢ Ⅎ x f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ
17 ffun ⊢ f : A ⟶ B → Fun ⁡ f
18 17 adantr ⊢ f : A ⟶ B ∧ x ∈ A → Fun ⁡ f
19 4 eleq2d ⊢ f : A ⟶ B → x ∈ dom ⁡ f ↔ x ∈ A
20 19 biimpar ⊢ f : A ⟶ B ∧ x ∈ A → x ∈ dom ⁡ f
21 fvelrn ⊢ Fun ⁡ f ∧ x ∈ dom ⁡ f → f ⁡ x ∈ ran ⁡ f
22 18 20 21 syl2anc ⊢ f : A ⟶ B ∧ x ∈ A → f ⁡ x ∈ ran ⁡ f
23 22 adantlr ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ ∧ x ∈ A → f ⁡ x ∈ ran ⁡ f
24 rspa ⊢ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ ∧ x ∈ A → [˙ f ⁡ x / y]˙ φ
25 24 adantll ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ ∧ x ∈ A → [˙ f ⁡ x / y]˙ φ
26 rspesbca ⊢ f ⁡ x ∈ ran ⁡ f ∧ [˙ f ⁡ x / y]˙ φ → ∃ y ∈ ran ⁡ f φ
27 23 25 26 syl2anc ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ ∧ x ∈ A → ∃ y ∈ ran ⁡ f φ
28 27 ex ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → x ∈ A → ∃ y ∈ ran ⁡ f φ
29 16 28 ralrimi ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → ∀ x ∈ A ∃ y ∈ ran ⁡ f φ
30 nfv ⊢ Ⅎ y f : A ⟶ B
31 nfcv ⊢ Ⅎ _ y A
32 31 1 nfralw ⊢ Ⅎ y ∀ x ∈ A [˙ f ⁡ x / y]˙ φ
33 30 32 nfan ⊢ Ⅎ y f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ
34 fvelrnb ⊢ f Fn A → y ∈ ran ⁡ f ↔ ∃ x ∈ A f ⁡ x = y
35 8 34 syl ⊢ f : A ⟶ B → y ∈ ran ⁡ f ↔ ∃ x ∈ A f ⁡ x = y
36 35 adantr ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → y ∈ ran ⁡ f ↔ ∃ x ∈ A f ⁡ x = y
37 rsp ⊢ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → x ∈ A → [˙ f ⁡ x / y]˙ φ
38 37 adantl ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → x ∈ A → [˙ f ⁡ x / y]˙ φ
39 2 eqcoms ⊢ f ⁡ x = y → φ ↔ [˙ f ⁡ x / y]˙ φ
40 39 biimprcd ⊢ [˙ f ⁡ x / y]˙ φ → f ⁡ x = y → φ
41 38 40 syl6 ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → x ∈ A → f ⁡ x = y → φ
42 16 41 reximdai ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → ∃ x ∈ A f ⁡ x = y → ∃ x ∈ A φ
43 36 42 sylbid ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → y ∈ ran ⁡ f → ∃ x ∈ A φ
44 33 43 ralrimi ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → ∀ y ∈ ran ⁡ f ∃ x ∈ A φ
45 5 rnex ⊢ ran ⁡ f ∈ V
46 breq1 ⊢ c = ran ⁡ f → c ≼ A ↔ ran ⁡ f ≼ A
47 sseq1 ⊢ c = ran ⁡ f → c ⊆ B ↔ ran ⁡ f ⊆ B
48 46 47 anbi12d ⊢ c = ran ⁡ f → c ≼ A ∧ c ⊆ B ↔ ran ⁡ f ≼ A ∧ ran ⁡ f ⊆ B
49 rexeq ⊢ c = ran ⁡ f → ∃ y ∈ c φ ↔ ∃ y ∈ ran ⁡ f φ
50 49 ralbidv ⊢ c = ran ⁡ f → ∀ x ∈ A ∃ y ∈ c φ ↔ ∀ x ∈ A ∃ y ∈ ran ⁡ f φ
51 raleq ⊢ c = ran ⁡ f → ∀ y ∈ c ∃ x ∈ A φ ↔ ∀ y ∈ ran ⁡ f ∃ x ∈ A φ
52 50 51 anbi12d ⊢ c = ran ⁡ f → ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ ↔ ∀ x ∈ A ∃ y ∈ ran ⁡ f φ ∧ ∀ y ∈ ran ⁡ f ∃ x ∈ A φ
53 48 52 anbi12d ⊢ c = ran ⁡ f → c ≼ A ∧ c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ ↔ ran ⁡ f ≼ A ∧ ran ⁡ f ⊆ B ∧ ∀ x ∈ A ∃ y ∈ ran ⁡ f φ ∧ ∀ y ∈ ran ⁡ f ∃ x ∈ A φ
54 45 53 spcev ⊢ ran ⁡ f ≼ A ∧ ran ⁡ f ⊆ B ∧ ∀ x ∈ A ∃ y ∈ ran ⁡ f φ ∧ ∀ y ∈ ran ⁡ f ∃ x ∈ A φ → ∃ c c ≼ A ∧ c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ
55 11 13 29 44 54 syl22anc ⊢ f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → ∃ c c ≼ A ∧ c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ
56 55 exlimiv ⊢ ∃ f f : A ⟶ B ∧ ∀ x ∈ A [˙ f ⁡ x / y]˙ φ → ∃ c c ≼ A ∧ c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ
57 3 56 syl ⊢ A ∈ M ∧ ∀ x ∈ A ∃ y ∈ B φ → ∃ c c ≼ A ∧ c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ