Metamath Proof Explorer


Theorem constrrecl

Description: Constructible numbers are closed under taking the real part. (Contributed by Thierry Arnoux, 5-Nov-2025)

Ref Expression
Hypothesis constrcjcl.1 ( 𝜑𝑋 ∈ Constr )
Assertion constrrecl ( 𝜑 → ( ℜ ‘ 𝑋 ) ∈ Constr )

Proof

Step Hyp Ref Expression
1 constrcjcl.1 ( 𝜑𝑋 ∈ Constr )
2 simpr ( ( 𝜑𝑋 ∈ ℝ ) → 𝑋 ∈ ℝ )
3 2 rered ( ( 𝜑𝑋 ∈ ℝ ) → ( ℜ ‘ 𝑋 ) = 𝑋 )
4 1 adantr ( ( 𝜑𝑋 ∈ ℝ ) → 𝑋 ∈ Constr )
5 3 4 eqeltrd ( ( 𝜑𝑋 ∈ ℝ ) → ( ℜ ‘ 𝑋 ) ∈ Constr )
6 0zd ( 𝜑 → 0 ∈ ℤ )
7 6 zconstr ( 𝜑 → 0 ∈ Constr )
8 7 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → 0 ∈ Constr )
9 1zzd ( 𝜑 → 1 ∈ ℤ )
10 9 zconstr ( 𝜑 → 1 ∈ Constr )
11 10 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → 1 ∈ Constr )
12 1 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → 𝑋 ∈ Constr )
13 1 constrcjcl ( 𝜑 → ( ∗ ‘ 𝑋 ) ∈ Constr )
14 13 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ∗ ‘ 𝑋 ) ∈ Constr )
15 1 constrcn ( 𝜑𝑋 ∈ ℂ )
16 15 recld ( 𝜑 → ( ℜ ‘ 𝑋 ) ∈ ℝ )
17 16 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ℜ ‘ 𝑋 ) ∈ ℝ )
18 halfre ( 1 / 2 ) ∈ ℝ
19 18 a1i ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( 1 / 2 ) ∈ ℝ )
20 16 recnd ( 𝜑 → ( ℜ ‘ 𝑋 ) ∈ ℂ )
21 20 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ℜ ‘ 𝑋 ) ∈ ℂ )
22 1cnd ( 𝜑 → 1 ∈ ℂ )
23 22 subid1d ( 𝜑 → ( 1 − 0 ) = 1 )
24 23 22 eqeltrd ( 𝜑 → ( 1 − 0 ) ∈ ℂ )
25 20 24 mulcld ( 𝜑 → ( ( ℜ ‘ 𝑋 ) · ( 1 − 0 ) ) ∈ ℂ )
26 25 addlidd ( 𝜑 → ( 0 + ( ( ℜ ‘ 𝑋 ) · ( 1 − 0 ) ) ) = ( ( ℜ ‘ 𝑋 ) · ( 1 − 0 ) ) )
27 23 oveq2d ( 𝜑 → ( ( ℜ ‘ 𝑋 ) · ( 1 − 0 ) ) = ( ( ℜ ‘ 𝑋 ) · 1 ) )
28 20 mulridd ( 𝜑 → ( ( ℜ ‘ 𝑋 ) · 1 ) = ( ℜ ‘ 𝑋 ) )
29 26 27 28 3eqtrrd ( 𝜑 → ( ℜ ‘ 𝑋 ) = ( 0 + ( ( ℜ ‘ 𝑋 ) · ( 1 − 0 ) ) ) )
30 29 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ℜ ‘ 𝑋 ) = ( 0 + ( ( ℜ ‘ 𝑋 ) · ( 1 − 0 ) ) ) )
31 15 cjcld ( 𝜑 → ( ∗ ‘ 𝑋 ) ∈ ℂ )
32 15 31 addcld ( 𝜑 → ( 𝑋 + ( ∗ ‘ 𝑋 ) ) ∈ ℂ )
33 2cnd ( 𝜑 → 2 ∈ ℂ )
34 2ne0 2 ≠ 0
35 34 a1i ( 𝜑 → 2 ≠ 0 )
36 32 33 35 divrec2d ( 𝜑 → ( ( 𝑋 + ( ∗ ‘ 𝑋 ) ) / 2 ) = ( ( 1 / 2 ) · ( 𝑋 + ( ∗ ‘ 𝑋 ) ) ) )
37 reval ( 𝑋 ∈ ℂ → ( ℜ ‘ 𝑋 ) = ( ( 𝑋 + ( ∗ ‘ 𝑋 ) ) / 2 ) )
38 15 37 syl ( 𝜑 → ( ℜ ‘ 𝑋 ) = ( ( 𝑋 + ( ∗ ‘ 𝑋 ) ) / 2 ) )
39 18 a1i ( 𝜑 → ( 1 / 2 ) ∈ ℝ )
40 39 recnd ( 𝜑 → ( 1 / 2 ) ∈ ℂ )
41 40 31 15 subdid ( 𝜑 → ( ( 1 / 2 ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = ( ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) − ( ( 1 / 2 ) · 𝑋 ) ) )
42 41 oveq2d ( 𝜑 → ( 𝑋 + ( ( 1 / 2 ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ) = ( 𝑋 + ( ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) − ( ( 1 / 2 ) · 𝑋 ) ) ) )
43 40 15 mulcld ( 𝜑 → ( ( 1 / 2 ) · 𝑋 ) ∈ ℂ )
44 40 31 mulcld ( 𝜑 → ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) ∈ ℂ )
45 15 43 44 subadd23d ( 𝜑 → ( ( 𝑋 − ( ( 1 / 2 ) · 𝑋 ) ) + ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) ) = ( 𝑋 + ( ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) − ( ( 1 / 2 ) · 𝑋 ) ) ) )
46 22 40 15 subdird ( 𝜑 → ( ( 1 − ( 1 / 2 ) ) · 𝑋 ) = ( ( 1 · 𝑋 ) − ( ( 1 / 2 ) · 𝑋 ) ) )
47 1mhlfehlf ( 1 − ( 1 / 2 ) ) = ( 1 / 2 )
48 47 a1i ( 𝜑 → ( 1 − ( 1 / 2 ) ) = ( 1 / 2 ) )
49 48 oveq1d ( 𝜑 → ( ( 1 − ( 1 / 2 ) ) · 𝑋 ) = ( ( 1 / 2 ) · 𝑋 ) )
50 15 mullidd ( 𝜑 → ( 1 · 𝑋 ) = 𝑋 )
51 50 oveq1d ( 𝜑 → ( ( 1 · 𝑋 ) − ( ( 1 / 2 ) · 𝑋 ) ) = ( 𝑋 − ( ( 1 / 2 ) · 𝑋 ) ) )
52 46 49 51 3eqtr3rd ( 𝜑 → ( 𝑋 − ( ( 1 / 2 ) · 𝑋 ) ) = ( ( 1 / 2 ) · 𝑋 ) )
53 52 oveq1d ( 𝜑 → ( ( 𝑋 − ( ( 1 / 2 ) · 𝑋 ) ) + ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) ) = ( ( ( 1 / 2 ) · 𝑋 ) + ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) ) )
54 40 15 31 adddid ( 𝜑 → ( ( 1 / 2 ) · ( 𝑋 + ( ∗ ‘ 𝑋 ) ) ) = ( ( ( 1 / 2 ) · 𝑋 ) + ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) ) )
55 53 54 eqtr4d ( 𝜑 → ( ( 𝑋 − ( ( 1 / 2 ) · 𝑋 ) ) + ( ( 1 / 2 ) · ( ∗ ‘ 𝑋 ) ) ) = ( ( 1 / 2 ) · ( 𝑋 + ( ∗ ‘ 𝑋 ) ) ) )
56 42 45 55 3eqtr2d ( 𝜑 → ( 𝑋 + ( ( 1 / 2 ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ) = ( ( 1 / 2 ) · ( 𝑋 + ( ∗ ‘ 𝑋 ) ) ) )
57 36 38 56 3eqtr4d ( 𝜑 → ( ℜ ‘ 𝑋 ) = ( 𝑋 + ( ( 1 / 2 ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ) )
58 57 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ℜ ‘ 𝑋 ) = ( 𝑋 + ( ( 1 / 2 ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ) )
59 23 fveq2d ( 𝜑 → ( ∗ ‘ ( 1 − 0 ) ) = ( ∗ ‘ 1 ) )
60 1red ( 𝜑 → 1 ∈ ℝ )
61 60 cjred ( 𝜑 → ( ∗ ‘ 1 ) = 1 )
62 59 61 eqtrd ( 𝜑 → ( ∗ ‘ ( 1 − 0 ) ) = 1 )
63 62 oveq1d ( 𝜑 → ( ( ∗ ‘ ( 1 − 0 ) ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = ( 1 · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) )
64 31 15 subcld ( 𝜑 → ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ∈ ℂ )
65 64 mullidd ( 𝜑 → ( 1 · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = ( ( ∗ ‘ 𝑋 ) − 𝑋 ) )
66 63 65 eqtrd ( 𝜑 → ( ( ∗ ‘ ( 1 − 0 ) ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = ( ( ∗ ‘ 𝑋 ) − 𝑋 ) )
67 66 fveq2d ( 𝜑 → ( ℑ ‘ ( ( ∗ ‘ ( 1 − 0 ) ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ) = ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) )
68 67 adantr ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ℑ ‘ ( ( ∗ ‘ ( 1 − 0 ) ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ) = ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) )
69 15 adantr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → 𝑋 ∈ ℂ )
70 imval2 ( 𝑋 ∈ ℂ → ( ℑ ‘ 𝑋 ) = ( ( 𝑋 − ( ∗ ‘ 𝑋 ) ) / ( 2 · i ) ) )
71 15 70 syl ( 𝜑 → ( ℑ ‘ 𝑋 ) = ( ( 𝑋 − ( ∗ ‘ 𝑋 ) ) / ( 2 · i ) ) )
72 71 adantr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ℑ ‘ 𝑋 ) = ( ( 𝑋 − ( ∗ ‘ 𝑋 ) ) / ( 2 · i ) ) )
73 15 31 subcld ( 𝜑 → ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ∈ ℂ )
74 73 adantr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ∈ ℂ )
75 64 adantr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ∈ ℂ )
76 75 imnegd ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ℑ ‘ - ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = - ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) )
77 31 adantr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ∗ ‘ 𝑋 ) ∈ ℂ )
78 77 69 negsubdi2d ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → - ( ( ∗ ‘ 𝑋 ) − 𝑋 ) = ( 𝑋 − ( ∗ ‘ 𝑋 ) ) )
79 78 fveq2d ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ℑ ‘ - ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = ( ℑ ‘ ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ) )
80 simpr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 )
81 80 negeqd ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → - ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = - 0 )
82 76 79 81 3eqtr3d ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ℑ ‘ ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ) = - 0 )
83 neg0 - 0 = 0
84 82 83 eqtrdi ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ℑ ‘ ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ) = 0 )
85 74 84 reim0bd ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ∈ ℝ )
86 cjth ( 𝑋 ∈ ℂ → ( ( 𝑋 + ( ∗ ‘ 𝑋 ) ) ∈ ℝ ∧ ( i · ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ) ∈ ℝ ) )
87 15 86 syl ( 𝜑 → ( ( 𝑋 + ( ∗ ‘ 𝑋 ) ) ∈ ℝ ∧ ( i · ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ) ∈ ℝ ) )
88 87 simprd ( 𝜑 → ( i · ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ) ∈ ℝ )
89 88 adantr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( i · ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ) ∈ ℝ )
90 rimul ( ( ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ∈ ℝ ∧ ( i · ( 𝑋 − ( ∗ ‘ 𝑋 ) ) ) ∈ ℝ ) → ( 𝑋 − ( ∗ ‘ 𝑋 ) ) = 0 )
91 85 89 90 syl2anc ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( 𝑋 − ( ∗ ‘ 𝑋 ) ) = 0 )
92 91 oveq1d ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ( 𝑋 − ( ∗ ‘ 𝑋 ) ) / ( 2 · i ) ) = ( 0 / ( 2 · i ) ) )
93 ax-icn i ∈ ℂ
94 93 a1i ( 𝜑 → i ∈ ℂ )
95 33 94 mulcld ( 𝜑 → ( 2 · i ) ∈ ℂ )
96 95 adantr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( 2 · i ) ∈ ℂ )
97 ine0 i ≠ 0
98 97 a1i ( 𝜑 → i ≠ 0 )
99 33 94 35 98 mulne0d ( 𝜑 → ( 2 · i ) ≠ 0 )
100 99 adantr ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( 2 · i ) ≠ 0 )
101 96 100 div0d ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( 0 / ( 2 · i ) ) = 0 )
102 72 92 101 3eqtrd ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → ( ℑ ‘ 𝑋 ) = 0 )
103 69 102 reim0bd ( ( 𝜑 ∧ ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 ) → 𝑋 ∈ ℝ )
104 103 ex ( 𝜑 → ( ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) = 0 → 𝑋 ∈ ℝ ) )
105 104 necon3bd ( 𝜑 → ( ¬ 𝑋 ∈ ℝ → ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ≠ 0 ) )
106 105 imp ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ℑ ‘ ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ≠ 0 )
107 68 106 eqnetrd ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ℑ ‘ ( ( ∗ ‘ ( 1 − 0 ) ) · ( ( ∗ ‘ 𝑋 ) − 𝑋 ) ) ) ≠ 0 )
108 8 11 12 14 17 19 21 30 58 107 constrllcl ( ( 𝜑 ∧ ¬ 𝑋 ∈ ℝ ) → ( ℜ ‘ 𝑋 ) ∈ Constr )
109 5 108 pm2.61dan ( 𝜑 → ( ℜ ‘ 𝑋 ) ∈ Constr )