Metamath Proof Explorer


Theorem funcnvuni

Description: The union of a chain (with respect to inclusion) of single-rooted sets is single-rooted. (See funcnv for "single-rooted" definition.) (Contributed by NM, 11-Aug-2004)

Ref Expression
Assertion funcnvuni ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → Fun 𝐴 )

Proof

Step Hyp Ref Expression
1 cnveq ( 𝑥 = 𝑣 𝑥 = 𝑣 )
2 1 eqeq2d ( 𝑥 = 𝑣 → ( 𝑧 = 𝑥𝑧 = 𝑣 ) )
3 2 cbvrexvw ( ∃ 𝑥𝐴 𝑧 = 𝑥 ↔ ∃ 𝑣𝐴 𝑧 = 𝑣 )
4 cnveq ( 𝑓 = 𝑣 𝑓 = 𝑣 )
5 4 funeqd ( 𝑓 = 𝑣 → ( Fun 𝑓 ↔ Fun 𝑣 ) )
6 sseq1 ( 𝑓 = 𝑣 → ( 𝑓𝑔𝑣𝑔 ) )
7 sseq2 ( 𝑓 = 𝑣 → ( 𝑔𝑓𝑔𝑣 ) )
8 6 7 orbi12d ( 𝑓 = 𝑣 → ( ( 𝑓𝑔𝑔𝑓 ) ↔ ( 𝑣𝑔𝑔𝑣 ) ) )
9 8 ralbidv ( 𝑓 = 𝑣 → ( ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ↔ ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) ) )
10 5 9 anbi12d ( 𝑓 = 𝑣 → ( ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) ↔ ( Fun 𝑣 ∧ ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) ) ) )
11 10 rspcv ( 𝑣𝐴 → ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → ( Fun 𝑣 ∧ ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) ) ) )
12 funeq ( 𝑧 = 𝑣 → ( Fun 𝑧 ↔ Fun 𝑣 ) )
13 12 biimprcd ( Fun 𝑣 → ( 𝑧 = 𝑣 → Fun 𝑧 ) )
14 sseq2 ( 𝑔 = 𝑥 → ( 𝑣𝑔𝑣𝑥 ) )
15 sseq1 ( 𝑔 = 𝑥 → ( 𝑔𝑣𝑥𝑣 ) )
16 14 15 orbi12d ( 𝑔 = 𝑥 → ( ( 𝑣𝑔𝑔𝑣 ) ↔ ( 𝑣𝑥𝑥𝑣 ) ) )
17 16 rspcv ( 𝑥𝐴 → ( ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) → ( 𝑣𝑥𝑥𝑣 ) ) )
18 cnvss ( 𝑣𝑥 𝑣 𝑥 )
19 cnvss ( 𝑥𝑣 𝑥 𝑣 )
20 18 19 orim12i ( ( 𝑣𝑥𝑥𝑣 ) → ( 𝑣 𝑥 𝑥 𝑣 ) )
21 sseq12 ( ( 𝑧 = 𝑣𝑤 = 𝑥 ) → ( 𝑧𝑤 𝑣 𝑥 ) )
22 21 ancoms ( ( 𝑤 = 𝑥𝑧 = 𝑣 ) → ( 𝑧𝑤 𝑣 𝑥 ) )
23 sseq12 ( ( 𝑤 = 𝑥𝑧 = 𝑣 ) → ( 𝑤𝑧 𝑥 𝑣 ) )
24 22 23 orbi12d ( ( 𝑤 = 𝑥𝑧 = 𝑣 ) → ( ( 𝑧𝑤𝑤𝑧 ) ↔ ( 𝑣 𝑥 𝑥 𝑣 ) ) )
25 20 24 syl5ibrcom ( ( 𝑣𝑥𝑥𝑣 ) → ( ( 𝑤 = 𝑥𝑧 = 𝑣 ) → ( 𝑧𝑤𝑤𝑧 ) ) )
26 25 expd ( ( 𝑣𝑥𝑥𝑣 ) → ( 𝑤 = 𝑥 → ( 𝑧 = 𝑣 → ( 𝑧𝑤𝑤𝑧 ) ) ) )
27 17 26 syl6com ( ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) → ( 𝑥𝐴 → ( 𝑤 = 𝑥 → ( 𝑧 = 𝑣 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) )
28 27 rexlimdv ( ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) → ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧 = 𝑣 → ( 𝑧𝑤𝑤𝑧 ) ) ) )
29 28 com23 ( ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) → ( 𝑧 = 𝑣 → ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) )
30 29 alrimdv ( ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) → ( 𝑧 = 𝑣 → ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) )
31 13 30 anim12ii ( ( Fun 𝑣 ∧ ∀ 𝑔𝐴 ( 𝑣𝑔𝑔𝑣 ) ) → ( 𝑧 = 𝑣 → ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) )
32 11 31 syl6com ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → ( 𝑣𝐴 → ( 𝑧 = 𝑣 → ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) ) )
33 32 rexlimdv ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → ( ∃ 𝑣𝐴 𝑧 = 𝑣 → ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) )
34 3 33 syl5bi ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → ( ∃ 𝑥𝐴 𝑧 = 𝑥 → ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) )
35 34 alrimiv ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → ∀ 𝑧 ( ∃ 𝑥𝐴 𝑧 = 𝑥 → ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) )
36 df-ral ( ∀ 𝑧 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( Fun 𝑧 ∧ ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ) ↔ ∀ 𝑧 ( 𝑧 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } → ( Fun 𝑧 ∧ ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ) ) )
37 vex 𝑧 ∈ V
38 eqeq1 ( 𝑦 = 𝑧 → ( 𝑦 = 𝑥𝑧 = 𝑥 ) )
39 38 rexbidv ( 𝑦 = 𝑧 → ( ∃ 𝑥𝐴 𝑦 = 𝑥 ↔ ∃ 𝑥𝐴 𝑧 = 𝑥 ) )
40 37 39 elab ( 𝑧 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ↔ ∃ 𝑥𝐴 𝑧 = 𝑥 )
41 eqeq1 ( 𝑦 = 𝑤 → ( 𝑦 = 𝑥𝑤 = 𝑥 ) )
42 41 rexbidv ( 𝑦 = 𝑤 → ( ∃ 𝑥𝐴 𝑦 = 𝑥 ↔ ∃ 𝑥𝐴 𝑤 = 𝑥 ) )
43 42 ralab ( ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ↔ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) )
44 43 anbi2i ( ( Fun 𝑧 ∧ ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ) ↔ ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) )
45 40 44 imbi12i ( ( 𝑧 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } → ( Fun 𝑧 ∧ ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ) ) ↔ ( ∃ 𝑥𝐴 𝑧 = 𝑥 → ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) )
46 45 albii ( ∀ 𝑧 ( 𝑧 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } → ( Fun 𝑧 ∧ ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ) ) ↔ ∀ 𝑧 ( ∃ 𝑥𝐴 𝑧 = 𝑥 → ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) )
47 36 46 bitr2i ( ∀ 𝑧 ( ∃ 𝑥𝐴 𝑧 = 𝑥 → ( Fun 𝑧 ∧ ∀ 𝑤 ( ∃ 𝑥𝐴 𝑤 = 𝑥 → ( 𝑧𝑤𝑤𝑧 ) ) ) ) ↔ ∀ 𝑧 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( Fun 𝑧 ∧ ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ) )
48 35 47 sylib ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → ∀ 𝑧 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( Fun 𝑧 ∧ ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ) )
49 fununi ( ∀ 𝑧 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( Fun 𝑧 ∧ ∀ 𝑤 ∈ { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } ( 𝑧𝑤𝑤𝑧 ) ) → Fun { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } )
50 48 49 syl ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → Fun { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } )
51 cnvuni 𝐴 = 𝑥𝐴 𝑥
52 vex 𝑥 ∈ V
53 52 cnvex 𝑥 ∈ V
54 53 dfiun2 𝑥𝐴 𝑥 = { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 }
55 51 54 eqtri 𝐴 = { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 }
56 55 funeqi ( Fun 𝐴 ↔ Fun { 𝑦 ∣ ∃ 𝑥𝐴 𝑦 = 𝑥 } )
57 50 56 sylibr ( ∀ 𝑓𝐴 ( Fun 𝑓 ∧ ∀ 𝑔𝐴 ( 𝑓𝑔𝑔𝑓 ) ) → Fun 𝐴 )