【发布时间】:2021-04-28 23:04:06
【问题描述】:
假设我有一个名为dtyp 的数据类型。看起来是这样的
datatype dtype = T bool int
我想定义一个函数extr :: "dtype multiset => int multiset",它接受这些dtype 元素的多重集,并返回一个包含每个dtype 元素中的整数的多重集。比如:
value "extr {#T True 4, T False 5, T False 7#}" 应该给{#4,5,7#}
我首先想到迭代多重集,但我知道这是不可能的,因为这些多重集是基于不可迭代的普通集。然后我想到了全称量词,但我不确定在这种情况下如何使用它们。我可以帮忙吗?
提前致谢!
【问题讨论】:
标签: function functional-programming isabelle algebraic-data-types multiset