Metamath Proof Explorer


Theorem dfac21

Description: Tychonoff's theorem is a choice equivalent. Definition AC21 of Schechter p. 461. (Contributed by Stefan O'Rear, 22-Feb-2015) (Revised by Mario Carneiro, 27-Aug-2015)

Ref Expression
Assertion dfac21 ⊢ CHOICE ↔ ∀ f f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp

Proof

Step Hyp Ref Expression
1 vex ⊢ f ∈ V
2 1 dmex ⊢ dom ⁡ f ∈ V
3 2 a1i ⊢ CHOICE ∧ f : dom ⁡ f ⟶ Comp → dom ⁡ f ∈ V
4 simpr ⊢ CHOICE ∧ f : dom ⁡ f ⟶ Comp → f : dom ⁡ f ⟶ Comp
5 fvex ⊢ ∏ 𝑡 ⁡ f ∈ V
6 5 uniex ⊢ ⋃ ∏ 𝑡 ⁡ f ∈ V
7 acufl ⊢ CHOICE → UFL = V
8 7 adantr ⊢ CHOICE ∧ f : dom ⁡ f ⟶ Comp → UFL = V
9 6 8 eleqtrrid ⊢ CHOICE ∧ f : dom ⁡ f ⟶ Comp → ⋃ ∏ 𝑡 ⁡ f ∈ UFL
10 dfac10 ⊢ CHOICE ↔ dom ⁡ card = V
11 10 birani ⊢ CHOICE ∧ f : dom ⁡ f ⟶ Comp → dom ⁡ card = V
12 6 11 eleqtrrid ⊢ CHOICE ∧ f : dom ⁡ f ⟶ Comp → ⋃ ∏ 𝑡 ⁡ f ∈ dom ⁡ card
13 9 12 elind ⊢ CHOICE ∧ f : dom ⁡ f ⟶ Comp → ⋃ ∏ 𝑡 ⁡ f ∈ UFL ∩ dom ⁡ card
14 eqid ⊢ ∏ 𝑡 ⁡ f = ∏ 𝑡 ⁡ f
15 eqid ⊢ ⋃ ∏ 𝑡 ⁡ f = ⋃ ∏ 𝑡 ⁡ f
16 14 15 ptcmpg ⊢ dom ⁡ f ∈ V ∧ f : dom ⁡ f ⟶ Comp ∧ ⋃ ∏ 𝑡 ⁡ f ∈ UFL ∩ dom ⁡ card → ∏ 𝑡 ⁡ f ∈ Comp
17 3 4 13 16 syl3anc ⊢ CHOICE ∧ f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp
18 17 ex ⊢ CHOICE → f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp
19 18 alrimiv ⊢ CHOICE → ∀ f f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp
20 fvex ⊢ g ⁡ y ∈ V
21 kelac2lem ⊢ g ⁡ y ∈ V → topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp
22 20 21 mp1i ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ y ∈ dom ⁡ g → topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp
23 22 fmpttd ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g → y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y : dom ⁡ g ⟶ Comp
24 23 ffdmd ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g → y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y : dom ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ⟶ Comp
25 vex ⊢ g ∈ V
26 25 dmex ⊢ dom ⁡ g ∈ V
27 26 mptex ⊢ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ V
28 id ⊢ f = y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y → f = y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y
29 dmeq ⊢ f = y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y → dom ⁡ f = dom ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y
30 28 29 feq12d ⊢ f = y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y → f : dom ⁡ f ⟶ Comp ↔ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y : dom ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ⟶ Comp
31 fveq2 ⊢ f = y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y → ∏ 𝑡 ⁡ f = ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y
32 31 eleq1d ⊢ f = y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y → ∏ 𝑡 ⁡ f ∈ Comp ↔ ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp
33 30 32 imbi12d ⊢ f = y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y → f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp ↔ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y : dom ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ⟶ Comp → ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp
34 27 33 spcv ⊢ ∀ f f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp → y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y : dom ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ⟶ Comp → ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp
35 24 34 syl5com ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g → ∀ f f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp → ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp
36 fvex ⊢ g ⁡ x ∈ V
37 36 a1i ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp ∧ x ∈ dom ⁡ g → g ⁡ x ∈ V
38 df-nel ⊢ ∅ ∉ ran ⁡ g ↔ ¬ ∅ ∈ ran ⁡ g
39 38 biimpi ⊢ ∅ ∉ ran ⁡ g → ¬ ∅ ∈ ran ⁡ g
40 39 ad2antlr ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ x ∈ dom ⁡ g → ¬ ∅ ∈ ran ⁡ g
41 fvelrn ⊢ Fun ⁡ g ∧ x ∈ dom ⁡ g → g ⁡ x ∈ ran ⁡ g
42 41 adantlr ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ x ∈ dom ⁡ g → g ⁡ x ∈ ran ⁡ g
43 eleq1 ⊢ g ⁡ x = ∅ → g ⁡ x ∈ ran ⁡ g ↔ ∅ ∈ ran ⁡ g
44 42 43 syl5ibcom ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ x ∈ dom ⁡ g → g ⁡ x = ∅ → ∅ ∈ ran ⁡ g
45 44 necon3bd ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ x ∈ dom ⁡ g → ¬ ∅ ∈ ran ⁡ g → g ⁡ x ≠ ∅
46 40 45 mpd ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ x ∈ dom ⁡ g → g ⁡ x ≠ ∅
47 46 adantlr ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp ∧ x ∈ dom ⁡ g → g ⁡ x ≠ ∅
48 fveq2 ⊢ y = x → g ⁡ y = g ⁡ x
49 48 unieqd ⊢ y = x → ⋃ g ⁡ y = ⋃ g ⁡ x
50 49 pweqd ⊢ y = x → 𝒫 ⋃ g ⁡ y = 𝒫 ⋃ g ⁡ x
51 50 sneqd ⊢ y = x → 𝒫 ⋃ g ⁡ y = 𝒫 ⋃ g ⁡ x
52 48 51 preq12d ⊢ y = x → g ⁡ y 𝒫 ⋃ g ⁡ y = g ⁡ x 𝒫 ⋃ g ⁡ x
53 52 fveq2d ⊢ y = x → topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y = topGen ⁡ g ⁡ x 𝒫 ⋃ g ⁡ x
54 53 cbvmptv ⊢ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y = x ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ x 𝒫 ⋃ g ⁡ x
55 54 fveq2i ⊢ ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y = ∏ 𝑡 ⁡ x ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ x 𝒫 ⋃ g ⁡ x
56 55 eleq1i ⊢ ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp ↔ ∏ 𝑡 ⁡ x ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ x 𝒫 ⋃ g ⁡ x ∈ Comp
57 56 bilani ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp → ∏ 𝑡 ⁡ x ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ x 𝒫 ⋃ g ⁡ x ∈ Comp
58 37 47 57 kelac2 ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g ∧ ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp → ⨉ x ∈ dom ⁡ g g ⁡ x ≠ ∅
59 58 ex ⊢ Fun ⁡ g ∧ ∅ ∉ ran ⁡ g → ∏ 𝑡 ⁡ y ∈ dom ⁡ g ⟼ topGen ⁡ g ⁡ y 𝒫 ⋃ g ⁡ y ∈ Comp → ⨉ x ∈ dom ⁡ g g ⁡ x ≠ ∅
60 35 59 syldc ⊢ ∀ f f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp → Fun ⁡ g ∧ ∅ ∉ ran ⁡ g → ⨉ x ∈ dom ⁡ g g ⁡ x ≠ ∅
61 60 alrimiv ⊢ ∀ f f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp → ∀ g Fun ⁡ g ∧ ∅ ∉ ran ⁡ g → ⨉ x ∈ dom ⁡ g g ⁡ x ≠ ∅
62 dfac9 ⊢ CHOICE ↔ ∀ g Fun ⁡ g ∧ ∅ ∉ ran ⁡ g → ⨉ x ∈ dom ⁡ g g ⁡ x ≠ ∅
63 61 62 sylibr ⊢ ∀ f f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp → CHOICE
64 19 63 impbii ⊢ CHOICE ↔ ∀ f f : dom ⁡ f ⟶ Comp → ∏ 𝑡 ⁡ f ∈ Comp