如何在Isabelle中找到一组数字(nat)中的最大元素。 max函数不起作用,因为它仅定义为最多使用两个元素。我知道如何使用reduce like函数实现它,但我不知道如何从集合中选择一个随机元素。
答案 0 :(得分:4)
您要查找的功能称为Max
。如果您正在寻找基本常量,来自官方Isabelle文档的指南What's in Main通常很有用。还有find_consts
命令可用于按类型搜索函数。
答案 1 :(得分:3)
如果您在主HOL库中遵循Max
到理论Big_Operators
的定义,您会看到它的定义如下:
Max = fold1 max
组合子fold1
是你的“缩减函数”,适用于有限集。
另请参阅理论Finite_Set
及其区域设置folding
,了解此处所需的数学背景,而不是具体列表。