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

Dafny - Методы вызова внутри операторов if?
Как следует из названия, я хотел бы вызвать метод, который изменяет некоторые переменные внутри оператора if другого метода, например: method A ... { ... // Modifies some variables } method B ... { ... if(statement){ A();...
918 просмотров
schedule 30.01.2023

Dafny: не найдено условий, вызывающих срабатывание сообщения об ошибке
У меня есть массив line , содержащий строку длины l , pat — это другой массив, содержащий строку длины p . Примечание. p и l не являются длиной массивов. Цель состоит в том, чтобы увидеть, существует ли строка, содержащаяся в pat , в...
886 просмотров
schedule 21.12.2023

Можно ли использовать Dafny неинтерактивно, например, из программы на Python?
Я хотел бы узнать, проверяет ли конкретная программа Dafny. Dafny обычно используется для интерактивной разработки программ внутри Visual Studio IDE. Однако мне нужно выполнить запрос неинтерактивным образом. В частности, мне нужно запросить...
99 просмотров
schedule 01.08.2023

Квантификатор Дафни не создается полезно при столкновении с тестовыми данными
Я пытаюсь создать предикат в dafny, который определяет, содержит ли массив символов дубликаты. В конечном итоге он должен проверять что-то вроде: для любых двух элементов в массиве, если значения theor равны, их индекс также должен быть равен....
80 просмотров
schedule 02.02.2023

суммирование списка чисел в dafny
Я использую dafny для доказательства инварианта суммирования списка чисел: function sum (s: seq<int>, i: int) : int { if |s| == 0 || i == 0 then 0 else s[0] + sum(s[1..], i - 1) } /* code: cnt = 0; while i < |input| cnt...
1215 просмотров
schedule 13.08.2022

Предикат Дафни ни истинен, ни ложен
Как может предикат Дафни быть ни истинным, ни ложным? Этот: predicate sorted(s: seq<int>) { forall j, k :: 0 <= j < k < |s| ==> s[j] <= s[k] } lemma SortedTest() { assert sorted([1, 3, 2]); assert !sorted([1, 3,...
428 просмотров
schedule 06.06.2023

Модель Z3 для правильного метода Дафни
Может ли Z3 для правильного метода найти модель условия проверки метода? Я думал, что нет, но вот пример, где метод правильный однако проверка находит модель. Это было с Dafny 1.9.7.
399 просмотров
schedule 19.05.2023

Как доказать количество Дафни ‹ размер
Сейчас я изучаю Дафни. Я полностью смущен леммой, и я не знаю, как ее использовать. Учебник не очень полезен. Что, если я хочу доказать count(a) <= |a| , как мне это сделать. Спасибо за помощь. function count(a: seq<bool>): nat...
275 просмотров
schedule 27.12.2023

xbuild dafny на Linux ошибка CS0518
Я следовал инструкциям в документации по установке Dafny в Linux, но когда я использую xbuild dafny/Source/Dafny.sln , я получаю следующую трассировку: reference:/usr/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll /warn:4...
317 просмотров
schedule 29.04.2024

Контекст Dafny изменяет ошибку предложения
Мне очень трудно избавиться от последней ошибки в моей программе Dafny. Может ли кто-нибудь указать мне в правильном направлении? Вот код: http://rise4fun.com/Dafny/2FPo Я получаю эту ошибку: присваивание может обновить элемент массива не в...
1763 просмотров
schedule 02.07.2023

Дафни: Почему я ввожу массив Дафни говорит, что это последовательность
Действительно ясно, что ввод представляет собой массив, но почему, когда он переходит к флагу [1..], он говорит, что флаг — это последовательность? Вот ссылка: http://rise4fun.com/Dafny/fUgu
620 просмотров
schedule 18.10.2023

(Dafny) Поиск в массиве - вариант цикла, ограниченный нулем?
Рассмотрим следующий код Dafny , который пытается найти элемент e внутри массива a : method findE(a:array<int>, e:int, l:int, u:int) returns (result:bool) requires a != null requires 0 <= l <= u < a.Length ensures...
504 просмотров
schedule 26.10.2022

Дафни отвергает простое постусловие
Ниже приведена первая попытка доказать различные простые теоремы, в данном случае о четности. Дафни /в. 1.9.9.40414/ проверяет, что добавление 2 к четному числу дает четное число, но не принимает ни одно из закомментированных условий. function...
300 просмотров
schedule 26.11.2022

Инвариантный набор может варьироваться
Метод, который копирует отрицательные элементы массива целых чисел в другой массив, обладает тем свойством, что набор элементов в результате является подмножеством элементов в исходном массиве, который остается неизменным во время копирования....
295 просмотров
schedule 23.01.2024

Dafny Call может нарушать условие изменения контекста
Я пытаюсь проверить хэш-набор, но у меня возникла проблема с моим методом вставки. Я не понимаю, почему я получаю сообщение об ошибке «вызов может нарушить условие изменения контекста», когда я раскомментирую вставки в main. Я считаю, что это...
835 просмотров
schedule 05.04.2023

Различные отсортированные предикаты должны быть эквивалентны в Dafny.
Согласно Автоматизация индукции с помощью SMT Solver на Dafny должно работать следующее: ghost method AdjacentImpliesTransitive(s: seq<int>) requires ∀ i • 1 ≤ i < |s| ==> s[i-1] ≤ s[i]; ensures ∀ i,j {:induction j} • 0 ≤ i < j...
142 просмотров
schedule 23.03.2023

Ограничения типа в Dafny: реализация Show для бинарного типа отношения
Я определил тип полиморфного бинарного отношения (класс) в Dafny: class binRel<S,T> Фактическая декларация: class binRel<S(!new,==),T(!new,==)>. Я хотел бы добавить новое ограничение типа: типы S и T должны реализовывать...
67 просмотров
schedule 08.02.2023

Покажи сумбурную ровность в Дафни
Вот код, который я пытаюсь доказать: function rec_even(a: nat) : bool requires a >= 0; { if a == 0 then true else if a == 1 then false else rec_even(a - 2) } method Even(key: int) returns (res: bool) requires key...
191 просмотров
schedule 27.01.2023

Инвариант цикла Дафни, не поддерживаемый циклом
Моя задача — инициализировать матрицу 8x8 и убедиться, что все элементы внутри матрицы равны нулю. Я также должен использовать циклы while и инварианты циклов для реализации. Моя реализация выглядит так: method initMatrix(a: array2<int>)...
2648 просмотров
schedule 03.11.2022

Функция Dafny, недопустимое логическое выражение в цикле while
Я новичок в Dafny и получаю некоторые ошибки, которые не могу понять. в моей программе Dafny для insertionSort ( код находится здесь ), я не понимаю, почему я получаю invalid logical expression on В то время как цикл над переменной i ....
1180 просмотров
schedule 10.03.2024