Вопросы по теме 'isabelle'
Как я могу легко написать простые тактики на уровне машинного обучения Изабель?
В теоретическом файле Изабель я могу написать простые однострочные тактики, например следующие:
apply (clarsimp simp: split_def split: prod.splits)
Однако я обнаружил, что, когда я начинаю писать код ML для автоматизации доказательств, для...
1010 просмотров
schedule
22.02.2023
Использование кортежей в определениях
Я хочу создать определение, аргументом которого является кортеж.
definition my_def :: "('a × 'a) ⇒ bool" where
"my_def (a, b) ⟷ a = b"
Однако это не принято. Сообщение об ошибке
Bad arguments on lhs: "(a, b)"
The error(s) above...
455 просмотров
schedule
28.01.2024
Отбросьте переменную в цели в стиле применения
Недавно узнав, , как удалить нежелательную предпосылку в стиле применения доказательство , теперь мне интересно, как удалить ненужную переменную . То есть, допустим, у меня есть цель
1. !!x y z. A ⟹ B ⟹ C
где y не появляется в A , B...
94 просмотров
schedule
27.06.2022
Почему переименовывается метауниверсально квантифицированная переменная и как это предотвратить?
Рассмотрим следующий глупый пример
theory meta_all
imports Main
begin
lemma strict_subset: "⟦ A ⊂ B ⟧ ⟹ ∃a ∈ B. a ∉ A"
apply(blast)
done
lemma strict_subset2: "∀A B. A ⊂ B ⟶ (∃a ∈ B. a ∉ A)"
apply(blast)
done
lemma "¬ (∃A. A ⊂ A)"
apply(rule...
517 просмотров
schedule
22.01.2024
Как скрыть определенные константы
Когда я импортирую файлы теории, которые поставляются с определенными константами (для рекурсивных функций или определений), такими как f , как я могу скрыть такую константу в текущем файле теории? Другими словами, я хочу убедиться, что f...
164 просмотров
schedule
04.01.2023
Какие определения типов допустимы в местных контекстах?
В файле NEWS Изабель я нашел
Команда typedef теперь работает в локальном теоретическом контексте — без введения зависимостей от параметров или предположений, что невозможно в Isabelle/Pure/HOL. Обратите внимание, что логическая среда может...
570 просмотров
schedule
22.07.2022
Изабель: как напечатать результат 1 + 2?
это вопрос новичка.
Я прохожу учебник "Программирование и проверка в Isabelle/HOL".
Я хочу напечатать результат «1 + 2».
Поэтому я написал:
value "1 + 2"
Который дает:
"1 + (1 + 1)"
:: "'a"
Я хотел бы увидеть результат, то...
650 просмотров
schedule
22.05.2023
Изабель: Кувалда находит доказательство, но оно не работает
Часто у меня возникает проблема, что sledgehammer находит доказательство, но когда я вставляю его, оно не прекращается. Думаю, sledgehammer - одна из самых важных частей Изабель, но потом это начинает раздражать, если доказательство не удается....
1685 просмотров
schedule
30.03.2022
Изабель: максимальное значение в векторе
Я хотел бы найти максимум в векторе натуральных чисел. Однако вектор (т. е. «vec») отличается от набора или списка. Я думал о нескольких идеях, которые не сработали, вроде выравнивания или поднятия типа vec или определения рекурсивной функции....
318 просмотров
schedule
16.11.2022
Почему мое определение функции, которая выбирает элемент из конечного набора, несовместимо?
Я хотел бы рассуждать о функциях, которые выбирают один элемент из конечного множества.
Я попытался определить предикат, который сообщает мне, является ли некоторая данная функция такой функцией «выбора»:
definition chooser :: "('a set ⇒ 'a) ⇒...
128 просмотров
schedule
12.03.2022
Как включить трассировку в Isabelle / jEdit
Я фанат vim , но только emacs имеет эту среду Isabelle / HOL. jEdit великолепен, но я не могу использовать
using [[simp_trace=true]]
как в emacs .
Как включить «Трассировку» в jEdit ?
1867 просмотров
schedule
07.01.2023
Как определить «Большинство» в Isabelle/FOL?
Я пытаюсь дополнить FOL.thy квантором MOST , который я намереваюсь определить как простое большинство, т. е.
(MOST x. P(x)) ==> card P(x) > card ~P(x).
Я не знаю, как изменить файл FOL.thy . Под axiomatization думал добавить:...
240 просмотров
schedule
17.12.2022
Изабель: степень многочлена, умноженная на константу
Я работаю с библиотекой HOL/Library/Polynomial.thy .
Простое свойство не сработало. Например, степень 2x *2 равна степени 2x -
Как я могу доказать леммы (т.е. убрать извинения):
lemma mylemma:
fixes y :: "('a::comm_ring_1 poly)"...
105 просмотров
schedule
18.06.2022
Изабель: Метис: состояние доказательства содержит универсальную сортировку {}
Метис предупреждает меня:
Metis: Proof state contains the universal sort {}
("HOL/Tools/Metis/metis_tactic.ML")
Что означает это предупреждение? Означает ли это, что метис-доказательство «менее надежно», чем без предупреждения?
124 просмотров
schedule
05.06.2022
Доказательство A == ›B ==› C == ›B в Изабель
Я озадачен доказательством
A ==> B ==> C ==> B
в Изабель. Очевидно, вы могли
apply simp
но как я могу доказать это с помощью правил?
Как вариант, есть ли способ сбросить использованные simp правила? Спасибо.
285 просмотров
schedule
03.06.2022
Изабель: остановить simp от разделения кортежа
Как я могу остановить метод simp от разделения кортежа на его компоненты?
Пример . Если я напишу
fun foo where "foo z = blah z"
lemma "∃z :: nat × nat × nat × nat × nat. foo z"
состояние доказательства - ∃z. foo z . Если я тогда...
96 просмотров
schedule
05.01.2023
Обеспечить различимость типов данных
Я определил следующий тип данных в Isabelle
datatype bc_t = B | C
и не вижу, как доказать следующую основную лемму
lemma "∀ x::bc_t . (x=B ⟶ x≠C)"
При предположении B≠C доказательство проходит:
lemma "⟦B≠C; x=B⟧ ⟹ x≠C"
by...
106 просмотров
schedule
22.10.2022
Unfold/simp не влияет на доказательство создания экземпляра класса типа primrec.
Еще несколько дней назад я всегда определял тип, а затем доказывал теоремы непосредственно о типе. Теперь я пытаюсь использовать классы типов.
Проблема
Проблема в том, что я не могу создать экземпляр cNAT для моего типа myD ниже, и,...
115 просмотров
schedule
26.08.2022
Как явно связать переменные в доказательстве индукции?
У меня есть тип данных и индуктивный предикат над ним (который на самом деле является семантикой небольшого шага какой-то системы перехода):
datatype dtype = E | A | B dtype
inductive dsem :: "dtype ⇒ dtype ⇒ bool" where
"dsem A E"
| "dsem (B...
170 просмотров
schedule
20.06.2022
Как мне написать эту функцию на SML
Я пытаюсь написать функцию в Isabelle для некоторых задач в задании, и я хотел убедиться, что моя функция работает правильно, поэтому я подумал о тестировании ее в SML, но, похоже, не могу понять, как ее написать . Я никогда не использовал / не...
211 просмотров
schedule
23.03.2022