Metamath Proof Explorer


Theorem dfac5lem5

Description: Lemma for dfac5 . (Contributed by NM, 12-Apr-2004)

Ref Expression
Hypotheses dfac5lem.1 𝐴 = { 𝑢 ∣ ( 𝑢 ≠ ∅ ∧ ∃ 𝑡 𝑢 = ( { 𝑡 } × 𝑡 ) ) }
dfac5lem.2 𝐵 = ( 𝐴𝑦 )
dfac5lem.3 ( 𝜑 ↔ ∀ 𝑥 ( ( ∀ 𝑧𝑥 𝑧 ≠ ∅ ∧ ∀ 𝑧𝑥𝑤𝑥 ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ) → ∃ 𝑦𝑧𝑥 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ) )
Assertion dfac5lem5 ( 𝜑 → ∃ 𝑓𝑤 ( 𝑤 ≠ ∅ → ( 𝑓𝑤 ) ∈ 𝑤 ) )

Proof

Step Hyp Ref Expression
1 dfac5lem.1 𝐴 = { 𝑢 ∣ ( 𝑢 ≠ ∅ ∧ ∃ 𝑡 𝑢 = ( { 𝑡 } × 𝑡 ) ) }
2 dfac5lem.2 𝐵 = ( 𝐴𝑦 )
3 dfac5lem.3 ( 𝜑 ↔ ∀ 𝑥 ( ( ∀ 𝑧𝑥 𝑧 ≠ ∅ ∧ ∀ 𝑧𝑥𝑤𝑥 ( 𝑧𝑤 → ( 𝑧𝑤 ) = ∅ ) ) → ∃ 𝑦𝑧𝑥 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ) )
4 1 2 3 dfac5lem4 ( 𝜑 → ∃ 𝑦𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) )
5 simpr ( ( 𝑤 ≠ ∅ ∧ 𝑤 ) → 𝑤 )
6 5 a1i ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ( ( 𝑤 ≠ ∅ ∧ 𝑤 ) → 𝑤 ) )
7 ineq1 ( 𝑧 = ( { 𝑤 } × 𝑤 ) → ( 𝑧𝑦 ) = ( ( { 𝑤 } × 𝑤 ) ∩ 𝑦 ) )
8 7 eleq2d ( 𝑧 = ( { 𝑤 } × 𝑤 ) → ( 𝑣 ∈ ( 𝑧𝑦 ) ↔ 𝑣 ∈ ( ( { 𝑤 } × 𝑤 ) ∩ 𝑦 ) ) )
9 8 eubidv ( 𝑧 = ( { 𝑤 } × 𝑤 ) → ( ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) ↔ ∃! 𝑣 𝑣 ∈ ( ( { 𝑤 } × 𝑤 ) ∩ 𝑦 ) ) )
10 9 rspccv ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ( ( { 𝑤 } × 𝑤 ) ∈ 𝐴 → ∃! 𝑣 𝑣 ∈ ( ( { 𝑤 } × 𝑤 ) ∩ 𝑦 ) ) )
11 1 dfac5lem3 ( ( { 𝑤 } × 𝑤 ) ∈ 𝐴 ↔ ( 𝑤 ≠ ∅ ∧ 𝑤 ) )
12 dfac5lem1 ( ∃! 𝑣 𝑣 ∈ ( ( { 𝑤 } × 𝑤 ) ∩ 𝑦 ) ↔ ∃! 𝑔 ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) )
13 10 11 12 3imtr3g ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ( ( 𝑤 ≠ ∅ ∧ 𝑤 ) → ∃! 𝑔 ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) )
14 6 13 jcad ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ( ( 𝑤 ≠ ∅ ∧ 𝑤 ) → ( 𝑤 ∧ ∃! 𝑔 ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) ) )
15 2 eleq2i ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵 ↔ ⟨ 𝑤 , 𝑔 ⟩ ∈ ( 𝐴𝑦 ) )
16 elin ( ⟨ 𝑤 , 𝑔 ⟩ ∈ ( 𝐴𝑦 ) ↔ ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐴 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) )
17 1 dfac5lem2 ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐴 ↔ ( 𝑤𝑔𝑤 ) )
18 17 anbi1i ( ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐴 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ↔ ( ( 𝑤𝑔𝑤 ) ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) )
19 anass ( ( ( 𝑤𝑔𝑤 ) ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ↔ ( 𝑤 ∧ ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) )
20 18 19 bitri ( ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐴 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ↔ ( 𝑤 ∧ ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) )
21 15 16 20 3bitri ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵 ↔ ( 𝑤 ∧ ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) )
22 21 eubii ( ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 ↔ ∃! 𝑔 ( 𝑤 ∧ ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) )
23 euanv ( ∃! 𝑔 ( 𝑤 ∧ ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) ↔ ( 𝑤 ∧ ∃! 𝑔 ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) )
24 22 23 bitr2i ( ( 𝑤 ∧ ∃! 𝑔 ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) ) ↔ ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 )
25 14 24 syl6ib ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ( ( 𝑤 ≠ ∅ ∧ 𝑤 ) → ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 ) )
26 euex ( ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 → ∃ 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 )
27 nfeu1 𝑔 ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵
28 nfv 𝑔 ( 𝐵𝑤 ) ∈ 𝑤
29 27 28 nfim 𝑔 ( ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( 𝐵𝑤 ) ∈ 𝑤 )
30 21 simprbi ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( 𝑔𝑤 ∧ ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝑦 ) )
31 30 simpld ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵𝑔𝑤 )
32 tz6.12 ( ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵 ∧ ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 ) → ( 𝐵𝑤 ) = 𝑔 )
33 32 eleq1d ( ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵 ∧ ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 ) → ( ( 𝐵𝑤 ) ∈ 𝑤𝑔𝑤 ) )
34 33 biimparc ( ( 𝑔𝑤 ∧ ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵 ∧ ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 ) ) → ( 𝐵𝑤 ) ∈ 𝑤 )
35 34 exp32 ( 𝑔𝑤 → ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( 𝐵𝑤 ) ∈ 𝑤 ) ) )
36 31 35 mpcom ( ⟨ 𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( 𝐵𝑤 ) ∈ 𝑤 ) )
37 29 36 exlimi ( ∃ 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( 𝐵𝑤 ) ∈ 𝑤 ) )
38 26 37 mpcom ( ∃! 𝑔𝑤 , 𝑔 ⟩ ∈ 𝐵 → ( 𝐵𝑤 ) ∈ 𝑤 )
39 25 38 syl6 ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ( ( 𝑤 ≠ ∅ ∧ 𝑤 ) → ( 𝐵𝑤 ) ∈ 𝑤 ) )
40 39 expcomd ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ( 𝑤 → ( 𝑤 ≠ ∅ → ( 𝐵𝑤 ) ∈ 𝑤 ) ) )
41 40 ralrimiv ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ∀ 𝑤 ( 𝑤 ≠ ∅ → ( 𝐵𝑤 ) ∈ 𝑤 ) )
42 vex 𝑦 ∈ V
43 42 inex2 ( 𝐴𝑦 ) ∈ V
44 2 43 eqeltri 𝐵 ∈ V
45 fveq1 ( 𝑓 = 𝐵 → ( 𝑓𝑤 ) = ( 𝐵𝑤 ) )
46 45 eleq1d ( 𝑓 = 𝐵 → ( ( 𝑓𝑤 ) ∈ 𝑤 ↔ ( 𝐵𝑤 ) ∈ 𝑤 ) )
47 46 imbi2d ( 𝑓 = 𝐵 → ( ( 𝑤 ≠ ∅ → ( 𝑓𝑤 ) ∈ 𝑤 ) ↔ ( 𝑤 ≠ ∅ → ( 𝐵𝑤 ) ∈ 𝑤 ) ) )
48 47 ralbidv ( 𝑓 = 𝐵 → ( ∀ 𝑤 ( 𝑤 ≠ ∅ → ( 𝑓𝑤 ) ∈ 𝑤 ) ↔ ∀ 𝑤 ( 𝑤 ≠ ∅ → ( 𝐵𝑤 ) ∈ 𝑤 ) ) )
49 44 48 spcev ( ∀ 𝑤 ( 𝑤 ≠ ∅ → ( 𝐵𝑤 ) ∈ 𝑤 ) → ∃ 𝑓𝑤 ( 𝑤 ≠ ∅ → ( 𝑓𝑤 ) ∈ 𝑤 ) )
50 41 49 syl ( ∀ 𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ∃ 𝑓𝑤 ( 𝑤 ≠ ∅ → ( 𝑓𝑤 ) ∈ 𝑤 ) )
51 50 exlimiv ( ∃ 𝑦𝑧𝐴 ∃! 𝑣 𝑣 ∈ ( 𝑧𝑦 ) → ∃ 𝑓𝑤 ( 𝑤 ≠ ∅ → ( 𝑓𝑤 ) ∈ 𝑤 ) )
52 4 51 syl ( 𝜑 → ∃ 𝑓𝑤 ( 𝑤 ≠ ∅ → ( 𝑓𝑤 ) ∈ 𝑤 ) )