Вопросы по теме 'dafny'

Как представить пару (два кортежа) в Dafny?
Как я могу написать dafny function , который принимает последовательность целых чисел и возвращает последовательность пар? например, ввод = [1,2], вывод = [Пара (1,1), Пара (1,2)] я начал с function foo (l : seq<int>) : seq<Pair>...
464 просмотров
schedule 08.04.2023

Дафни: типы с ограничениями
Я пробую кое-что в Дафни. Я хочу закодировать простую структуру данных, которая хранит несжатое изображение в памяти: datatype image' = image(width: int, height: int, data: array<byte>) newtype byte = b: int | 0 <= b <= 255 На...
582 просмотров
schedule 13.07.2023

Буги-вуги в Visual Studio
Мой вопрос о буги-вуги, но поскольку тега буги не было, я использовал тег dafny как тесно связанный с буги-вуги. Я построил Boogie в Visual Studio, следуя инструкциям в документации. Что мне делать дальше, чтобы написать код Boogie или, что то же...
168 просмотров
schedule 29.03.2023

Дафни проверяет сортировку вставками, используя своп
Я работаю над тем, как использовать dafny для проверки сортировки вставками с помощью «перестановки» соседних элементов, но я не могу найти разумный инвариант для цикла while, может ли кто-нибудь помочь мне это исправить? Вот ссылка:...
476 просмотров
schedule 10.07.2023

постусловие простого метода может не выполняться
У меня проблемы с этим простым методом в Дафни, и я не знаю, почему он не работает. Поскольку отладчика нет, а я новичок в этом языке, надеюсь, кто-нибудь сможет помочь. Я думаю, что спецификация неполная .. method Q2(x : int, y : int) returns...
538 просмотров
schedule 30.09.2022

Как избежать убавок и модифицировать нарушение?
Как я могу избежать ошибки уменьшения, если мой индекс не будет уменьшаться после каждой итерации? И почему я получаю предложение модификации для объекта и массива, в то время как я использую для них предложение модификации? class ownerIndexs{...
55 просмотров
schedule 06.12.2023

Что такое действительные числа в Дафни?
Какие реальные числа в Дафни. Представлены ли они как числа с плавающей запятой IEEE 754-2008? Если нет, то какие они? То есть, какова спецификация реального типа в Дафни?
321 просмотров
schedule 06.12.2022

нарушение утверждения при проверке функции Max в Dafny?
Следующая программа приводит к нарушению утверждения assert v==40 : почему ? Программа может быть проверена, когда массив a содержит только один элемент. method Max(a:array<int>) returns(max:int) requires 1<=a.Length ensures forall...
402 просмотров
schedule 06.04.2023

В Dafny, как я могу исправить значение, не удовлетворяющее ограничениям подмножества ошибки 'nat' при делении?
Этот код Дафни : method Div(n: nat, d: nat) returns (q: nat) requires d > 1 { q := n / (d - 1); } выдает эту ошибку: Dafny 2.1.1.10209 stdin.dfy(4,9): Error: value does not satisfy the subset constraints of 'nat' Dafny program...
359 просмотров

Дафни, назначение фрагмента последовательности массиву
в моей программе Dafny у меня есть массив input:array?<int> с четной длиной, который я хочу разрезать на две равные части, отсортировать их по отдельности и затем объединить в упорядоченном порядке. ( сортировка вставками в уже реализованном...
1472 просмотров
schedule 01.07.2022

Дафни, в массиве нет дубликатов
в моей программе есть предикат sorted . forall i,j :: 0<=i<j<a.Length ==> a[i]<a[j] Я думаю, что просто проверка < , а не <= позволяет избежать дублирования в массиве, но в любом случае я хочу иметь предикат, который...
439 просмотров
schedule 25.10.2022

Эпсилон-оператор Гильберта
Почему вы можете использовать оператор Гильберта эпсилон в методе и в функции, но не в «методе функции»? method choose<T>(s:set<T>) returns (x:T) requires s != {} { var z :| z in s; return z; } function...
111 просмотров
schedule 14.05.2023

Инвариант цикла Дафни не поддерживается циклом th
я должен создать условия pre и pos для метода вставки класса кучи, куча должна быть minHeap и должна быть завершена, мой инвариант имеет ошибку, которая гласит: «этот инвариант цикла может не поддерживаться циклом ." class Heap { var size:...
329 просмотров
schedule 29.01.2023

Доказательство алгоритма НОД с Дафни
Я пытаюсь доказать алгоритм gcd с Дафни, и это, видимо, не так просто. На данный момент у меня есть (на самом деле немного) функциональная спецификация, и Дафни удалось доказать, что compute_gcd ведет себя именно так. Однако, когда я удаляю...
570 просмотров
schedule 16.06.2023

Изменение массива в Dafny с помощью постусловий
Пытаемся реализовать довольно простой метод, когда вы передаете пустой массив и помещаете в него значения (натуральные числа). Код работает нормально, но простое постусловие, которое должно пройти в моей голове, выдает мне ошибки. method Main()...
304 просмотров
schedule 01.07.2023

нарушение ассертов в МВС с Дафни, но проверено в Rise4fun
https://rise4fun.com/Dafny/ZkKN Это утверждение не проверяется Dafny 2.3.0. над MVS, но проверено вrise4fun, естественно с предупреждением о триггерах. Это вызывает «Проверка неубедительна». Более того, https://rise4fun.com/Dafny/Um6t не...
148 просмотров
schedule 17.07.2023

LHS присваивания должен обозначать изменяемую переменную
datatype CACHE_STATE = I| S| E datatype MSG_CMD = Empty| ReqS| ReqE| Inv| InvAck| GntS| GntE type NODE=nat type DATA=nat type boolean=bool class class_0 { var Data : DATA, Cmd : MSG_CMD } class class_1 { var Data : DATA, State : CACHE_STATE...
216 просмотров
schedule 17.09.2022

Дафни разница между seq‹int› и массивом‹int›
Кажется, я не вижу разницы между seq<int> и array<int> Дафни. Соответствуют ли они своим объектам SMT? (не уверен, потому что массивы в dafny имеют .Length )
218 просмотров
schedule 03.08.2023

dafny нарушение утверждения при использовании результата метода
Я написал программу ниже, чтобы проверить, является ли массив «чистым» от любого конкретного элемента или нет. У меня возникли проблемы с утверждением результата метода. Я продолжаю получать нарушение утверждения при попытке подтвердить результат...
206 просмотров
schedule 03.05.2023

Кабина Дафни использует импортированный ADT в команде матча
Привет, у меня проблемы с тайм-аутом, и я пытаюсь разбить свой файл на разные модули в надежде, что проверенный модуль не нужно будет повторно проверять в коде VS при работе с модулем, который его импортирует. Если кто-нибудь знает, является ли это...
51 просмотров
schedule 03.01.2023