Metamath Proof Explorer


Theorem locfinref

Description: A locally finite refinement of an open cover induces a locally finite open cover with the original index set. This is fact 2 of http://at.yorku.ca/p/a/c/a/02.pdf , it is expressed by exposing a function f from the original cover U , which is taken as the index set. (Contributed by Thierry Arnoux, 31-Jan-2020)

Ref Expression
Hypotheses locfinref.x 𝑋 = 𝐽
locfinref.1 ( 𝜑𝑈𝐽 )
locfinref.2 ( 𝜑𝑋 = 𝑈 )
locfinref.3 ( 𝜑𝑉𝐽 )
locfinref.4 ( 𝜑𝑉 Ref 𝑈 )
locfinref.5 ( 𝜑𝑉 ∈ ( LocFin ‘ 𝐽 ) )
Assertion locfinref ( 𝜑 → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) )

Proof

Step Hyp Ref Expression
1 locfinref.x 𝑋 = 𝐽
2 locfinref.1 ( 𝜑𝑈𝐽 )
3 locfinref.2 ( 𝜑𝑋 = 𝑈 )
4 locfinref.3 ( 𝜑𝑉𝐽 )
5 locfinref.4 ( 𝜑𝑉 Ref 𝑈 )
6 locfinref.5 ( 𝜑𝑉 ∈ ( LocFin ‘ 𝐽 ) )
7 f0 ∅ : ∅ ⟶ 𝐽
8 simpr ( ( 𝜑𝑈 = ∅ ) → 𝑈 = ∅ )
9 8 feq2d ( ( 𝜑𝑈 = ∅ ) → ( ∅ : 𝑈𝐽 ↔ ∅ : ∅ ⟶ 𝐽 ) )
10 7 9 mpbiri ( ( 𝜑𝑈 = ∅ ) → ∅ : 𝑈𝐽 )
11 rn0 ran ∅ = ∅
12 0ex ∅ ∈ V
13 refref ( ∅ ∈ V → ∅ Ref ∅ )
14 12 13 ax-mp ∅ Ref ∅
15 11 14 eqbrtri ran ∅ Ref ∅
16 15 8 breqtrrid ( ( 𝜑𝑈 = ∅ ) → ran ∅ Ref 𝑈 )
17 sn0top { ∅ } ∈ Top
18 17 a1i ( ( 𝜑𝑈 = ∅ ) → { ∅ } ∈ Top )
19 eqidd ( ( 𝜑𝑈 = ∅ ) → ∅ = ∅ )
20 ral0 𝑥 ∈ ∅ ∃ 𝑛 ∈ { ∅ } ( 𝑥𝑛 ∧ { 𝑠 ∈ ran ∅ ∣ ( 𝑠𝑛 ) ≠ ∅ } ∈ Fin )
21 20 a1i ( ( 𝜑𝑈 = ∅ ) → ∀ 𝑥 ∈ ∅ ∃ 𝑛 ∈ { ∅ } ( 𝑥𝑛 ∧ { 𝑠 ∈ ran ∅ ∣ ( 𝑠𝑛 ) ≠ ∅ } ∈ Fin ) )
22 12 unisn { ∅ } = ∅
23 22 eqcomi ∅ = { ∅ }
24 11 unieqi ran ∅ =
25 uni0 ∅ = ∅
26 24 25 eqtr2i ∅ = ran ∅
27 23 26 islocfin ( ran ∅ ∈ ( LocFin ‘ { ∅ } ) ↔ ( { ∅ } ∈ Top ∧ ∅ = ∅ ∧ ∀ 𝑥 ∈ ∅ ∃ 𝑛 ∈ { ∅ } ( 𝑥𝑛 ∧ { 𝑠 ∈ ran ∅ ∣ ( 𝑠𝑛 ) ≠ ∅ } ∈ Fin ) ) )
28 18 19 21 27 syl3anbrc ( ( 𝜑𝑈 = ∅ ) → ran ∅ ∈ ( LocFin ‘ { ∅ } ) )
29 3 adantr ( ( 𝜑𝑈 = ∅ ) → 𝑋 = 𝑈 )
30 8 unieqd ( ( 𝜑𝑈 = ∅ ) → 𝑈 = ∅ )
31 29 30 eqtrd ( ( 𝜑𝑈 = ∅ ) → 𝑋 = ∅ )
32 31 1 25 3eqtr3g ( ( 𝜑𝑈 = ∅ ) → 𝐽 = ∅ )
33 locfintop ( 𝑉 ∈ ( LocFin ‘ 𝐽 ) → 𝐽 ∈ Top )
34 0top ( 𝐽 ∈ Top → ( 𝐽 = ∅ ↔ 𝐽 = { ∅ } ) )
35 6 33 34 3syl ( 𝜑 → ( 𝐽 = ∅ ↔ 𝐽 = { ∅ } ) )
36 35 adantr ( ( 𝜑𝑈 = ∅ ) → ( 𝐽 = ∅ ↔ 𝐽 = { ∅ } ) )
37 32 36 mpbid ( ( 𝜑𝑈 = ∅ ) → 𝐽 = { ∅ } )
38 37 fveq2d ( ( 𝜑𝑈 = ∅ ) → ( LocFin ‘ 𝐽 ) = ( LocFin ‘ { ∅ } ) )
39 28 38 eleqtrrd ( ( 𝜑𝑈 = ∅ ) → ran ∅ ∈ ( LocFin ‘ 𝐽 ) )
40 feq1 ( 𝑓 = ∅ → ( 𝑓 : 𝑈𝐽 ↔ ∅ : 𝑈𝐽 ) )
41 rneq ( 𝑓 = ∅ → ran 𝑓 = ran ∅ )
42 41 breq1d ( 𝑓 = ∅ → ( ran 𝑓 Ref 𝑈 ↔ ran ∅ Ref 𝑈 ) )
43 41 eleq1d ( 𝑓 = ∅ → ( ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ↔ ran ∅ ∈ ( LocFin ‘ 𝐽 ) ) )
44 40 42 43 3anbi123d ( 𝑓 = ∅ → ( ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) ↔ ( ∅ : 𝑈𝐽 ∧ ran ∅ Ref 𝑈 ∧ ran ∅ ∈ ( LocFin ‘ 𝐽 ) ) ) )
45 12 44 spcev ( ( ∅ : 𝑈𝐽 ∧ ran ∅ Ref 𝑈 ∧ ran ∅ ∈ ( LocFin ‘ 𝐽 ) ) → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) )
46 10 16 39 45 syl3anc ( ( 𝜑𝑈 = ∅ ) → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) )
47 1 2 3 4 5 6 locfinreflem ( 𝜑 → ∃ 𝑔 ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) )
48 47 adantr ( ( 𝜑𝑈 ≠ ∅ ) → ∃ 𝑔 ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) )
49 simpl ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( 𝜑𝑈 ≠ ∅ ) )
50 simprl1 ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → Fun 𝑔 )
51 fdmrn ( Fun 𝑔𝑔 : dom 𝑔 ⟶ ran 𝑔 )
52 50 51 sylib ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → 𝑔 : dom 𝑔 ⟶ ran 𝑔 )
53 simprl3 ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ran 𝑔𝐽 )
54 52 53 fssd ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → 𝑔 : dom 𝑔𝐽 )
55 fconstg ( ∅ ∈ V → ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) : ( 𝑈 ∖ dom 𝑔 ) ⟶ { ∅ } )
56 12 55 mp1i ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) : ( 𝑈 ∖ dom 𝑔 ) ⟶ { ∅ } )
57 0opn ( 𝐽 ∈ Top → ∅ ∈ 𝐽 )
58 6 33 57 3syl ( 𝜑 → ∅ ∈ 𝐽 )
59 58 ad2antrr ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ∅ ∈ 𝐽 )
60 59 snssd ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → { ∅ } ⊆ 𝐽 )
61 56 60 fssd ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) : ( 𝑈 ∖ dom 𝑔 ) ⟶ 𝐽 )
62 disjdif ( dom 𝑔 ∩ ( 𝑈 ∖ dom 𝑔 ) ) = ∅
63 62 a1i ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( dom 𝑔 ∩ ( 𝑈 ∖ dom 𝑔 ) ) = ∅ )
64 fun2 ( ( ( 𝑔 : dom 𝑔𝐽 ∧ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) : ( 𝑈 ∖ dom 𝑔 ) ⟶ 𝐽 ) ∧ ( dom 𝑔 ∩ ( 𝑈 ∖ dom 𝑔 ) ) = ∅ ) → ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : ( dom 𝑔 ∪ ( 𝑈 ∖ dom 𝑔 ) ) ⟶ 𝐽 )
65 54 61 63 64 syl21anc ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : ( dom 𝑔 ∪ ( 𝑈 ∖ dom 𝑔 ) ) ⟶ 𝐽 )
66 simprl2 ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → dom 𝑔𝑈 )
67 undif ( dom 𝑔𝑈 ↔ ( dom 𝑔 ∪ ( 𝑈 ∖ dom 𝑔 ) ) = 𝑈 )
68 66 67 sylib ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( dom 𝑔 ∪ ( 𝑈 ∖ dom 𝑔 ) ) = 𝑈 )
69 68 feq2d ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : ( dom 𝑔 ∪ ( 𝑈 ∖ dom 𝑔 ) ) ⟶ 𝐽 ↔ ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : 𝑈𝐽 ) )
70 65 69 mpbid ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : 𝑈𝐽 )
71 simpr ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 ) → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 )
72 simprrl ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ran 𝑔 Ref 𝑈 )
73 72 adantr ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 ) → ran 𝑔 Ref 𝑈 )
74 71 73 eqbrtrd ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 ) → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) Ref 𝑈 )
75 simpr ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) )
76 49 simprd ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → 𝑈 ≠ ∅ )
77 refun0 ( ( ran 𝑔 Ref 𝑈𝑈 ≠ ∅ ) → ( ran 𝑔 ∪ { ∅ } ) Ref 𝑈 )
78 72 76 77 syl2anc ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( ran 𝑔 ∪ { ∅ } ) Ref 𝑈 )
79 78 adantr ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → ( ran 𝑔 ∪ { ∅ } ) Ref 𝑈 )
80 75 79 eqbrtrd ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) Ref 𝑈 )
81 rnxpss ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ⊆ { ∅ }
82 sssn ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ⊆ { ∅ } ↔ ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = ∅ ∨ ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = { ∅ } ) )
83 81 82 mpbi ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = ∅ ∨ ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = { ∅ } )
84 rnun ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) )
85 uneq2 ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = ∅ → ( ran 𝑔 ∪ ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ ∅ ) )
86 84 85 syl5eq ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = ∅ → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ ∅ ) )
87 un0 ( ran 𝑔 ∪ ∅ ) = ran 𝑔
88 86 87 eqtrdi ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = ∅ → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 )
89 uneq2 ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = { ∅ } → ( ran 𝑔 ∪ ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) )
90 84 89 syl5eq ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = { ∅ } → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) )
91 88 90 orim12i ( ( ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = ∅ ∨ ran ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) = { ∅ } ) → ( ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 ∨ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) )
92 83 91 mp1i ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ( ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 ∨ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) )
93 74 80 92 mpjaodan ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) Ref 𝑈 )
94 simprrr ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) )
95 94 adantr ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 ) → ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) )
96 71 95 eqeltrd ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ran 𝑔 ) → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ ( LocFin ‘ 𝐽 ) )
97 94 adantr ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) )
98 snfi { ∅ } ∈ Fin
99 98 a1i ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → { ∅ } ∈ Fin )
100 59 adantr ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → ∅ ∈ 𝐽 )
101 100 snssd ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → { ∅ } ⊆ 𝐽 )
102 101 unissd ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → { ∅ } ⊆ 𝐽 )
103 lfinun ( ( ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ∧ { ∅ } ∈ Fin ∧ { ∅ } ⊆ 𝐽 ) → ( ran 𝑔 ∪ { ∅ } ) ∈ ( LocFin ‘ 𝐽 ) )
104 97 99 102 103 syl3anc ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → ( ran 𝑔 ∪ { ∅ } ) ∈ ( LocFin ‘ 𝐽 ) )
105 75 104 eqeltrd ( ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) = ( ran 𝑔 ∪ { ∅ } ) ) → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ ( LocFin ‘ 𝐽 ) )
106 96 105 92 mpjaodan ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ ( LocFin ‘ 𝐽 ) )
107 refrel Rel Ref
108 107 brrelex2i ( 𝑉 Ref 𝑈𝑈 ∈ V )
109 difexg ( 𝑈 ∈ V → ( 𝑈 ∖ dom 𝑔 ) ∈ V )
110 5 108 109 3syl ( 𝜑 → ( 𝑈 ∖ dom 𝑔 ) ∈ V )
111 110 adantr ( ( 𝜑𝑈 ≠ ∅ ) → ( 𝑈 ∖ dom 𝑔 ) ∈ V )
112 p0ex { ∅ } ∈ V
113 xpexg ( ( ( 𝑈 ∖ dom 𝑔 ) ∈ V ∧ { ∅ } ∈ V ) → ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ∈ V )
114 112 113 mpan2 ( ( 𝑈 ∖ dom 𝑔 ) ∈ V → ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ∈ V )
115 vex 𝑔 ∈ V
116 unexg ( ( 𝑔 ∈ V ∧ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ∈ V ) → ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ V )
117 115 116 mpan ( ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ∈ V → ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ V )
118 feq1 ( 𝑓 = ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) → ( 𝑓 : 𝑈𝐽 ↔ ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : 𝑈𝐽 ) )
119 rneq ( 𝑓 = ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) → ran 𝑓 = ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) )
120 119 breq1d ( 𝑓 = ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) → ( ran 𝑓 Ref 𝑈 ↔ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) Ref 𝑈 ) )
121 119 eleq1d ( 𝑓 = ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) → ( ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ↔ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ ( LocFin ‘ 𝐽 ) ) )
122 118 120 121 3anbi123d ( 𝑓 = ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) → ( ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) ↔ ( ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : 𝑈𝐽 ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) Ref 𝑈 ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ ( LocFin ‘ 𝐽 ) ) ) )
123 122 spcegv ( ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ V → ( ( ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : 𝑈𝐽 ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) Ref 𝑈 ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ ( LocFin ‘ 𝐽 ) ) → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) ) )
124 111 114 117 123 4syl ( ( 𝜑𝑈 ≠ ∅ ) → ( ( ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : 𝑈𝐽 ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) Ref 𝑈 ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ ( LocFin ‘ 𝐽 ) ) → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) ) )
125 124 imp ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) : 𝑈𝐽 ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) Ref 𝑈 ∧ ran ( 𝑔 ∪ ( ( 𝑈 ∖ dom 𝑔 ) × { ∅ } ) ) ∈ ( LocFin ‘ 𝐽 ) ) ) → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) )
126 49 70 93 106 125 syl13anc ( ( ( 𝜑𝑈 ≠ ∅ ) ∧ ( ( Fun 𝑔 ∧ dom 𝑔𝑈 ∧ ran 𝑔𝐽 ) ∧ ( ran 𝑔 Ref 𝑈 ∧ ran 𝑔 ∈ ( LocFin ‘ 𝐽 ) ) ) ) → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) )
127 48 126 exlimddv ( ( 𝜑𝑈 ≠ ∅ ) → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) )
128 46 127 pm2.61dane ( 𝜑 → ∃ 𝑓 ( 𝑓 : 𝑈𝐽 ∧ ran 𝑓 Ref 𝑈 ∧ ran 𝑓 ∈ ( LocFin ‘ 𝐽 ) ) )