Вопросы по теме '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 просмотров
schedule
05.04.2023
Дафни, назначение фрагмента последовательности массиву
в моей программе 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