【发布时间】:2021-02-11 07:36:04
【问题描述】:
我们正在努力验证具有如下三个功能的系统。但是,我们不知道如何进一步处理这样的证明。 Coq 函数的实际定义可以共享。请指导我们。
Parameter weights : nat -> list nat -> nat -> nat.
Parameter schedule: nat -> list nat -> list nat.
Parameter count: nat -> list nat -> nat.
Lemma high_weight_jobs: forall (s1 s2 jobs: nat) (S: list nat),
jobs > 0 ->
length S > 0 ->
weights s1 S 0 > weights s2 S 0 ->
count s1 (schedule jobs S) > count s2 (schedule jobs S).
Proof.
intros.
induction S as [ | h tl IHS].
+ simpl in *. inversion H0.
+
Admitted.
【问题讨论】:
-
你的定理结论不是从你给出的前提中得出的。您必须添加有关这些功能的更多信息。另外,请不要使用大写的 S 来表示
list nat,这会使代码更难阅读,因为按照约定,S 代表 nat 的构造函数。 -
@larsr 鉴于函数“计划”正在使用“权重”,我认为不需要更多假设。如果您知道建议添加更多信息或假设的反例,请分享。