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
|- ( i = j -> B = C )
Assertion disjor
|- ( Disj_ i e. A B <-> A. i e. A A. j e. A ( i = j \/ ( B i^i C ) = (/) ) )

Proof

Step Hyp Ref Expression
1 disjor.1
 |-  ( i = j -> B = C )
2 df-disj
 |-  ( Disj_ i e. A B <-> A. x E* i e. A x e. B )
3 ralcom4
 |-  ( A. i e. A A. x A. j e. A ( ( x e. B /\ x e. C ) -> i = j ) <-> A. x A. i e. A A. j e. A ( ( x e. B /\ x e. C ) -> i = j ) )
4 orcom
 |-  ( ( i = j \/ ( B i^i C ) = (/) ) <-> ( ( B i^i C ) = (/) \/ i = j ) )
5 df-or
 |-  ( ( ( B i^i C ) = (/) \/ i = j ) <-> ( -. ( B i^i C ) = (/) -> i = j ) )
6 neq0
 |-  ( -. ( B i^i C ) = (/) <-> E. x x e. ( B i^i C ) )
7 elin
 |-  ( x e. ( B i^i C ) <-> ( x e. B /\ x e. C ) )
8 7 exbii
 |-  ( E. x x e. ( B i^i C ) <-> E. x ( x e. B /\ x e. C ) )
9 6 8 bitri
 |-  ( -. ( B i^i C ) = (/) <-> E. x ( x e. B /\ x e. C ) )
10 9 imbi1i
 |-  ( ( -. ( B i^i C ) = (/) -> i = j ) <-> ( E. x ( x e. B /\ x e. C ) -> i = j ) )
11 19.23v
 |-  ( A. x ( ( x e. B /\ x e. C ) -> i = j ) <-> ( E. x ( x e. B /\ x e. C ) -> i = j ) )
12 10 11 bitr4i
 |-  ( ( -. ( B i^i C ) = (/) -> i = j ) <-> A. x ( ( x e. B /\ x e. C ) -> i = j ) )
13 4 5 12 3bitri
 |-  ( ( i = j \/ ( B i^i C ) = (/) ) <-> A. x ( ( x e. B /\ x e. C ) -> i = j ) )
14 13 ralbii
 |-  ( A. j e. A ( i = j \/ ( B i^i C ) = (/) ) <-> A. j e. A A. x ( ( x e. B /\ x e. C ) -> i = j ) )
15 ralcom4
 |-  ( A. j e. A A. x ( ( x e. B /\ x e. C ) -> i = j ) <-> A. x A. j e. A ( ( x e. B /\ x e. C ) -> i = j ) )
16 14 15 bitri
 |-  ( A. j e. A ( i = j \/ ( B i^i C ) = (/) ) <-> A. x A. j e. A ( ( x e. B /\ x e. C ) -> i = j ) )
17 16 ralbii
 |-  ( A. i e. A A. j e. A ( i = j \/ ( B i^i C ) = (/) ) <-> A. i e. A A. x A. j e. A ( ( x e. B /\ x e. C ) -> i = j ) )
18 1 eleq2d
 |-  ( i = j -> ( x e. B <-> x e. C ) )
19 18 rmo4
 |-  ( E* i e. A x e. B <-> A. i e. A A. j e. A ( ( x e. B /\ x e. C ) -> i = j ) )
20 19 albii
 |-  ( A. x E* i e. A x e. B <-> A. x A. i e. A A. j e. A ( ( x e. B /\ x e. C ) -> i = j ) )
21 3 17 20 3bitr4i
 |-  ( A. i e. A A. j e. A ( i = j \/ ( B i^i C ) = (/) ) <-> A. x E* i e. A x e. B )
22 2 21 bitr4i
 |-  ( Disj_ i e. A B <-> A. i e. A A. j e. A ( i = j \/ ( B i^i C ) = (/) ) )