Metamath Proof Explorer


Theorem disjor

Description: Two ways to say that a collection B ( i ) for i e. A is disjoint. (Contributed by Mario Carneiro, 26-Mar-2015) (Revised by Mario Carneiro, 14-Nov-2016)

Ref Expression
Hypothesis disjor.1 ( 𝑖 = 𝑗𝐵 = 𝐶 )
Assertion disjor ( Disj 𝑖𝐴 𝐵 ↔ ∀ 𝑖𝐴𝑗𝐴 ( 𝑖 = 𝑗 ∨ ( 𝐵𝐶 ) = ∅ ) )

Proof

Step Hyp Ref Expression
1 disjor.1 ( 𝑖 = 𝑗𝐵 = 𝐶 )
2 df-disj ( Disj 𝑖𝐴 𝐵 ↔ ∀ 𝑥 ∃* 𝑖𝐴 𝑥𝐵 )
3 ralcom4 ( ∀ 𝑖𝐴𝑥𝑗𝐴 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) ↔ ∀ 𝑥𝑖𝐴𝑗𝐴 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
4 orcom ( ( 𝑖 = 𝑗 ∨ ( 𝐵𝐶 ) = ∅ ) ↔ ( ( 𝐵𝐶 ) = ∅ ∨ 𝑖 = 𝑗 ) )
5 df-or ( ( ( 𝐵𝐶 ) = ∅ ∨ 𝑖 = 𝑗 ) ↔ ( ¬ ( 𝐵𝐶 ) = ∅ → 𝑖 = 𝑗 ) )
6 neq0 ( ¬ ( 𝐵𝐶 ) = ∅ ↔ ∃ 𝑥 𝑥 ∈ ( 𝐵𝐶 ) )
7 elin ( 𝑥 ∈ ( 𝐵𝐶 ) ↔ ( 𝑥𝐵𝑥𝐶 ) )
8 7 exbii ( ∃ 𝑥 𝑥 ∈ ( 𝐵𝐶 ) ↔ ∃ 𝑥 ( 𝑥𝐵𝑥𝐶 ) )
9 6 8 bitri ( ¬ ( 𝐵𝐶 ) = ∅ ↔ ∃ 𝑥 ( 𝑥𝐵𝑥𝐶 ) )
10 9 imbi1i ( ( ¬ ( 𝐵𝐶 ) = ∅ → 𝑖 = 𝑗 ) ↔ ( ∃ 𝑥 ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
11 19.23v ( ∀ 𝑥 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) ↔ ( ∃ 𝑥 ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
12 10 11 bitr4i ( ( ¬ ( 𝐵𝐶 ) = ∅ → 𝑖 = 𝑗 ) ↔ ∀ 𝑥 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
13 4 5 12 3bitri ( ( 𝑖 = 𝑗 ∨ ( 𝐵𝐶 ) = ∅ ) ↔ ∀ 𝑥 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
14 13 ralbii ( ∀ 𝑗𝐴 ( 𝑖 = 𝑗 ∨ ( 𝐵𝐶 ) = ∅ ) ↔ ∀ 𝑗𝐴𝑥 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
15 ralcom4 ( ∀ 𝑗𝐴𝑥 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) ↔ ∀ 𝑥𝑗𝐴 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
16 14 15 bitri ( ∀ 𝑗𝐴 ( 𝑖 = 𝑗 ∨ ( 𝐵𝐶 ) = ∅ ) ↔ ∀ 𝑥𝑗𝐴 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
17 16 ralbii ( ∀ 𝑖𝐴𝑗𝐴 ( 𝑖 = 𝑗 ∨ ( 𝐵𝐶 ) = ∅ ) ↔ ∀ 𝑖𝐴𝑥𝑗𝐴 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
18 1 eleq2d ( 𝑖 = 𝑗 → ( 𝑥𝐵𝑥𝐶 ) )
19 18 rmo4 ( ∃* 𝑖𝐴 𝑥𝐵 ↔ ∀ 𝑖𝐴𝑗𝐴 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
20 19 albii ( ∀ 𝑥 ∃* 𝑖𝐴 𝑥𝐵 ↔ ∀ 𝑥𝑖𝐴𝑗𝐴 ( ( 𝑥𝐵𝑥𝐶 ) → 𝑖 = 𝑗 ) )
21 3 17 20 3bitr4i ( ∀ 𝑖𝐴𝑗𝐴 ( 𝑖 = 𝑗 ∨ ( 𝐵𝐶 ) = ∅ ) ↔ ∀ 𝑥 ∃* 𝑖𝐴 𝑥𝐵 )
22 2 21 bitr4i ( Disj 𝑖𝐴 𝐵 ↔ ∀ 𝑖𝐴𝑗𝐴 ( 𝑖 = 𝑗 ∨ ( 𝐵𝐶 ) = ∅ ) )