Metamath Proof Explorer


Theorem cubic

Description: The cubic equation, which gives the roots of an arbitrary (nondegenerate) cubic function. Use rextp to convert the existential quantifier to a triple disjunction. This is Metamath 100 proof #37. (Contributed by Mario Carneiro, 26-Apr-2015)

Ref Expression
Hypotheses cubic.r 𝑅 = { 1 , ( ( - 1 + ( i · ( √ ‘ 3 ) ) ) / 2 ) , ( ( - 1 − ( i · ( √ ‘ 3 ) ) ) / 2 ) }
cubic.a ( 𝜑𝐴 ∈ ℂ )
cubic.z ( 𝜑𝐴 ≠ 0 )
cubic.b ( 𝜑𝐵 ∈ ℂ )
cubic.c ( 𝜑𝐶 ∈ ℂ )
cubic.d ( 𝜑𝐷 ∈ ℂ )
cubic.x ( 𝜑𝑋 ∈ ℂ )
cubic.t ( 𝜑𝑇 = ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ↑𝑐 ( 1 / 3 ) ) )
cubic.g ( 𝜑𝐺 = ( ( 𝑁 ↑ 2 ) − ( 4 · ( 𝑀 ↑ 3 ) ) ) )
cubic.m ( 𝜑𝑀 = ( ( 𝐵 ↑ 2 ) − ( 3 · ( 𝐴 · 𝐶 ) ) ) )
cubic.n ( 𝜑𝑁 = ( ( ( 2 · ( 𝐵 ↑ 3 ) ) − ( ( 9 · 𝐴 ) · ( 𝐵 · 𝐶 ) ) ) + ( 2 7 · ( ( 𝐴 ↑ 2 ) · 𝐷 ) ) ) )
cubic.0 ( 𝜑𝑀 ≠ 0 )
Assertion cubic ( 𝜑 → ( ( ( ( 𝐴 · ( 𝑋 ↑ 3 ) ) + ( 𝐵 · ( 𝑋 ↑ 2 ) ) ) + ( ( 𝐶 · 𝑋 ) + 𝐷 ) ) = 0 ↔ ∃ 𝑟𝑅 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) )

Proof

Step Hyp Ref Expression
1 cubic.r 𝑅 = { 1 , ( ( - 1 + ( i · ( √ ‘ 3 ) ) ) / 2 ) , ( ( - 1 − ( i · ( √ ‘ 3 ) ) ) / 2 ) }
2 cubic.a ( 𝜑𝐴 ∈ ℂ )
3 cubic.z ( 𝜑𝐴 ≠ 0 )
4 cubic.b ( 𝜑𝐵 ∈ ℂ )
5 cubic.c ( 𝜑𝐶 ∈ ℂ )
6 cubic.d ( 𝜑𝐷 ∈ ℂ )
7 cubic.x ( 𝜑𝑋 ∈ ℂ )
8 cubic.t ( 𝜑𝑇 = ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ↑𝑐 ( 1 / 3 ) ) )
9 cubic.g ( 𝜑𝐺 = ( ( 𝑁 ↑ 2 ) − ( 4 · ( 𝑀 ↑ 3 ) ) ) )
10 cubic.m ( 𝜑𝑀 = ( ( 𝐵 ↑ 2 ) − ( 3 · ( 𝐴 · 𝐶 ) ) ) )
11 cubic.n ( 𝜑𝑁 = ( ( ( 2 · ( 𝐵 ↑ 3 ) ) − ( ( 9 · 𝐴 ) · ( 𝐵 · 𝐶 ) ) ) + ( 2 7 · ( ( 𝐴 ↑ 2 ) · 𝐷 ) ) ) )
12 cubic.0 ( 𝜑𝑀 ≠ 0 )
13 2cn 2 ∈ ℂ
14 3nn0 3 ∈ ℕ0
15 expcl ( ( 𝐵 ∈ ℂ ∧ 3 ∈ ℕ0 ) → ( 𝐵 ↑ 3 ) ∈ ℂ )
16 4 14 15 sylancl ( 𝜑 → ( 𝐵 ↑ 3 ) ∈ ℂ )
17 mulcl ( ( 2 ∈ ℂ ∧ ( 𝐵 ↑ 3 ) ∈ ℂ ) → ( 2 · ( 𝐵 ↑ 3 ) ) ∈ ℂ )
18 13 16 17 sylancr ( 𝜑 → ( 2 · ( 𝐵 ↑ 3 ) ) ∈ ℂ )
19 9cn 9 ∈ ℂ
20 mulcl ( ( 9 ∈ ℂ ∧ 𝐴 ∈ ℂ ) → ( 9 · 𝐴 ) ∈ ℂ )
21 19 2 20 sylancr ( 𝜑 → ( 9 · 𝐴 ) ∈ ℂ )
22 4 5 mulcld ( 𝜑 → ( 𝐵 · 𝐶 ) ∈ ℂ )
23 21 22 mulcld ( 𝜑 → ( ( 9 · 𝐴 ) · ( 𝐵 · 𝐶 ) ) ∈ ℂ )
24 18 23 subcld ( 𝜑 → ( ( 2 · ( 𝐵 ↑ 3 ) ) − ( ( 9 · 𝐴 ) · ( 𝐵 · 𝐶 ) ) ) ∈ ℂ )
25 2nn0 2 ∈ ℕ0
26 7nn 7 ∈ ℕ
27 25 26 decnncl 2 7 ∈ ℕ
28 27 nncni 2 7 ∈ ℂ
29 2 sqcld ( 𝜑 → ( 𝐴 ↑ 2 ) ∈ ℂ )
30 29 6 mulcld ( 𝜑 → ( ( 𝐴 ↑ 2 ) · 𝐷 ) ∈ ℂ )
31 mulcl ( ( 2 7 ∈ ℂ ∧ ( ( 𝐴 ↑ 2 ) · 𝐷 ) ∈ ℂ ) → ( 2 7 · ( ( 𝐴 ↑ 2 ) · 𝐷 ) ) ∈ ℂ )
32 28 30 31 sylancr ( 𝜑 → ( 2 7 · ( ( 𝐴 ↑ 2 ) · 𝐷 ) ) ∈ ℂ )
33 24 32 addcld ( 𝜑 → ( ( ( 2 · ( 𝐵 ↑ 3 ) ) − ( ( 9 · 𝐴 ) · ( 𝐵 · 𝐶 ) ) ) + ( 2 7 · ( ( 𝐴 ↑ 2 ) · 𝐷 ) ) ) ∈ ℂ )
34 11 33 eqeltrd ( 𝜑𝑁 ∈ ℂ )
35 34 sqcld ( 𝜑 → ( 𝑁 ↑ 2 ) ∈ ℂ )
36 4cn 4 ∈ ℂ
37 4 sqcld ( 𝜑 → ( 𝐵 ↑ 2 ) ∈ ℂ )
38 3cn 3 ∈ ℂ
39 2 5 mulcld ( 𝜑 → ( 𝐴 · 𝐶 ) ∈ ℂ )
40 mulcl ( ( 3 ∈ ℂ ∧ ( 𝐴 · 𝐶 ) ∈ ℂ ) → ( 3 · ( 𝐴 · 𝐶 ) ) ∈ ℂ )
41 38 39 40 sylancr ( 𝜑 → ( 3 · ( 𝐴 · 𝐶 ) ) ∈ ℂ )
42 37 41 subcld ( 𝜑 → ( ( 𝐵 ↑ 2 ) − ( 3 · ( 𝐴 · 𝐶 ) ) ) ∈ ℂ )
43 10 42 eqeltrd ( 𝜑𝑀 ∈ ℂ )
44 expcl ( ( 𝑀 ∈ ℂ ∧ 3 ∈ ℕ0 ) → ( 𝑀 ↑ 3 ) ∈ ℂ )
45 43 14 44 sylancl ( 𝜑 → ( 𝑀 ↑ 3 ) ∈ ℂ )
46 mulcl ( ( 4 ∈ ℂ ∧ ( 𝑀 ↑ 3 ) ∈ ℂ ) → ( 4 · ( 𝑀 ↑ 3 ) ) ∈ ℂ )
47 36 45 46 sylancr ( 𝜑 → ( 4 · ( 𝑀 ↑ 3 ) ) ∈ ℂ )
48 35 47 subcld ( 𝜑 → ( ( 𝑁 ↑ 2 ) − ( 4 · ( 𝑀 ↑ 3 ) ) ) ∈ ℂ )
49 9 48 eqeltrd ( 𝜑𝐺 ∈ ℂ )
50 49 sqrtcld ( 𝜑 → ( √ ‘ 𝐺 ) ∈ ℂ )
51 34 50 addcld ( 𝜑 → ( 𝑁 + ( √ ‘ 𝐺 ) ) ∈ ℂ )
52 51 halfcld ( 𝜑 → ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ∈ ℂ )
53 3ne0 3 ≠ 0
54 38 53 reccli ( 1 / 3 ) ∈ ℂ
55 cxpcl ( ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ∈ ℂ ∧ ( 1 / 3 ) ∈ ℂ ) → ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ↑𝑐 ( 1 / 3 ) ) ∈ ℂ )
56 52 54 55 sylancl ( 𝜑 → ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ↑𝑐 ( 1 / 3 ) ) ∈ ℂ )
57 8 56 eqeltrd ( 𝜑𝑇 ∈ ℂ )
58 8 oveq1d ( 𝜑 → ( 𝑇 ↑ 3 ) = ( ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ↑𝑐 ( 1 / 3 ) ) ↑ 3 ) )
59 3nn 3 ∈ ℕ
60 cxproot ( ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ∈ ℂ ∧ 3 ∈ ℕ ) → ( ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ↑𝑐 ( 1 / 3 ) ) ↑ 3 ) = ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) )
61 52 59 60 sylancl ( 𝜑 → ( ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ↑𝑐 ( 1 / 3 ) ) ↑ 3 ) = ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) )
62 58 61 eqtrd ( 𝜑 → ( 𝑇 ↑ 3 ) = ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) )
63 49 sqsqrtd ( 𝜑 → ( ( √ ‘ 𝐺 ) ↑ 2 ) = 𝐺 )
64 63 9 eqtrd ( 𝜑 → ( ( √ ‘ 𝐺 ) ↑ 2 ) = ( ( 𝑁 ↑ 2 ) − ( 4 · ( 𝑀 ↑ 3 ) ) ) )
65 13 a1i ( 𝜑 → 2 ∈ ℂ )
66 36 a1i ( 𝜑 → 4 ∈ ℂ )
67 4ne0 4 ≠ 0
68 67 a1i ( 𝜑 → 4 ≠ 0 )
69 3z 3 ∈ ℤ
70 69 a1i ( 𝜑 → 3 ∈ ℤ )
71 43 12 70 expne0d ( 𝜑 → ( 𝑀 ↑ 3 ) ≠ 0 )
72 66 45 68 71 mulne0d ( 𝜑 → ( 4 · ( 𝑀 ↑ 3 ) ) ≠ 0 )
73 64 oveq2d ( 𝜑 → ( ( 𝑁 ↑ 2 ) − ( ( √ ‘ 𝐺 ) ↑ 2 ) ) = ( ( 𝑁 ↑ 2 ) − ( ( 𝑁 ↑ 2 ) − ( 4 · ( 𝑀 ↑ 3 ) ) ) ) )
74 subsq ( ( 𝑁 ∈ ℂ ∧ ( √ ‘ 𝐺 ) ∈ ℂ ) → ( ( 𝑁 ↑ 2 ) − ( ( √ ‘ 𝐺 ) ↑ 2 ) ) = ( ( 𝑁 + ( √ ‘ 𝐺 ) ) · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) )
75 34 50 74 syl2anc ( 𝜑 → ( ( 𝑁 ↑ 2 ) − ( ( √ ‘ 𝐺 ) ↑ 2 ) ) = ( ( 𝑁 + ( √ ‘ 𝐺 ) ) · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) )
76 35 47 nncand ( 𝜑 → ( ( 𝑁 ↑ 2 ) − ( ( 𝑁 ↑ 2 ) − ( 4 · ( 𝑀 ↑ 3 ) ) ) ) = ( 4 · ( 𝑀 ↑ 3 ) ) )
77 73 75 76 3eqtr3d ( 𝜑 → ( ( 𝑁 + ( √ ‘ 𝐺 ) ) · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) = ( 4 · ( 𝑀 ↑ 3 ) ) )
78 34 50 subcld ( 𝜑 → ( 𝑁 − ( √ ‘ 𝐺 ) ) ∈ ℂ )
79 78 mul02d ( 𝜑 → ( 0 · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) = 0 )
80 72 77 79 3netr4d ( 𝜑 → ( ( 𝑁 + ( √ ‘ 𝐺 ) ) · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) ≠ ( 0 · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) )
81 oveq1 ( ( 𝑁 + ( √ ‘ 𝐺 ) ) = 0 → ( ( 𝑁 + ( √ ‘ 𝐺 ) ) · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) = ( 0 · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) )
82 81 necon3i ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) ≠ ( 0 · ( 𝑁 − ( √ ‘ 𝐺 ) ) ) → ( 𝑁 + ( √ ‘ 𝐺 ) ) ≠ 0 )
83 80 82 syl ( 𝜑 → ( 𝑁 + ( √ ‘ 𝐺 ) ) ≠ 0 )
84 2ne0 2 ≠ 0
85 84 a1i ( 𝜑 → 2 ≠ 0 )
86 51 65 83 85 divne0d ( 𝜑 → ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ≠ 0 )
87 54 a1i ( 𝜑 → ( 1 / 3 ) ∈ ℂ )
88 52 86 87 cxpne0d ( 𝜑 → ( ( ( 𝑁 + ( √ ‘ 𝐺 ) ) / 2 ) ↑𝑐 ( 1 / 3 ) ) ≠ 0 )
89 8 88 eqnetrd ( 𝜑𝑇 ≠ 0 )
90 2 3 4 5 6 7 57 62 50 64 10 11 89 cubic2 ( 𝜑 → ( ( ( ( 𝐴 · ( 𝑋 ↑ 3 ) ) + ( 𝐵 · ( 𝑋 ↑ 2 ) ) ) + ( ( 𝐶 · 𝑋 ) + 𝐷 ) ) = 0 ↔ ∃ 𝑟 ∈ ℂ ( ( 𝑟 ↑ 3 ) = 1 ∧ 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) ) )
91 1 1cubr ( 𝑟𝑅 ↔ ( 𝑟 ∈ ℂ ∧ ( 𝑟 ↑ 3 ) = 1 ) )
92 91 anbi1i ( ( 𝑟𝑅𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) ↔ ( ( 𝑟 ∈ ℂ ∧ ( 𝑟 ↑ 3 ) = 1 ) ∧ 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) )
93 anass ( ( ( 𝑟 ∈ ℂ ∧ ( 𝑟 ↑ 3 ) = 1 ) ∧ 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) ↔ ( 𝑟 ∈ ℂ ∧ ( ( 𝑟 ↑ 3 ) = 1 ∧ 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) ) )
94 92 93 bitri ( ( 𝑟𝑅𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) ↔ ( 𝑟 ∈ ℂ ∧ ( ( 𝑟 ↑ 3 ) = 1 ∧ 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) ) )
95 94 rexbii2 ( ∃ 𝑟𝑅 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ↔ ∃ 𝑟 ∈ ℂ ( ( 𝑟 ↑ 3 ) = 1 ∧ 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) )
96 90 95 bitr4di ( 𝜑 → ( ( ( ( 𝐴 · ( 𝑋 ↑ 3 ) ) + ( 𝐵 · ( 𝑋 ↑ 2 ) ) ) + ( ( 𝐶 · 𝑋 ) + 𝐷 ) ) = 0 ↔ ∃ 𝑟𝑅 𝑋 = - ( ( ( 𝐵 + ( 𝑟 · 𝑇 ) ) + ( 𝑀 / ( 𝑟 · 𝑇 ) ) ) / ( 3 · 𝐴 ) ) ) )