Coq 与自然数列表中最大元素的小于或等于关系

Coq 与自然数列表中最大元素的小于或等于关系,coq,Coq,我想使用list\u max\u le的定义。在应用“搜索列表”后,我什么也没有得到。如何在Coq中定义列表最大值?我想您已经有了需要导入列表。这样检查列表最大值。就可以工作了。Search list\u max\u le.不显示任何内容,因为Search搜索的引理在其类型/语句中具有搜索项,但在其类型中没有具有list\u max\u le的引理。您可以执行Search“list\u max\u le”。搜索名称中包含list\u max\u le的引理 如果问题是“我如何找到需要的模块?”:

我想使用list\u max\u le的定义。在应用“搜索列表”后,我什么也没有得到。如何在Coq中定义列表最大值?

我想您已经有了
需要导入列表。
这样
检查列表最大值。
就可以工作了。
Search list\u max\u le.
不显示任何内容,因为
Search
搜索的引理在其类型/语句中具有搜索项,但在其类型中没有具有
list\u max\u le
的引理。您可以执行
Search“list\u max\u le”。
搜索名称中包含
list\u max\u le
的引理

如果问题是“我如何找到需要的模块?”:我可以在谷歌上搜索“Coq标准库
引理名称”
,也可以在Coq源的理论文件夹中搜索grep。也许我们应该有一个包含完整标准库的文件,以便更容易地搜索引理

Require Import List.
Search "list" "max".
通过使用引号
可以搜索名称中包含指定字符串的定义。
上面的搜索将生成结果

list_max: list nat -> nat
list_max_le:
  forall (l : list nat) (n : nat), list_max l <= n <-> Forall (fun k : nat => k <= n) l
list_max_app:
  forall l1 l2 : list nat, list_max (l1 ++ l2) = Nat.max (list_max l1) (list_max l2)
list_max_lt:
  forall [l : list nat] (n : nat),
  l <> nil -> list_max l < n <-> Forall (fun k : nat => k < n) l
但在这种情况下,定义的可读性不是很强

如果不使用
”进行搜索,则使用尝试匹配部分类型定义的模式进行搜索

所以如果你搜索

Search list_max.
您可以搜索包含术语
list\u max
的所有定义

list_max_le:
  forall (l : list nat) (n : nat), list_max l <= n <-> Forall (fun k : nat => k <= n) l
list_max_app:
  forall l1 l2 : list nat, list_max (l1 ++ l2) = Nat.max (list_max l1) (list_max l2)
list_max_lt:
  forall [l : list nat] (n : nat),
  l <> nil -> list_max l < n <-> Forall (fun k : nat => k < n) l

如果您需要导入列表。

搜索“最大”列表。


将向您展示有关最大值和列表的所有已知信息。

我已在Coq脚本中添加了列表最大值的定义。但我还是得到了这样一条信息“list\u max\le not a defined object”。奇怪的是,你能最小化你的脚本并展示给我们吗?我有一个引理,它的说法是,如果自然数列表中的最大值为零,那么任何第n个索引处的值也为零。证明子目标“Forall(fun x:nat=>x您是否有
需要导入列表。
作为您文件的第一行?搜索“列表”“最大值”。返回什么?
list_max_le:
  forall (l : list nat) (n : nat), list_max l <= n <-> Forall (fun k : nat => k <= n) l
list_max_app:
  forall l1 l2 : list nat, list_max (l1 ++ l2) = Nat.max (list_max l1) (list_max l2)
list_max_lt:
  forall [l : list nat] (n : nat),
  l <> nil -> list_max l < n <-> Forall (fun k : nat => k < n) l
Search  "ind" list.