Metamath Proof Explorer


Theorem eldm3

Description: Quantifier-free definition of membership in a domain. (Contributed by Scott Fenton, 21-Jan-2017)

Ref Expression
Assertion eldm3 ( 𝐴 ∈ dom 𝐵 ↔ ( 𝐵 ↾ { 𝐴 } ) ≠ ∅ )

Proof

Step Hyp Ref Expression
1 elex ( 𝐴 ∈ dom 𝐵𝐴 ∈ V )
2 snprc ( ¬ 𝐴 ∈ V ↔ { 𝐴 } = ∅ )
3 reseq2 ( { 𝐴 } = ∅ → ( 𝐵 ↾ { 𝐴 } ) = ( 𝐵 ↾ ∅ ) )
4 res0 ( 𝐵 ↾ ∅ ) = ∅
5 3 4 eqtrdi ( { 𝐴 } = ∅ → ( 𝐵 ↾ { 𝐴 } ) = ∅ )
6 2 5 sylbi ( ¬ 𝐴 ∈ V → ( 𝐵 ↾ { 𝐴 } ) = ∅ )
7 6 necon1ai ( ( 𝐵 ↾ { 𝐴 } ) ≠ ∅ → 𝐴 ∈ V )
8 eleq1 ( 𝑥 = 𝐴 → ( 𝑥 ∈ dom 𝐵𝐴 ∈ dom 𝐵 ) )
9 sneq ( 𝑥 = 𝐴 → { 𝑥 } = { 𝐴 } )
10 9 reseq2d ( 𝑥 = 𝐴 → ( 𝐵 ↾ { 𝑥 } ) = ( 𝐵 ↾ { 𝐴 } ) )
11 10 neeq1d ( 𝑥 = 𝐴 → ( ( 𝐵 ↾ { 𝑥 } ) ≠ ∅ ↔ ( 𝐵 ↾ { 𝐴 } ) ≠ ∅ ) )
12 dfclel ( ⟨ 𝑥 , 𝑦 ⟩ ∈ 𝐵 ↔ ∃ 𝑝 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) )
13 12 exbii ( ∃ 𝑦𝑥 , 𝑦 ⟩ ∈ 𝐵 ↔ ∃ 𝑦𝑝 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) )
14 vex 𝑥 ∈ V
15 14 eldm2 ( 𝑥 ∈ dom 𝐵 ↔ ∃ 𝑦𝑥 , 𝑦 ⟩ ∈ 𝐵 )
16 n0 ( ( 𝐵 ↾ { 𝑥 } ) ≠ ∅ ↔ ∃ 𝑝 𝑝 ∈ ( 𝐵 ↾ { 𝑥 } ) )
17 elres ( 𝑝 ∈ ( 𝐵 ↾ { 𝑥 } ) ↔ ∃ 𝑧 ∈ { 𝑥 } ∃ 𝑦 ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ ∧ ⟨ 𝑧 , 𝑦 ⟩ ∈ 𝐵 ) )
18 eleq1 ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ → ( 𝑝𝐵 ↔ ⟨ 𝑧 , 𝑦 ⟩ ∈ 𝐵 ) )
19 18 pm5.32i ( ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ ∧ 𝑝𝐵 ) ↔ ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ ∧ ⟨ 𝑧 , 𝑦 ⟩ ∈ 𝐵 ) )
20 opeq1 ( 𝑧 = 𝑥 → ⟨ 𝑧 , 𝑦 ⟩ = ⟨ 𝑥 , 𝑦 ⟩ )
21 20 eqeq2d ( 𝑧 = 𝑥 → ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ ↔ 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ) )
22 21 anbi1d ( 𝑧 = 𝑥 → ( ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ ∧ 𝑝𝐵 ) ↔ ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) ) )
23 19 22 bitr3id ( 𝑧 = 𝑥 → ( ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ ∧ ⟨ 𝑧 , 𝑦 ⟩ ∈ 𝐵 ) ↔ ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) ) )
24 23 exbidv ( 𝑧 = 𝑥 → ( ∃ 𝑦 ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ ∧ ⟨ 𝑧 , 𝑦 ⟩ ∈ 𝐵 ) ↔ ∃ 𝑦 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) ) )
25 14 24 rexsn ( ∃ 𝑧 ∈ { 𝑥 } ∃ 𝑦 ( 𝑝 = ⟨ 𝑧 , 𝑦 ⟩ ∧ ⟨ 𝑧 , 𝑦 ⟩ ∈ 𝐵 ) ↔ ∃ 𝑦 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) )
26 17 25 bitri ( 𝑝 ∈ ( 𝐵 ↾ { 𝑥 } ) ↔ ∃ 𝑦 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) )
27 26 exbii ( ∃ 𝑝 𝑝 ∈ ( 𝐵 ↾ { 𝑥 } ) ↔ ∃ 𝑝𝑦 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) )
28 excom ( ∃ 𝑝𝑦 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) ↔ ∃ 𝑦𝑝 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) )
29 16 27 28 3bitri ( ( 𝐵 ↾ { 𝑥 } ) ≠ ∅ ↔ ∃ 𝑦𝑝 ( 𝑝 = ⟨ 𝑥 , 𝑦 ⟩ ∧ 𝑝𝐵 ) )
30 13 15 29 3bitr4i ( 𝑥 ∈ dom 𝐵 ↔ ( 𝐵 ↾ { 𝑥 } ) ≠ ∅ )
31 8 11 30 vtoclbg ( 𝐴 ∈ V → ( 𝐴 ∈ dom 𝐵 ↔ ( 𝐵 ↾ { 𝐴 } ) ≠ ∅ ) )
32 1 7 31 pm5.21nii ( 𝐴 ∈ dom 𝐵 ↔ ( 𝐵 ↾ { 𝐴 } ) ≠ ∅ )