Вопросы по теме 'dafny'
Dafny: повернутая область проверки метода массива
это доказательство дает бесконечный цикл в верификаторе Дафниса:
// Status: verifier infinite loop
// rotates a region of the array by one place forward
method displace(arr: array<int>, start: nat, len: nat) returns (r: array<int>)...
343 просмотров
schedule
15.03.2024
Инвариант цикла недостаточно силен при манипулировании (массивом) полями этого
ОБНОВЛЕНО
Задачи на решение некоторых дафных задач, описанных ниже с заданным классом и соответствующими методами. Если вам нужно что-то еще, пожалуйста, скажите мне, спасибо заранее. Также обновлена ссылка со всем этим кодом вrise4fun....
117 просмотров
schedule
18.03.2024
Линейный поиск Дафни
При работе над базовым линейным поиском я столкнулся с ошибкой в моем предикате Valid(). Кажется, это работает только тогда, когда я раскомментирую дополнительные операторы гарантии в конструкторе и методе данных. То есть, когда я очень подробно...
260 просмотров
schedule
06.06.2024
Почему возникает эта проблема с набором текста?
Пытаюсь написать программу на Дафни, вот часть программы:
method GenerateAllIndexSubsets<T>(q: seq<T>) returns (res: set<set<nat>>)
ensures res == AllIndexSubsets(q)
{
if |q| == 0
{
assert |q| ==...
78 просмотров
schedule
26.04.2024
Почему я не могу вызвать (нестатическую) лемму из призрачного поля в Дафни?
В Dafny lemma реализован как ghost method , поэтому он полезен только для спецификации.
Однако вы не можете вызвать лемму из ghost field , например:
class A {
var i: int;
lemma sum_is_commutative(i: int, j: int)
ensures i +...
241 просмотров
schedule
28.02.2024
странный индекс вне диапазона В Дафни
Когда я запускаю свой код, я получаю ошибку индекса вне диапазона. Та же проблема возникает и с оператором ensures .
Мой код:
datatype CACHE_STATE = I| S| E
datatype MSG_CMD = Empty| ReqS| ReqE| Inv| InvAck| GntS| GntE
type NODE=nat...
801 просмотров
schedule
18.12.2023
в операторе для последовательностей, соответствующих странным в Дафни
Как я могу помочь Дафни доказать, что следующие два утверждения совпадают:
method foo(xs : seq<int>)
requires forall x :: x in xs ==> 0 <= x < 5;
{
assert forall x :: x in xs ==> 0 <= x < 5;
assert forall i :: 0 <=...
34 просмотров
schedule
24.11.2022
Сможет ли дафний ассерт справиться с ! ЛОЖЬ
Окончательное закомментированное утверждение не будет проверено, но при запуске приведенного выше оператора if будет напечатано. ВЫХОД
ohb= true
ohx= false
palin(xe) == false
ohx ==false
function method palin(a:seq<int>) :bool {
forall...
120 просмотров
schedule
10.12.2023
проверка предиката в dafny истинна для всех целых чисел
Я новичок в dafny и пытаюсь проверить, является ли каждое целое число четным или нечетным. У меня есть код ниже:
method Main() {
Test();
}
predicate Test (a : int)
{
assert (forall a :: a % 2 == 0 || a % 2 != 0);
}
Но...
130 просмотров
schedule
14.10.2022
Может ли Дафни проверить суммирование элементов справа?
Привет, я понимаю, что при выполнении индукции Дафни раскрывает спецификацию функции. Таким образом, при написании метода, реализующего функцию, лучше всего перемещаться по массиву в том же направлении. Этому пониманию соответствует поведение...
99 просмотров
schedule
28.11.2023
Dafny недействительный идентификатор
Я получаю ошибку invalid Ident в строке forall (от is до первой i ), кто-нибудь знает почему? Это необычно.
predicate SumMaxToRight(v:array<int>,i:int,s:int)
reads v
requires 0<=i<v.Length
{forall l, is {:induction l} ::...
29 просмотров
schedule
29.12.2023