Metamath Proof Explorer


Theorem constrext2chn

Description: If a constructible number generates some subfield L of CC , then the degree of the extension of L over QQ is a power of two. Theorem 7.12 of Stewart p. 98. (Contributed by Thierry Arnoux, 26-Oct-2025)

Ref Expression
Hypotheses constrext2chn.q 𝑄 = ( ℂflds ℚ )
constrext2chn.l 𝐿 = ( ℂflds 𝑆 )
constrext2chn.s 𝑆 = ( ℂfld fldGen ( ℚ ∪ { 𝐴 } ) )
constrext2chn.a ( 𝜑𝐴 ∈ Constr )
Assertion constrext2chn ( 𝜑 → ∃ 𝑛 ∈ ℕ0 ( 𝐿 [:] 𝑄 ) = ( 2 ↑ 𝑛 ) )

Proof

Step Hyp Ref Expression
1 constrext2chn.q 𝑄 = ( ℂflds ℚ )
2 constrext2chn.l 𝐿 = ( ℂflds 𝑆 )
3 constrext2chn.s 𝑆 = ( ℂfld fldGen ( ℚ ∪ { 𝐴 } ) )
4 constrext2chn.a ( 𝜑𝐴 ∈ Constr )
5 constrcbvlem rec ( ( 𝑧 ∈ V ↦ { 𝑦 ∈ ℂ ∣ ( ∃ 𝑖𝑧𝑗𝑧𝑘𝑧𝑙𝑧𝑜 ∈ ℝ ∃ 𝑝 ∈ ℝ ( 𝑦 = ( 𝑖 + ( 𝑜 · ( 𝑗𝑖 ) ) ) ∧ 𝑦 = ( 𝑘 + ( 𝑝 · ( 𝑙𝑘 ) ) ) ∧ ( ℑ ‘ ( ( ∗ ‘ ( 𝑗𝑖 ) ) · ( 𝑙𝑘 ) ) ) ≠ 0 ) ∨ ∃ 𝑖𝑧𝑗𝑧𝑘𝑧𝑚𝑧𝑞𝑧𝑜 ∈ ℝ ( 𝑦 = ( 𝑖 + ( 𝑜 · ( 𝑗𝑖 ) ) ) ∧ ( abs ‘ ( 𝑦𝑘 ) ) = ( abs ‘ ( 𝑚𝑞 ) ) ) ∨ ∃ 𝑖𝑧𝑗𝑧𝑘𝑧𝑙𝑧𝑚𝑧𝑞𝑧 ( 𝑖𝑙 ∧ ( abs ‘ ( 𝑦𝑖 ) ) = ( abs ‘ ( 𝑗𝑘 ) ) ∧ ( abs ‘ ( 𝑦𝑙 ) ) = ( abs ‘ ( 𝑚𝑞 ) ) ) ) } ) , { 0 , 1 } ) = rec ( ( 𝑠 ∈ V ↦ { 𝑥 ∈ ℂ ∣ ( ∃ 𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑡 ∈ ℝ ∃ 𝑟 ∈ ℝ ( 𝑥 = ( 𝑎 + ( 𝑡 · ( 𝑏𝑎 ) ) ) ∧ 𝑥 = ( 𝑐 + ( 𝑟 · ( 𝑑𝑐 ) ) ) ∧ ( ℑ ‘ ( ( ∗ ‘ ( 𝑏𝑎 ) ) · ( 𝑑𝑐 ) ) ) ≠ 0 ) ∨ ∃ 𝑎𝑠𝑏𝑠𝑐𝑠𝑒𝑠𝑓𝑠𝑡 ∈ ℝ ( 𝑥 = ( 𝑎 + ( 𝑡 · ( 𝑏𝑎 ) ) ) ∧ ( abs ‘ ( 𝑥𝑐 ) ) = ( abs ‘ ( 𝑒𝑓 ) ) ) ∨ ∃ 𝑎𝑠𝑏𝑠𝑐𝑠𝑑𝑠𝑒𝑠𝑓𝑠 ( 𝑎𝑑 ∧ ( abs ‘ ( 𝑥𝑎 ) ) = ( abs ‘ ( 𝑏𝑐 ) ) ∧ ( abs ‘ ( 𝑥𝑑 ) ) = ( abs ‘ ( 𝑒𝑓 ) ) ) ) } ) , { 0 , 1 } )
6 eqid ( ℂflds 𝑒 ) = ( ℂflds 𝑒 )
7 eqid ( ℂflds 𝑓 ) = ( ℂflds 𝑓 )
8 oveq2 ( = 𝑒 → ( ℂflds ) = ( ℂflds 𝑒 ) )
9 8 adantl ( ( 𝑔 = 𝑓 = 𝑒 ) → ( ℂflds ) = ( ℂflds 𝑒 ) )
10 oveq2 ( 𝑔 = 𝑓 → ( ℂflds 𝑔 ) = ( ℂflds 𝑓 ) )
11 10 adantr ( ( 𝑔 = 𝑓 = 𝑒 ) → ( ℂflds 𝑔 ) = ( ℂflds 𝑓 ) )
12 9 11 breq12d ( ( 𝑔 = 𝑓 = 𝑒 ) → ( ( ℂflds ) /FldExt ( ℂflds 𝑔 ) ↔ ( ℂflds 𝑒 ) /FldExt ( ℂflds 𝑓 ) ) )
13 9 11 oveq12d ( ( 𝑔 = 𝑓 = 𝑒 ) → ( ( ℂflds ) [:] ( ℂflds 𝑔 ) ) = ( ( ℂflds 𝑒 ) [:] ( ℂflds 𝑓 ) ) )
14 13 eqeq1d ( ( 𝑔 = 𝑓 = 𝑒 ) → ( ( ( ℂflds ) [:] ( ℂflds 𝑔 ) ) = 2 ↔ ( ( ℂflds 𝑒 ) [:] ( ℂflds 𝑓 ) ) = 2 ) )
15 12 14 anbi12d ( ( 𝑔 = 𝑓 = 𝑒 ) → ( ( ( ℂflds ) /FldExt ( ℂflds 𝑔 ) ∧ ( ( ℂflds ) [:] ( ℂflds 𝑔 ) ) = 2 ) ↔ ( ( ℂflds 𝑒 ) /FldExt ( ℂflds 𝑓 ) ∧ ( ( ℂflds 𝑒 ) [:] ( ℂflds 𝑓 ) ) = 2 ) ) )
16 15 cbvopabv { ⟨ 𝑔 , ⟩ ∣ ( ( ℂflds ) /FldExt ( ℂflds 𝑔 ) ∧ ( ( ℂflds ) [:] ( ℂflds 𝑔 ) ) = 2 ) } = { ⟨ 𝑓 , 𝑒 ⟩ ∣ ( ( ℂflds 𝑒 ) /FldExt ( ℂflds 𝑓 ) ∧ ( ( ℂflds 𝑒 ) [:] ( ℂflds 𝑓 ) ) = 2 ) }
17 peano1 ∅ ∈ ω
18 17 a1i ( 𝜑 → ∅ ∈ ω )
19 3 oveq2i ( ℂflds 𝑆 ) = ( ℂflds ( ℂfld fldGen ( ℚ ∪ { 𝐴 } ) ) )
20 2 19 eqtri 𝐿 = ( ℂflds ( ℂfld fldGen ( ℚ ∪ { 𝐴 } ) ) )
21 5 6 7 16 18 1 20 4 constrext2chnlem ( 𝜑 → ∃ 𝑛 ∈ ℕ0 ( 𝐿 [:] 𝑄 ) = ( 2 ↑ 𝑛 ) )