|
Author |
TSC999
Posted 2023-4-12 18:25
以下是【数学中国】网友 creasson 给出的用 MMA 写的证明程序。
- Clear["Global`*"]; (*令 s=tanA/2, t=tanB/2, u=1/tan\[Angle]BAC*)
- Print["根据构图,可直接引用此构图下的各点坐标如下(但 F 点的坐标最终尚取决于参变数 u 的取值): "];
- points = {B -> 0, C -> 1, A -> ((s + t) (1 - s t))/(s (1 - I t)^2), pI -> (1 - s t)/(1 - I t), D -> (2 I (s^2 t + s (t^2 - 1) - t))/((t + I) (s^2 t - 2 s - t)), pE -> ((t - I) (s t - 1))/((t + I) (s t + 1)), F -> (1 + I*(1 - s^2)/(2 s))/(1 - I u)}(*pI是内心的表示*)(*取值范围限定*)
- cond = s > 0 && t > 0 && 1 - s t > 0;(*根据D,E,F共线得到u的方程:*)
- uEQ = (Factor[ComplexExpand[Im[#]]] //
- Numerator) &@((D - F)/(D - pE) /. points);(*因D,E,F共线所以该式虚部的分子为零*)
- Print["参数 u 应满足以下方程: "];
- Print[uEQ, " = 0 -------①"];
- Print["根据 F 点的位置确定参数 s、t、u 的取值范围如下: "];
- cond = Reduce[Factor[ComplexExpand[Im[(F - B)/(A - B) /. points]]] > 0 && cond, {s, t, u}]
- (*计算 FA,FB,FC的长度*)
- Print["FA、FB、FC 的长度: "];
- dists = FullSimplify[ComplexExpand[Abs[#]], Assumptions -> cond] & /@ ({F - A, F - B, F - C} /. points);
- {FA -> dists[[1]], FB -> dists[[2]], FC -> dists[[3]]}
- target = (1/dists[[2]] - 1/dists[[1]] - 1/dists[[3]]) // Factor;
- Print["如果能证明下面这个式子等于零,则完成证明: "];
- Print[target, " -------②"];
- Print["因为 ① 式等于零,而 ① 式的前两个因式不等于零,故第三个因式应为零。② 式分子中也有这个因式,所以 ② 式必为零,故命题 1/FB - 1/FA -1/FC = 0 成立。"]
Copy the Code |
|