Coq 如何找到最大元素

Coq 如何找到最大元素,coq,Coq,我想在四个自然数列表中找出最大的元素。元素按顺序排列(从1到list1中的n,1到list2中的n-1,1到list3中的n+4,1到list4中的n-2),我也有它们的长度。我比较了两个列表以找到长度更大的列表,但在比较前两个列表与第三个和第四个列表的结果时遇到了一个问题 Definition sort (l1 l2 : list nat) : nat := if leb (length l1) (length l2) then length l2 else if

我想在四个自然数列表中找出最大的元素。元素按顺序排列(从
1
list1
中的
n
1
list2
中的
n-1
1
list3
中的
n+4
1
list4
中的
n-2
),我也有它们的长度。我比较了两个列表以找到长度更大的列表,但在比较前两个列表与第三个和第四个列表的结果时遇到了一个问题

Definition sort (l1 l2 : list nat) : nat :=
    if leb (length l1) (length l2) then 
      length l2
    else if leb (length l2) (length l1) then
      length l1
    else 0.

请指导我。

你到底想做什么?您有四个列表
l1
l2
l3
l4
,希望获得这四个列表中最长的列表?顺便说一下,关于您已经编写的内容,如果
没有必要,如果
|l1 |≤ |l2 |
不起作用,则
| l2 |≤ |l1 |
可以。你不需要测试它,我有4个natlist.l1[1,2,3,4]l2[1,2,3]l3[1,2,3,4,5]l4[1,2]。我想在四个列表中找到最大或相等的元素。就像在第一次迭代中,它应该是5,在第二次迭代中,它应该是4,在第三次迭代中,它应该是3,然后是2和1。从最高元素开始,然后向最低元素移动。我已经完成了l2|≤ |l1 |,因为在这个测试条件之后,我得到了自然数,我想在l2和l3的测试条件中使用它。这不总是
n+4