Metamath Proof Explorer


Theorem constrimcl

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

Ref Expression
Hypothesis constrcjcl.1 ( 𝜑𝑋 ∈ Constr )
Assertion constrimcl ( 𝜑 → ( ℑ ‘ 𝑋 ) ∈ Constr )

Proof

Step Hyp Ref Expression
1 constrcjcl.1 ( 𝜑𝑋 ∈ Constr )
2 0zd ( 𝜑 → 0 ∈ ℤ )
3 2 zconstr ( 𝜑 → 0 ∈ Constr )
4 1zzd ( 𝜑 → 1 ∈ ℤ )
5 4 zconstr ( 𝜑 → 1 ∈ Constr )
6 1 constrcn ( 𝜑𝑋 ∈ ℂ )
7 6 recld ( 𝜑 → ( ℜ ‘ 𝑋 ) ∈ ℝ )
8 7 recnd ( 𝜑 → ( ℜ ‘ 𝑋 ) ∈ ℂ )
9 ax-icn i ∈ ℂ
10 9 a1i ( 𝜑 → i ∈ ℂ )
11 6 imcld ( 𝜑 → ( ℑ ‘ 𝑋 ) ∈ ℝ )
12 11 recnd ( 𝜑 → ( ℑ ‘ 𝑋 ) ∈ ℂ )
13 10 12 mulcld ( 𝜑 → ( i · ( ℑ ‘ 𝑋 ) ) ∈ ℂ )
14 6 replimd ( 𝜑𝑋 = ( ( ℜ ‘ 𝑋 ) + ( i · ( ℑ ‘ 𝑋 ) ) ) )
15 8 13 14 mvrladdd ( 𝜑 → ( 𝑋 − ( ℜ ‘ 𝑋 ) ) = ( i · ( ℑ ‘ 𝑋 ) ) )
16 6 8 negsubd ( 𝜑 → ( 𝑋 + - ( ℜ ‘ 𝑋 ) ) = ( 𝑋 − ( ℜ ‘ 𝑋 ) ) )
17 1 constrrecl ( 𝜑 → ( ℜ ‘ 𝑋 ) ∈ Constr )
18 17 constrnegcl ( 𝜑 → - ( ℜ ‘ 𝑋 ) ∈ Constr )
19 1 18 constraddcl ( 𝜑 → ( 𝑋 + - ( ℜ ‘ 𝑋 ) ) ∈ Constr )
20 16 19 eqeltrrd ( 𝜑 → ( 𝑋 − ( ℜ ‘ 𝑋 ) ) ∈ Constr )
21 15 20 eqeltrrd ( 𝜑 → ( i · ( ℑ ‘ 𝑋 ) ) ∈ Constr )
22 1m0e1 ( 1 − 0 ) = 1
23 1cnd ( 𝜑 → 1 ∈ ℂ )
24 22 23 eqeltrid ( 𝜑 → ( 1 − 0 ) ∈ ℂ )
25 12 24 mulcld ( 𝜑 → ( ( ℑ ‘ 𝑋 ) · ( 1 − 0 ) ) ∈ ℂ )
26 25 addlidd ( 𝜑 → ( 0 + ( ( ℑ ‘ 𝑋 ) · ( 1 − 0 ) ) ) = ( ( ℑ ‘ 𝑋 ) · ( 1 − 0 ) ) )
27 22 a1i ( 𝜑 → ( 1 − 0 ) = 1 )
28 27 oveq2d ( 𝜑 → ( ( ℑ ‘ 𝑋 ) · ( 1 − 0 ) ) = ( ( ℑ ‘ 𝑋 ) · 1 ) )
29 12 mulridd ( 𝜑 → ( ( ℑ ‘ 𝑋 ) · 1 ) = ( ℑ ‘ 𝑋 ) )
30 26 28 29 3eqtrrd ( 𝜑 → ( ℑ ‘ 𝑋 ) = ( 0 + ( ( ℑ ‘ 𝑋 ) · ( 1 − 0 ) ) ) )
31 10 12 absmuld ( 𝜑 → ( abs ‘ ( i · ( ℑ ‘ 𝑋 ) ) ) = ( ( abs ‘ i ) · ( abs ‘ ( ℑ ‘ 𝑋 ) ) ) )
32 absi ( abs ‘ i ) = 1
33 32 a1i ( 𝜑 → ( abs ‘ i ) = 1 )
34 33 oveq1d ( 𝜑 → ( ( abs ‘ i ) · ( abs ‘ ( ℑ ‘ 𝑋 ) ) ) = ( 1 · ( abs ‘ ( ℑ ‘ 𝑋 ) ) ) )
35 12 abscld ( 𝜑 → ( abs ‘ ( ℑ ‘ 𝑋 ) ) ∈ ℝ )
36 35 recnd ( 𝜑 → ( abs ‘ ( ℑ ‘ 𝑋 ) ) ∈ ℂ )
37 36 mullidd ( 𝜑 → ( 1 · ( abs ‘ ( ℑ ‘ 𝑋 ) ) ) = ( abs ‘ ( ℑ ‘ 𝑋 ) ) )
38 31 34 37 3eqtrd ( 𝜑 → ( abs ‘ ( i · ( ℑ ‘ 𝑋 ) ) ) = ( abs ‘ ( ℑ ‘ 𝑋 ) ) )
39 13 subid1d ( 𝜑 → ( ( i · ( ℑ ‘ 𝑋 ) ) − 0 ) = ( i · ( ℑ ‘ 𝑋 ) ) )
40 39 fveq2d ( 𝜑 → ( abs ‘ ( ( i · ( ℑ ‘ 𝑋 ) ) − 0 ) ) = ( abs ‘ ( i · ( ℑ ‘ 𝑋 ) ) ) )
41 12 subid1d ( 𝜑 → ( ( ℑ ‘ 𝑋 ) − 0 ) = ( ℑ ‘ 𝑋 ) )
42 41 fveq2d ( 𝜑 → ( abs ‘ ( ( ℑ ‘ 𝑋 ) − 0 ) ) = ( abs ‘ ( ℑ ‘ 𝑋 ) ) )
43 38 40 42 3eqtr4rd ( 𝜑 → ( abs ‘ ( ( ℑ ‘ 𝑋 ) − 0 ) ) = ( abs ‘ ( ( i · ( ℑ ‘ 𝑋 ) ) − 0 ) ) )
44 3 5 3 21 3 11 12 30 43 constrlccl ( 𝜑 → ( ℑ ‘ 𝑋 ) ∈ Constr )