Metamath Proof Explorer


Theorem xrdifh

Description: Class difference of a half-open interval in the extended reals. (Contributed by Thierry Arnoux, 1-Aug-2017)

Ref Expression
Hypothesis xrdifh.1
|- A e. RR*
Assertion xrdifh
|- ( RR* \ ( A [,] +oo ) ) = ( -oo [,) A )

Proof

Step Hyp Ref Expression
1 xrdifh.1
 |-  A e. RR*
2 biortn
 |-  ( x e. RR* -> ( ( -. A <_ x \/ -. x <_ +oo ) <-> ( -. x e. RR* \/ ( -. A <_ x \/ -. x <_ +oo ) ) ) )
3 pnfge
 |-  ( x e. RR* -> x <_ +oo )
4 3 notnotd
 |-  ( x e. RR* -> -. -. x <_ +oo )
5 biorf
 |-  ( -. -. x <_ +oo -> ( -. A <_ x <-> ( -. x <_ +oo \/ -. A <_ x ) ) )
6 4 5 syl
 |-  ( x e. RR* -> ( -. A <_ x <-> ( -. x <_ +oo \/ -. A <_ x ) ) )
7 orcom
 |-  ( ( -. A <_ x \/ -. x <_ +oo ) <-> ( -. x <_ +oo \/ -. A <_ x ) )
8 6 7 bitr4di
 |-  ( x e. RR* -> ( -. A <_ x <-> ( -. A <_ x \/ -. x <_ +oo ) ) )
9 pnfxr
 |-  +oo e. RR*
10 elicc1
 |-  ( ( A e. RR* /\ +oo e. RR* ) -> ( x e. ( A [,] +oo ) <-> ( x e. RR* /\ A <_ x /\ x <_ +oo ) ) )
11 1 9 10 mp2an
 |-  ( x e. ( A [,] +oo ) <-> ( x e. RR* /\ A <_ x /\ x <_ +oo ) )
12 11 notbii
 |-  ( -. x e. ( A [,] +oo ) <-> -. ( x e. RR* /\ A <_ x /\ x <_ +oo ) )
13 3ianor
 |-  ( -. ( x e. RR* /\ A <_ x /\ x <_ +oo ) <-> ( -. x e. RR* \/ -. A <_ x \/ -. x <_ +oo ) )
14 3orass
 |-  ( ( -. x e. RR* \/ -. A <_ x \/ -. x <_ +oo ) <-> ( -. x e. RR* \/ ( -. A <_ x \/ -. x <_ +oo ) ) )
15 12 13 14 3bitri
 |-  ( -. x e. ( A [,] +oo ) <-> ( -. x e. RR* \/ ( -. A <_ x \/ -. x <_ +oo ) ) )
16 15 a1i
 |-  ( x e. RR* -> ( -. x e. ( A [,] +oo ) <-> ( -. x e. RR* \/ ( -. A <_ x \/ -. x <_ +oo ) ) ) )
17 2 8 16 3bitr4rd
 |-  ( x e. RR* -> ( -. x e. ( A [,] +oo ) <-> -. A <_ x ) )
18 xrltnle
 |-  ( ( x e. RR* /\ A e. RR* ) -> ( x < A <-> -. A <_ x ) )
19 1 18 mpan2
 |-  ( x e. RR* -> ( x < A <-> -. A <_ x ) )
20 17 19 bitr4d
 |-  ( x e. RR* -> ( -. x e. ( A [,] +oo ) <-> x < A ) )
21 20 pm5.32i
 |-  ( ( x e. RR* /\ -. x e. ( A [,] +oo ) ) <-> ( x e. RR* /\ x < A ) )
22 eldif
 |-  ( x e. ( RR* \ ( A [,] +oo ) ) <-> ( x e. RR* /\ -. x e. ( A [,] +oo ) ) )
23 3anass
 |-  ( ( x e. RR* /\ -oo <_ x /\ x < A ) <-> ( x e. RR* /\ ( -oo <_ x /\ x < A ) ) )
24 mnfxr
 |-  -oo e. RR*
25 elico1
 |-  ( ( -oo e. RR* /\ A e. RR* ) -> ( x e. ( -oo [,) A ) <-> ( x e. RR* /\ -oo <_ x /\ x < A ) ) )
26 24 1 25 mp2an
 |-  ( x e. ( -oo [,) A ) <-> ( x e. RR* /\ -oo <_ x /\ x < A ) )
27 mnfle
 |-  ( x e. RR* -> -oo <_ x )
28 27 biantrurd
 |-  ( x e. RR* -> ( x < A <-> ( -oo <_ x /\ x < A ) ) )
29 28 pm5.32i
 |-  ( ( x e. RR* /\ x < A ) <-> ( x e. RR* /\ ( -oo <_ x /\ x < A ) ) )
30 23 26 29 3bitr4i
 |-  ( x e. ( -oo [,) A ) <-> ( x e. RR* /\ x < A ) )
31 21 22 30 3bitr4i
 |-  ( x e. ( RR* \ ( A [,] +oo ) ) <-> x e. ( -oo [,) A ) )
32 31 eqriv
 |-  ( RR* \ ( A [,] +oo ) ) = ( -oo [,) A )