Итак, я пытаюсь получить все элементы из набора наборов, но получаю сообщение об ошибке:
«понимание множества должно производить конечное множество, но эвристика Дафни не может понять, как создать ограниченный набор значений для 'x'»
Я думаю, что это может быть связано с тем, что вы не можете получить кардинальность множества.
Ценю всю помощь.
function flatten(nested: set<set<int>>) : set<int>
{ set x | forall y :: y in nested && x in y :: x }