我正在与图书馆HOL/Library/Polynomial.thy
合作。Isabelle:多项式次数乘以常数
一个简单的属性不起作用。例如,中2x *2
度等于2x
程度 -
我如何证明引理(即去掉 “对不起”):
lemma mylemma:
fixes y :: "('a::comm_ring_1 poly)" and x :: "('a::comm_ring_1)"
shows "1 = 1" (* dummy *)
proof-
have "⋀ x. degree [: x :] = 0" by simp
from this have "⋀ x y. degree (y * [: x :]) = degree y" sorry
(* different notation: *)
from this have "⋀ x y. degree (y * (CONST pCons x 0)) = degree y" sorry
。
从Manuel的答案,解决我一直在寻找:
have 1: "⋀ x. degree [: x :] = 0" by simp
{
fix y :: "('a::comm_ring_1 poly)" and x :: "('a::comm_ring_1)"
from 1 have "degree (y * [: x :]) ≤ degree y"
by (metis Nat.add_0_right degree_mult_le)
}
感谢您的超级回答。事实上,“<= y度”对我的证明来说已经足够了。 – mrsteve
在这种情况下,我sugest degree_mult_le,它甚至在交换半环上工作。 –