Metamath Proof Explorer


Theorem indexa

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 . Used to avoid the Axiom of Choice in situations where only the range of the choice function is needed. (Contributed by Jeff Madsen, 2-Sep-2009)

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

Proof

Step Hyp Ref Expression
1 rabexg ⊢ B ∈ M → z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∈ V
2 ssrab2 ⊢ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ⊆ B
3 2 a1i ⊢ ∀ x ∈ A ∃ y ∈ B φ → z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ⊆ B
4 nfv ⊢ Ⅎ y x ∈ A
5 nfre1 ⊢ Ⅎ y ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ
6 sbceq2a ⊢ w = x → [˙w / x]˙ φ ↔ φ
7 6 rspcev ⊢ x ∈ A ∧ φ → ∃ w ∈ A [˙w / x]˙ φ
8 7 ancoms ⊢ φ ∧ x ∈ A → ∃ w ∈ A [˙w / x]˙ φ
9 8 anim1ci ⊢ φ ∧ x ∈ A ∧ y ∈ B → y ∈ B ∧ ∃ w ∈ A [˙w / x]˙ φ
10 9 anasss ⊢ φ ∧ x ∈ A ∧ y ∈ B → y ∈ B ∧ ∃ w ∈ A [˙w / x]˙ φ
11 10 ancoms ⊢ x ∈ A ∧ y ∈ B ∧ φ → y ∈ B ∧ ∃ w ∈ A [˙w / x]˙ φ
12 sbceq2a ⊢ z = y → [˙z / y]˙ φ ↔ φ
13 12 sbcbidv ⊢ z = y → [˙w / x]˙ [˙z / y]˙ φ ↔ [˙w / x]˙ φ
14 13 rexbidv ⊢ z = y → ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ↔ ∃ w ∈ A [˙w / x]˙ φ
15 14 elrab ⊢ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ↔ y ∈ B ∧ ∃ w ∈ A [˙w / x]˙ φ
16 11 15 sylibr ⊢ x ∈ A ∧ y ∈ B ∧ φ → y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ
17 sbceq2a ⊢ v = y → [˙v / y]˙ φ ↔ φ
18 17 rspcev ⊢ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∧ φ → ∃ v ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ [˙v / y]˙ φ
19 16 18 sylancom ⊢ x ∈ A ∧ y ∈ B ∧ φ → ∃ v ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ [˙v / y]˙ φ
20 nfcv ⊢ Ⅎ _ v z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ
21 nfcv ⊢ Ⅎ _ y A
22 nfcv ⊢ Ⅎ _ y w
23 nfsbc1v ⊢ Ⅎ y [˙z / y]˙ φ
24 22 23 nfsbcw ⊢ Ⅎ y [˙w / x]˙ [˙z / y]˙ φ
25 21 24 nfrexw ⊢ Ⅎ y ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ
26 nfcv ⊢ Ⅎ _ y B
27 25 26 nfrabw ⊢ Ⅎ _ y z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ
28 nfsbc1v ⊢ Ⅎ y [˙v / y]˙ φ
29 nfv ⊢ Ⅎ v φ
30 20 27 28 29 17 cbvrexfw ⊢ ∃ v ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ [˙v / y]˙ φ ↔ ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ
31 19 30 sylib ⊢ x ∈ A ∧ y ∈ B ∧ φ → ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ
32 31 exp31 ⊢ x ∈ A → y ∈ B → φ → ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ
33 4 5 32 rexlimd ⊢ x ∈ A → ∃ y ∈ B φ → ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ
34 33 ralimia ⊢ ∀ x ∈ A ∃ y ∈ B φ → ∀ x ∈ A ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ
35 nfsbc1v ⊢ Ⅎ x [˙w / x]˙ φ
36 nfv ⊢ Ⅎ w φ
37 35 36 6 cbvrexw ⊢ ∃ w ∈ A [˙w / x]˙ φ ↔ ∃ x ∈ A φ
38 14 37 bitrdi ⊢ z = y → ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ↔ ∃ x ∈ A φ
39 38 elrab ⊢ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ↔ y ∈ B ∧ ∃ x ∈ A φ
40 39 simprbi ⊢ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ → ∃ x ∈ A φ
41 40 rgen ⊢ ∀ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∃ x ∈ A φ
42 41 a1i ⊢ ∀ x ∈ A ∃ y ∈ B φ → ∀ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∃ x ∈ A φ
43 3 34 42 3jca ⊢ ∀ x ∈ A ∃ y ∈ B φ → z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ⊆ B ∧ ∀ x ∈ A ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ ∧ ∀ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∃ x ∈ A φ
44 sseq1 ⊢ c = z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ → c ⊆ B ↔ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ⊆ B
45 nfcv ⊢ Ⅎ _ x A
46 nfsbc1v ⊢ Ⅎ x [˙w / x]˙ [˙z / y]˙ φ
47 45 46 nfrexw ⊢ Ⅎ x ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ
48 nfcv ⊢ Ⅎ _ x B
49 47 48 nfrabw ⊢ Ⅎ _ x z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ
50 49 nfeq2 ⊢ Ⅎ x c = z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ
51 nfcv ⊢ Ⅎ _ y c
52 51 27 rexeqf ⊢ c = z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ → ∃ y ∈ c φ ↔ ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ
53 50 52 ralbid ⊢ c = z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ → ∀ x ∈ A ∃ y ∈ c φ ↔ ∀ x ∈ A ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ
54 51 27 raleqf ⊢ c = z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ → ∀ y ∈ c ∃ x ∈ A φ ↔ ∀ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∃ x ∈ A φ
55 44 53 54 3anbi123d ⊢ c = z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ → c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ ↔ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ⊆ B ∧ ∀ x ∈ A ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ ∧ ∀ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∃ x ∈ A φ
56 55 spcegv ⊢ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∈ V → z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ⊆ B ∧ ∀ x ∈ A ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ ∧ ∀ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∃ x ∈ A φ → ∃ c c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ
57 56 imp ⊢ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∈ V ∧ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ⊆ B ∧ ∀ x ∈ A ∃ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ φ ∧ ∀ y ∈ z ∈ B | ∃ w ∈ A [˙w / x]˙ [˙z / y]˙ φ ∃ x ∈ A φ → ∃ c c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ
58 1 43 57 syl2an ⊢ B ∈ M ∧ ∀ x ∈ A ∃ y ∈ B φ → ∃ c c ⊆ B ∧ ∀ x ∈ A ∃ y ∈ c φ ∧ ∀ y ∈ c ∃ x ∈ A φ