Metamath Proof Explorer


Theorem disjorf

Description: Two ways to say that a collection B ( i ) for i e. A is disjoint. (Contributed by Thierry Arnoux, 8-Mar-2017)

Ref Expression
Hypotheses disjorf.1
|- F/_ i A
disjorf.2
|- F/_ j A
disjorf.3
|- ( i = j -> B = C )
Assertion disjorf
|- ( 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 disjorf.1
 |-  F/_ i A
2 disjorf.2
 |-  F/_ j A
3 disjorf.3
 |-  ( i = j -> B = C )
4 df-disj
 |-  ( Disj_ i e. A B <-> A. x E* i e. A x e. B )
5 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 ) )
6 orcom
 |-  ( ( i = j \/ ( B i^i C ) = (/) ) <-> ( ( B i^i C ) = (/) \/ i = j ) )
7 df-or
 |-  ( ( ( B i^i C ) = (/) \/ i = j ) <-> ( -. ( B i^i C ) = (/) -> i = j ) )
8 neq0
 |-  ( -. ( B i^i C ) = (/) <-> E. x x e. ( B i^i C ) )
9 elin
 |-  ( x e. ( B i^i C ) <-> ( x e. B /\ x e. C ) )
10 9 exbii
 |-  ( E. x x e. ( B i^i C ) <-> E. x ( x e. B /\ x e. C ) )
11 8 10 bitri
 |-  ( -. ( B i^i C ) = (/) <-> E. x ( x e. B /\ x e. C ) )
12 11 imbi1i
 |-  ( ( -. ( B i^i C ) = (/) -> i = j ) <-> ( E. x ( x e. B /\ x e. C ) -> i = j ) )
13 19.23v
 |-  ( A. x ( ( x e. B /\ x e. C ) -> i = j ) <-> ( E. x ( x e. B /\ x e. C ) -> i = j ) )
14 12 13 bitr4i
 |-  ( ( -. ( B i^i C ) = (/) -> i = j ) <-> A. x ( ( x e. B /\ x e. C ) -> i = j ) )
15 6 7 14 3bitri
 |-  ( ( i = j \/ ( B i^i C ) = (/) ) <-> A. x ( ( x e. B /\ x e. C ) -> i = j ) )
16 15 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 ) )
17 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 ) )
18 16 17 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 ) )
19 18 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 ) )
20 nfv
 |-  F/ i x e. C
21 3 eleq2d
 |-  ( i = j -> ( x e. B <-> x e. C ) )
22 1 2 20 21 rmo4f
 |-  ( E* i e. A x e. B <-> A. i e. A A. j e. A ( ( x e. B /\ x e. C ) -> i = j ) )
23 22 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 ) )
24 5 19 23 3bitr4i
 |-  ( A. i e. A A. j e. A ( i = j \/ ( B i^i C ) = (/) ) <-> A. x E* i e. A x e. B )
25 4 24 bitr4i
 |-  ( Disj_ i e. A B <-> A. i e. A A. j e. A ( i = j \/ ( B i^i C ) = (/) ) )