Как каждый доказывает (forall x, P x/\Q x)-> (forall x, P x) в Coq? Попытка в течение многих часов и не может выяснить, как сломать антецедент к чему-то, что может переварить Coq. (Я - newb...
Я ищу инструмент (предпочтенный GUI, но CLI работал бы), который позволяет мне вводить математические выражения и затем выполнять манипуляции ими, но ограничивает меня только математически допустимыми операциями. Кроме того...
Кто-либо знает какие-либо примеры следующего? Разработки доказательства о регулярных выражениях (возможно расширенный с помощью обратных ссылок) в помощниках доказательства (таких как Coq). Программы в зависимо введенном...
Как может я в coq, доказать, что функция f, который принимает bool true|false и возвращает bool true|false (показанный ниже) при применении дважды к единственному bool true|false будет всегда возвращать то же самое значение...
Я прохожу курс «Основы логики» и застрял на последнем упражнении «Основы»: двоичное число записывает преобразователь в его унарное представление: Индуктивный бин: Тип: = | Z | А (...
Я пытаюсь доказать следующую простую теорему о натуральных числах: ((i + j) = (i + k)) - > (j = k) Вот что я имею в Coq: Отмена теоремы: forall (i j k: nat), ((добавьте i j) = (добавьте i k)) ...
[Я не уверен, что это подходит для переполнения стека, но здесь есть много других вопросов о Coq, так что, возможно, кто-то может помочь.] Я работаю над следующим из http: //www.cis.upenn.edu/~ ...
Поскольку существуют полные языки, отличные от тьюринговых, и, учитывая, что я не изучал Comp Sci в университете, может ли кто-нибудь объяснить что-то, что не может сделать неполный по Тьюрингу язык (такой как Coq)? Или ...
Я пытаюсь доказать простую индукцию в двух списках, и по какой-то причине Coq пишет неверную гипотезу индукции. Вот мое доказательство: Лемма eqb_list_true_iff_left_to_right: forall A (eqb: A - > ...
Я пытаюсь доказать простую лемму в Coq, где гипотеза является дизъюнкцией. Я знаю, как разделять дизъюнкции, когда они появляются в цели, но не могу разделить их, когда они появляются в ...
Есть ли поддержка для интерпретации и проверки доказательств Coq в другой среде (например, Java, C ++), отличной от Coq? Очевидный подход заключается в создании целого интерпретатора с нуля, скажем, Java, но я ...
Предположим, у нас есть цель a + b + c + d = a + c + b + d, где a, b, c, d: nat и лемма plus_comm от Arith: plus_comm: forall nm: nat, n + m = m + Можно сделать переписать ...
Я хочу определить минимум и максимум группы, следуя коду, но у него есть проблема. Плз, направь меня. Определение groupmin (sn maxlimit maxsn: nat): nat: = let avg: = div maxlimit maxsn in (sn * ...
Я пытаюсь доказать следующую тривиальную теорему об отмене натуральных чисел: forall i, j, k в nat. ((i + j) = (i + k)) - > (J = K) Вот что я написал в Coq: Теорема отменить: Forall (я J ...
У меня есть две гипотезы в контексте, но когда я пытаюсь применить одну к другой, я получаю ошибку, которую невозможно объединить. Я должен быть в состоянии объединить их. Две гипотезы следующие: IHl: forallb func l = true -...
У меня есть класс, содержащий как данные, так и аксиомы. Я хочу создать еще один экземпляр в режиме доказательства на основе (1) существующего экземпляра и (2) другого ввода. Я хочу уничтожить этот второй вход до ...
У меня есть определенные индуктивные типы: Индуктивный InL (A:Type) (y:A): перечислите-> Опора: = | InHead: forall xs:list A, InL y (подставляет y xs), | InTail: forall (x:A) (xs:list A), InL y xs-> InL y (...
Я пытаюсь использовать функцию для определения рекурсивного определения с помощью меры и получаю сообщение об ошибке: Ошибка: find_call_occs: Prod I ' m размещаю весь исходный код внизу, но моя функция ...
Я пытаюсь определить функцию Аккермана -Петерса в Coq и получаю сообщение об ошибке, которое не понимаю. Как видите, я упаковываю аргументы Акермана a, b в пару ab; Я...
Редактировать 4 :Оказывается, это просто ограничение ввода TTY в целом; в OCaml, Coq или Emacs нет ничего конкретного, что вызывает проблему. Я работаю над программой Coq...
Я играю в Coq,
Мне просто нужна была функция, которая принимает список [1,2,3,2,4] и возвращает что-то вроде Sorted [1,2,3,4] - то есть удаляет плохие части, но ...
В качестве грубой и неискушенной основы в HoTT можно сделать вывод из индуктивно определенного типа Индуктивные пути {X: Type}: X -> X - > Тип: = | idpath: forall x: X, пути x x. который ...
Этот вопрос связан с настройкой режима Coq в Proof General в Emacs. Я пытаюсь заставить Emacs автоматически заменять ключевые слова и обозначения в Coq соответствующими глифами Unicode....
Я прочитал некоторую документацию по инструменту статической проверки Fortify. Одна из концепций, используемых этим инструментом, называется порчей. Некоторые источники, такие как веб-запросы, предоставляют данные, которые испорчены в одном или ...
Я хочу использовать тактику разрушения, чтобы доказать утверждение по случаям. Я прочитал пару примеров в Интернете и запутался. Может кто-нибудь объяснить это лучше? Вот небольшой пример (есть и другие ...
У меня проблемы с пониманием принципов того, что конструктор и как он работает. Например, в Coq нас учили определять натуральные числа следующим образом: Индуктивное nat: Type: = ...
Мне интересно, может ли кто-нибудь сказать мне разницу между Z3 и coq? Мне кажется, что coq является помощником по доказательству в том смысле, что он требует от пользователя заполнения шагов доказательства, тогда как Z3 не имеет...
Документация для Coq содержит общее указание не полагаться на встроенный механизм именования, а выбирать собственные имена, чтобы изменения в механизме именования не сделали прошлые доказательства недействительными....
Может ли кто-нибудь дать мне простой пример экзистенциальной конкретизации и экзистенциального обобщения в Coq? Когда я хочу доказать существование x, P, где P — некоторая Prop, использующая x, я часто хочу назвать...
Контекст: я работаю над упражнениями в Software Foundations. Теорема neg_move: forall x y: bool, x = negb y -> negb x = y.
Доказательство. Допущенный. Теорема evenb_n__oddb_Sn: forall n: nat, evenb n = ...