coq
Я следовал (неполным) примерам в справочном руководстве Coq 8. 5p1 в главе 11 о математическом / декларативном языке доказательства. В приведенном ниже примере для итерационных равенств (~= и =~) я получил предупреждение Insufficient Justification для перезаписи 4 в 2+2, и в конечном итоге получил ошибку, гов...
У меня возникли проблемы с импортом определений из модулей в Coq. Я новичок в Coq, но не смог решить проблему, используя справочное руководство по языку или онлайн-учебник. У меня есть модуль, который определяет сигнатуру и аксиомы для конечных множеств, которые я намерен реализовать в другом модуле. Это еще ...
Я определил свои пропозициональные формулы следующим образом: Inductive propForm : Set := | top : propForm | bot : propForm | var : propVar -> propForm | orp : propForm -> propForm -> propForm | andp : propForm -> propForm -> propForm. Я пытаюсь определить функцию для преобразования пропози...
Иногда у меня есть доказательство, которое лучше всего сделать, проецируя в другое пространство. В данный момент я делаю следующее: remember (f x) as y eqn:H; clear H; clear x. Я попытался автоматизировать это с помощью Ltac: Ltac project x y := let z := fresh in remember x as y eqn:z; clear z; cl...
Я пытаюсь определить вложенную рекурсивную функцию по двум параметрам в Coq. Require Import List. Import ListNotations. Fixpoint map_sequence2 {A B C : Set} (f : A -> B -> option C) (xs : list A) (ys : list B) : option (list C) := match xs, ys with | [], [] => Some [] | x :: xs, y :: ys => m...
Я новичок в зависимых типах (я пробую и Idris, и Coq, несмотря на их большие различия). Я пытаюсь выразить следующий тип: задан тип T и последовательность k НАТОВ n1, n2, ... nk, тип, состоящий из K последовательностей T длиной n1, n2, ... nk соответственно . , то есть вектор из k векторов, длины которых за...
Предположим, что у меня есть гипотеза H : forall ( x : X ), P x и переменная x : X в контексте. Я хочу выполнить универсальную инстанциацию и получить новую гипотезу H' : P x. Какой самый безболезненный способ сделать это? По-видимому, apply H in x не работает. assert ( P x ), за которым следует apply H, но э...
У меня есть матрица типа списка векторов. А вектор-это список целых чисел. Он находится в структуре данных XSD. Я хочу знать, как структура данных читает этот конструктор, это они читают сверху вниз или снизу вверх? более конкретно я хочу знать, как этот список выглядит в Coq и OCaml. Из моего понимания: У ...
При использовании Program операторы соответствия переписываются в стиль "proof-passing". Это делает доказательства соответствия доступными в ветвях-что может быть критично. Однако это также, по-видимому, затрудняет анализ конкретных случаев. Например: Require Import ZArith. Open Scope Z_scope. Program De...
поскольку там есть не полные языки Тьюринга, и учитывая, что я не изучал Comp Sci в университете, может ли кто-нибудь объяснить что-то, что Тьюринг-неполный язык (например Coq) не может сделать? или это полнота / неполнота не реального практические интерес (т. е. это не имеет большого значения на практике)? ...