Metamath Proof Explorer


Theorem aceq3lem

Description: Lemma for dfac3 . (Contributed by NM, 2-Apr-2004) (Revised by Mario Carneiro, 26-Jun-2015)

Ref Expression
Hypothesis aceq3lem.1 𝐹 = ( 𝑤 ∈ dom 𝑦 ↦ ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) )
Assertion aceq3lem ( ∀ 𝑥𝑓𝑧𝑥 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ∃ 𝑓 ( 𝑓𝑦𝑓 Fn dom 𝑦 ) )

Proof

Step Hyp Ref Expression
1 aceq3lem.1 𝐹 = ( 𝑤 ∈ dom 𝑦 ↦ ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) )
2 vex 𝑦 ∈ V
3 2 rnex ran 𝑦 ∈ V
4 3 pwex 𝒫 ran 𝑦 ∈ V
5 raleq ( 𝑥 = 𝒫 ran 𝑦 → ( ∀ 𝑧𝑥 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) ↔ ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) ) )
6 5 exbidv ( 𝑥 = 𝒫 ran 𝑦 → ( ∃ 𝑓𝑧𝑥 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) ↔ ∃ 𝑓𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) ) )
7 4 6 spcv ( ∀ 𝑥𝑓𝑧𝑥 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ∃ 𝑓𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) )
8 df-mpt ( 𝑤 ∈ dom 𝑦 ↦ ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ) = { ⟨ 𝑤 , ⟩ ∣ ( 𝑤 ∈ dom 𝑦 = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ) }
9 1 8 eqtri 𝐹 = { ⟨ 𝑤 , ⟩ ∣ ( 𝑤 ∈ dom 𝑦 = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ) }
10 vex 𝑤 ∈ V
11 10 eldm ( 𝑤 ∈ dom 𝑦 ↔ ∃ 𝑢 𝑤 𝑦 𝑢 )
12 abn0 ( { 𝑢𝑤 𝑦 𝑢 } ≠ ∅ ↔ ∃ 𝑢 𝑤 𝑦 𝑢 )
13 11 12 bitr4i ( 𝑤 ∈ dom 𝑦 ↔ { 𝑢𝑤 𝑦 𝑢 } ≠ ∅ )
14 vex 𝑢 ∈ V
15 10 14 brelrn ( 𝑤 𝑦 𝑢𝑢 ∈ ran 𝑦 )
16 15 abssi { 𝑢𝑤 𝑦 𝑢 } ⊆ ran 𝑦
17 3 16 elpwi2 { 𝑢𝑤 𝑦 𝑢 } ∈ 𝒫 ran 𝑦
18 neeq1 ( 𝑧 = { 𝑢𝑤 𝑦 𝑢 } → ( 𝑧 ≠ ∅ ↔ { 𝑢𝑤 𝑦 𝑢 } ≠ ∅ ) )
19 fveq2 ( 𝑧 = { 𝑢𝑤 𝑦 𝑢 } → ( 𝑓𝑧 ) = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) )
20 id ( 𝑧 = { 𝑢𝑤 𝑦 𝑢 } → 𝑧 = { 𝑢𝑤 𝑦 𝑢 } )
21 19 20 eleq12d ( 𝑧 = { 𝑢𝑤 𝑦 𝑢 } → ( ( 𝑓𝑧 ) ∈ 𝑧 ↔ ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ∈ { 𝑢𝑤 𝑦 𝑢 } ) )
22 18 21 imbi12d ( 𝑧 = { 𝑢𝑤 𝑦 𝑢 } → ( ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) ↔ ( { 𝑢𝑤 𝑦 𝑢 } ≠ ∅ → ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ∈ { 𝑢𝑤 𝑦 𝑢 } ) ) )
23 22 rspcv ( { 𝑢𝑤 𝑦 𝑢 } ∈ 𝒫 ran 𝑦 → ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ( { 𝑢𝑤 𝑦 𝑢 } ≠ ∅ → ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ∈ { 𝑢𝑤 𝑦 𝑢 } ) ) )
24 17 23 ax-mp ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ( { 𝑢𝑤 𝑦 𝑢 } ≠ ∅ → ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ∈ { 𝑢𝑤 𝑦 𝑢 } ) )
25 13 24 syl5bi ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ( 𝑤 ∈ dom 𝑦 → ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ∈ { 𝑢𝑤 𝑦 𝑢 } ) )
26 25 imp ( ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) ∧ 𝑤 ∈ dom 𝑦 ) → ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ∈ { 𝑢𝑤 𝑦 𝑢 } )
27 fvex ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ∈ V
28 breq2 ( 𝑧 = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) → ( 𝑤 𝑦 𝑧𝑤 𝑦 ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ) )
29 breq2 ( 𝑢 = 𝑧 → ( 𝑤 𝑦 𝑢𝑤 𝑦 𝑧 ) )
30 29 cbvabv { 𝑢𝑤 𝑦 𝑢 } = { 𝑧𝑤 𝑦 𝑧 }
31 27 28 30 elab2 ( ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ∈ { 𝑢𝑤 𝑦 𝑢 } ↔ 𝑤 𝑦 ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) )
32 26 31 sylib ( ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) ∧ 𝑤 ∈ dom 𝑦 ) → 𝑤 𝑦 ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) )
33 breq2 ( = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) → ( 𝑤 𝑦 𝑤 𝑦 ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ) )
34 32 33 syl5ibrcom ( ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) ∧ 𝑤 ∈ dom 𝑦 ) → ( = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) → 𝑤 𝑦 ) )
35 34 expimpd ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ( ( 𝑤 ∈ dom 𝑦 = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ) → 𝑤 𝑦 ) )
36 35 ssopab2dv ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → { ⟨ 𝑤 , ⟩ ∣ ( 𝑤 ∈ dom 𝑦 = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ) } ⊆ { ⟨ 𝑤 , ⟩ ∣ 𝑤 𝑦 } )
37 opabss { ⟨ 𝑤 , ⟩ ∣ 𝑤 𝑦 } ⊆ 𝑦
38 36 37 sstrdi ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → { ⟨ 𝑤 , ⟩ ∣ ( 𝑤 ∈ dom 𝑦 = ( 𝑓 ‘ { 𝑢𝑤 𝑦 𝑢 } ) ) } ⊆ 𝑦 )
39 9 38 eqsstrid ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → 𝐹𝑦 )
40 27 1 fnmpti 𝐹 Fn dom 𝑦
41 2 ssex ( 𝐹𝑦𝐹 ∈ V )
42 41 adantr ( ( 𝐹𝑦𝐹 Fn dom 𝑦 ) → 𝐹 ∈ V )
43 sseq1 ( 𝑔 = 𝐹 → ( 𝑔𝑦𝐹𝑦 ) )
44 fneq1 ( 𝑔 = 𝐹 → ( 𝑔 Fn dom 𝑦𝐹 Fn dom 𝑦 ) )
45 43 44 anbi12d ( 𝑔 = 𝐹 → ( ( 𝑔𝑦𝑔 Fn dom 𝑦 ) ↔ ( 𝐹𝑦𝐹 Fn dom 𝑦 ) ) )
46 45 spcegv ( 𝐹 ∈ V → ( ( 𝐹𝑦𝐹 Fn dom 𝑦 ) → ∃ 𝑔 ( 𝑔𝑦𝑔 Fn dom 𝑦 ) ) )
47 42 46 mpcom ( ( 𝐹𝑦𝐹 Fn dom 𝑦 ) → ∃ 𝑔 ( 𝑔𝑦𝑔 Fn dom 𝑦 ) )
48 39 40 47 sylancl ( ∀ 𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ∃ 𝑔 ( 𝑔𝑦𝑔 Fn dom 𝑦 ) )
49 48 exlimiv ( ∃ 𝑓𝑧 ∈ 𝒫 ran 𝑦 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ∃ 𝑔 ( 𝑔𝑦𝑔 Fn dom 𝑦 ) )
50 7 49 syl ( ∀ 𝑥𝑓𝑧𝑥 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ∃ 𝑔 ( 𝑔𝑦𝑔 Fn dom 𝑦 ) )
51 sseq1 ( 𝑔 = 𝑓 → ( 𝑔𝑦𝑓𝑦 ) )
52 fneq1 ( 𝑔 = 𝑓 → ( 𝑔 Fn dom 𝑦𝑓 Fn dom 𝑦 ) )
53 51 52 anbi12d ( 𝑔 = 𝑓 → ( ( 𝑔𝑦𝑔 Fn dom 𝑦 ) ↔ ( 𝑓𝑦𝑓 Fn dom 𝑦 ) ) )
54 53 cbvexvw ( ∃ 𝑔 ( 𝑔𝑦𝑔 Fn dom 𝑦 ) ↔ ∃ 𝑓 ( 𝑓𝑦𝑓 Fn dom 𝑦 ) )
55 50 54 sylib ( ∀ 𝑥𝑓𝑧𝑥 ( 𝑧 ≠ ∅ → ( 𝑓𝑧 ) ∈ 𝑧 ) → ∃ 𝑓 ( 𝑓𝑦𝑓 Fn dom 𝑦 ) )