Metamath Proof Explorer


Theorem disj

Description: Two ways of saying that two classes are disjoint (have no members in common). (Contributed by NM, 17-Feb-2004) Avoid ax-10 , ax-11 , ax-12 . (Revised by Gino Giotto, 28-Jun-2024)

Ref Expression
Assertion disj ( ( 𝐴𝐵 ) = ∅ ↔ ∀ 𝑥𝐴 ¬ 𝑥𝐵 )

Proof

Step Hyp Ref Expression
1 df-in ( 𝐴𝐵 ) = { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) }
2 1 eqeq1i ( ( 𝐴𝐵 ) = ∅ ↔ { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } = ∅ )
3 dfcleq ( ∅ = { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } ↔ ∀ 𝑥 ( 𝑥 ∈ ∅ ↔ 𝑥 ∈ { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } ) )
4 df-clab ( 𝑥 ∈ { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } ↔ [ 𝑥 / 𝑧 ] ( 𝑧𝐴𝑧𝐵 ) )
5 sb6 ( [ 𝑥 / 𝑧 ] ( 𝑧𝐴𝑧𝐵 ) ↔ ∀ 𝑧 ( 𝑧 = 𝑥 → ( 𝑧𝐴𝑧𝐵 ) ) )
6 id ( 𝑧 = 𝑥𝑧 = 𝑥 )
7 eleq1w ( 𝑧 = 𝑥 → ( 𝑧𝐴𝑥𝐴 ) )
8 7 biimpd ( 𝑧 = 𝑥 → ( 𝑧𝐴𝑥𝐴 ) )
9 eleq1w ( 𝑧 = 𝑥 → ( 𝑧𝐵𝑥𝐵 ) )
10 9 biimpd ( 𝑧 = 𝑥 → ( 𝑧𝐵𝑥𝐵 ) )
11 8 10 anim12d ( 𝑧 = 𝑥 → ( ( 𝑧𝐴𝑧𝐵 ) → ( 𝑥𝐴𝑥𝐵 ) ) )
12 6 11 embantd ( 𝑧 = 𝑥 → ( ( 𝑧 = 𝑥 → ( 𝑧𝐴𝑧𝐵 ) ) → ( 𝑥𝐴𝑥𝐵 ) ) )
13 12 spimvw ( ∀ 𝑧 ( 𝑧 = 𝑥 → ( 𝑧𝐴𝑧𝐵 ) ) → ( 𝑥𝐴𝑥𝐵 ) )
14 eleq1a ( 𝑥𝐴 → ( 𝑧 = 𝑥𝑧𝐴 ) )
15 eleq1a ( 𝑥𝐵 → ( 𝑧 = 𝑥𝑧𝐵 ) )
16 14 15 anim12ii ( ( 𝑥𝐴𝑥𝐵 ) → ( 𝑧 = 𝑥 → ( 𝑧𝐴𝑧𝐵 ) ) )
17 16 alrimiv ( ( 𝑥𝐴𝑥𝐵 ) → ∀ 𝑧 ( 𝑧 = 𝑥 → ( 𝑧𝐴𝑧𝐵 ) ) )
18 13 17 impbii ( ∀ 𝑧 ( 𝑧 = 𝑥 → ( 𝑧𝐴𝑧𝐵 ) ) ↔ ( 𝑥𝐴𝑥𝐵 ) )
19 4 5 18 3bitri ( 𝑥 ∈ { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } ↔ ( 𝑥𝐴𝑥𝐵 ) )
20 19 bibi2i ( ( 𝑥 ∈ ∅ ↔ 𝑥 ∈ { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } ) ↔ ( 𝑥 ∈ ∅ ↔ ( 𝑥𝐴𝑥𝐵 ) ) )
21 20 albii ( ∀ 𝑥 ( 𝑥 ∈ ∅ ↔ 𝑥 ∈ { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } ) ↔ ∀ 𝑥 ( 𝑥 ∈ ∅ ↔ ( 𝑥𝐴𝑥𝐵 ) ) )
22 3 21 bitri ( ∅ = { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } ↔ ∀ 𝑥 ( 𝑥 ∈ ∅ ↔ ( 𝑥𝐴𝑥𝐵 ) ) )
23 eqcom ( { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } = ∅ ↔ ∅ = { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } )
24 bicom ( ( ( 𝑥𝐴𝑥𝐵 ) ↔ 𝑥 ∈ ∅ ) ↔ ( 𝑥 ∈ ∅ ↔ ( 𝑥𝐴𝑥𝐵 ) ) )
25 24 albii ( ∀ 𝑥 ( ( 𝑥𝐴𝑥𝐵 ) ↔ 𝑥 ∈ ∅ ) ↔ ∀ 𝑥 ( 𝑥 ∈ ∅ ↔ ( 𝑥𝐴𝑥𝐵 ) ) )
26 22 23 25 3bitr4i ( { 𝑧 ∣ ( 𝑧𝐴𝑧𝐵 ) } = ∅ ↔ ∀ 𝑥 ( ( 𝑥𝐴𝑥𝐵 ) ↔ 𝑥 ∈ ∅ ) )
27 imnan ( ( 𝑥𝐴 → ¬ 𝑥𝐵 ) ↔ ¬ ( 𝑥𝐴𝑥𝐵 ) )
28 noel ¬ 𝑥 ∈ ∅
29 28 nbn ( ¬ ( 𝑥𝐴𝑥𝐵 ) ↔ ( ( 𝑥𝐴𝑥𝐵 ) ↔ 𝑥 ∈ ∅ ) )
30 27 29 bitr2i ( ( ( 𝑥𝐴𝑥𝐵 ) ↔ 𝑥 ∈ ∅ ) ↔ ( 𝑥𝐴 → ¬ 𝑥𝐵 ) )
31 30 albii ( ∀ 𝑥 ( ( 𝑥𝐴𝑥𝐵 ) ↔ 𝑥 ∈ ∅ ) ↔ ∀ 𝑥 ( 𝑥𝐴 → ¬ 𝑥𝐵 ) )
32 2 26 31 3bitri ( ( 𝐴𝐵 ) = ∅ ↔ ∀ 𝑥 ( 𝑥𝐴 → ¬ 𝑥𝐵 ) )
33 df-ral ( ∀ 𝑥𝐴 ¬ 𝑥𝐵 ↔ ∀ 𝑥 ( 𝑥𝐴 → ¬ 𝑥𝐵 ) )
34 32 33 bitr4i ( ( 𝐴𝐵 ) = ∅ ↔ ∀ 𝑥𝐴 ¬ 𝑥𝐵 )