Результаты поиска по запросу "dafny"

1 ответ

Там нет никаких теоретических трудностей, просто вопрос добавления реализации. В самом деле, если выражение было сначала преобразовано в дизъюнкцию, то текущая эвристика может выполняться для каждого дизъюнкта, а затем результаты могут быть объединены. Реализация уже настроена для работы с различными видами «ограниченных пулов», поэтому добавление всеобъемлющего «ограниченного пула дизъюнкции» подойдет. (Это был бы отличный студенческий проект. :))

ни нет проблем с этим определением функции пересечения множеств. function method intersection(A: set<int>, B: set<int>): (r: set<int>) { set x | x in A && x in B }Но когда дело доходит до объединения, Дафни жалуется, «понимание набора должно ...

1 ответ

Иногда наиболее естественный способ написания формулы не содержит действительных триггеров, как это было в вашем первоначальном примере. В этом случае Дафни предупредит вас. Иногда проверка в любом случае будет успешной, но в больших программах вам часто придется исправлять эти предупреждения. Хорошая общая стратегия состоит в том, чтобы ввести новую функцию, абстрактную часть квантифицированной формулы, которая может служить триггером.

учаю предупреждение в Дафни, в котором говорится, что мои квантификаторы имеют No terms found to trigger on. Что я пытаюсь сделать для своего кода, так это найти наибольшее число, имеющее квадратное значение, которое меньше или равно заданному ...

ТОП публикаций