所以我试图从一组集中获取所有元素,但是我收到了错误:
"集合理解必须产生一个有限的集合,但是Dafny的启发式算法无法弄清楚如何为' x'生成一组有限的值。 "
我认为这可能与您无法获得一组基数的事实有关。
感谢所有帮助。
function flatten(nested: set<set<int>>) : set<int>
{ set x | forall y :: y in nested && x in y :: x }
答案 0 :(得分:1)
以下可能会做你想做的事:
function flatten(nested: set<set<int>>) : set<int>
{
set x, y | y in nested && x in y :: x
}
你的定义完全不同。它说的是“所有y
set<int>
类型y
,nested
位于x
和y
的所有元素集合。在nested
。“这通常是错误的(因此无用),因为它要求set<int>
是包含所有类型S
的集合的有限集。
最后,还要注意,可以使用表达式|S|
获取集合btn.find('span').text('SHOW LESS');
的基数。