Metamath Proof Explorer


Theorem cjreb

Description: A number is real iff it equals its complex conjugate. Proposition 10-3.4(f) of Gleason p. 133. (Contributed by NM, 2-Jul-2005) (Revised by Mario Carneiro, 14-Jul-2014)

Ref Expression
Assertion cjreb
|- ( A e. CC -> ( A e. RR <-> ( * ` A ) = A ) )

Proof

Step Hyp Ref Expression
1 recl
 |-  ( A e. CC -> ( Re ` A ) e. RR )
2 1 recnd
 |-  ( A e. CC -> ( Re ` A ) e. CC )
3 ax-icn
 |-  _i e. CC
4 imcl
 |-  ( A e. CC -> ( Im ` A ) e. RR )
5 4 recnd
 |-  ( A e. CC -> ( Im ` A ) e. CC )
6 mulcl
 |-  ( ( _i e. CC /\ ( Im ` A ) e. CC ) -> ( _i x. ( Im ` A ) ) e. CC )
7 3 5 6 sylancr
 |-  ( A e. CC -> ( _i x. ( Im ` A ) ) e. CC )
8 2 7 negsubd
 |-  ( A e. CC -> ( ( Re ` A ) + -u ( _i x. ( Im ` A ) ) ) = ( ( Re ` A ) - ( _i x. ( Im ` A ) ) ) )
9 mulneg2
 |-  ( ( _i e. CC /\ ( Im ` A ) e. CC ) -> ( _i x. -u ( Im ` A ) ) = -u ( _i x. ( Im ` A ) ) )
10 3 5 9 sylancr
 |-  ( A e. CC -> ( _i x. -u ( Im ` A ) ) = -u ( _i x. ( Im ` A ) ) )
11 10 oveq2d
 |-  ( A e. CC -> ( ( Re ` A ) + ( _i x. -u ( Im ` A ) ) ) = ( ( Re ` A ) + -u ( _i x. ( Im ` A ) ) ) )
12 remim
 |-  ( A e. CC -> ( * ` A ) = ( ( Re ` A ) - ( _i x. ( Im ` A ) ) ) )
13 8 11 12 3eqtr4rd
 |-  ( A e. CC -> ( * ` A ) = ( ( Re ` A ) + ( _i x. -u ( Im ` A ) ) ) )
14 replim
 |-  ( A e. CC -> A = ( ( Re ` A ) + ( _i x. ( Im ` A ) ) ) )
15 13 14 eqeq12d
 |-  ( A e. CC -> ( ( * ` A ) = A <-> ( ( Re ` A ) + ( _i x. -u ( Im ` A ) ) ) = ( ( Re ` A ) + ( _i x. ( Im ` A ) ) ) ) )
16 5 negcld
 |-  ( A e. CC -> -u ( Im ` A ) e. CC )
17 mulcl
 |-  ( ( _i e. CC /\ -u ( Im ` A ) e. CC ) -> ( _i x. -u ( Im ` A ) ) e. CC )
18 3 16 17 sylancr
 |-  ( A e. CC -> ( _i x. -u ( Im ` A ) ) e. CC )
19 2 18 7 addcand
 |-  ( A e. CC -> ( ( ( Re ` A ) + ( _i x. -u ( Im ` A ) ) ) = ( ( Re ` A ) + ( _i x. ( Im ` A ) ) ) <-> ( _i x. -u ( Im ` A ) ) = ( _i x. ( Im ` A ) ) ) )
20 eqcom
 |-  ( -u ( Im ` A ) = ( Im ` A ) <-> ( Im ` A ) = -u ( Im ` A ) )
21 5 eqnegd
 |-  ( A e. CC -> ( ( Im ` A ) = -u ( Im ` A ) <-> ( Im ` A ) = 0 ) )
22 20 21 syl5bb
 |-  ( A e. CC -> ( -u ( Im ` A ) = ( Im ` A ) <-> ( Im ` A ) = 0 ) )
23 ine0
 |-  _i =/= 0
24 3 23 pm3.2i
 |-  ( _i e. CC /\ _i =/= 0 )
25 24 a1i
 |-  ( A e. CC -> ( _i e. CC /\ _i =/= 0 ) )
26 mulcan
 |-  ( ( -u ( Im ` A ) e. CC /\ ( Im ` A ) e. CC /\ ( _i e. CC /\ _i =/= 0 ) ) -> ( ( _i x. -u ( Im ` A ) ) = ( _i x. ( Im ` A ) ) <-> -u ( Im ` A ) = ( Im ` A ) ) )
27 16 5 25 26 syl3anc
 |-  ( A e. CC -> ( ( _i x. -u ( Im ` A ) ) = ( _i x. ( Im ` A ) ) <-> -u ( Im ` A ) = ( Im ` A ) ) )
28 reim0b
 |-  ( A e. CC -> ( A e. RR <-> ( Im ` A ) = 0 ) )
29 22 27 28 3bitr4d
 |-  ( A e. CC -> ( ( _i x. -u ( Im ` A ) ) = ( _i x. ( Im ` A ) ) <-> A e. RR ) )
30 15 19 29 3bitrrd
 |-  ( A e. CC -> ( A e. RR <-> ( * ` A ) = A ) )