Свързани въпроси 'coq'
Как да докажем x + y - z = x + (y - z) в Coq
Искам да докажа това:
1 subgoals
x : nat
y : nat
z : nat
______________________________________(1/1)
x + y - z = x + (y - z)
Изглежда тривиално, но много ме обърква и ми трябва за поредното доказателство.
Благодаря.
182 изгледи
schedule
01.10.2022
Без подразбиране в зависим модел на съвпадение с ssreflect
Струва ми се, че с ssreflect имплицитните полета на конструктора се превръщат в експлицитни полета, когато правим зависимо съвпадение на шаблони, и задаването на различни косвени опции не засяга това поведение.
Следният код е добре с Coq 8.6:...
78 изгледи
schedule
30.09.2022
Доказване, че умножението е комутативно
Така че това е едно от упражненията, които работя от Софтуерни основи , в който трябва да докажа, че умножението е комутативно. И това е моето решение:
Theorem brack_help : forall n m p: nat,
n + (m + p) = n + m + p.
Proof.
intros n m p....
3072 изгледи
schedule
11.10.2022
За пълно въвеждане в coq?
Опитвам се да докажа (класически).
~ (forall t : U, phi) -> exists t: U, ~phi
в Coq. Това, което се опитвам да направя, е да го докажа контрапозитивно:
1. Assume there is no such t (so ~(exists t: U, ~phi))
2. Choose arbitrary t0:U...
1396 изгледи
schedule
27.11.2022
Импредикативен полиморфизъм във F#
Системата за типове Hindley-Milner на OCaml не позволява непредсказуем полиморфизъм (à la System-F), освен чрез донякъде скорошно разширение за типове записи. Същото важи и за F#.
Понякога обаче е желателно да се превеждат програми, написани с...
960 изгледи
schedule
01.11.2023
Coq: Как да докажем a=b -› nat_compare a b = Eq.?
В опит да разбера какво представлява Coq, се озовах в ситуация, в която по същество трябва да докажа, че a=b -> nat_compare a b = Eq .
Мога да започна удобно, като направя:
Coq < Theorem foo: forall (a:nat) (b:nat), a=b->nat_compare a...
340 изгледи
schedule
14.11.2022
Защо „интуицията“ работи в примера на Coq?
Въпросът ми е: защо „интуицията“ работи в моя пример?
Опитвам се да докажа
Lemma eqb_false : forall n m : nat, eqb n m = false -> n <> m.
На последната стъпка виждам
n : nat
IHn : forall m : nat, (n =? m) = false -> n...
772 изгледи
schedule
03.11.2022
Доказване на if then else в Coq
Аз съм нов в Coq и се опитвам да докажа нещо доста основно
Лема eq_if_eq : за всички a1 a2, (ако beq_nat a1 a2 тогава a2 else a1) = a1.
Затруднявах се с решение, публикувано по-долу, но мисля, че трябва да има по-добър начин. В идеалния...
3704 изгледи
schedule
30.01.2024
Как бих доказал, че b = c ако (и b b c = orb b c) в coq?
Нов съм в coq и се опитвам да докажа това...
Theorem andb_eq_orb :
forall (b c : bool),
(andb b c = orb b c) -> (b = c).
Ето моето доказателство, но се забивам, когато стигна до целта (false = true -> false = true).
Proof.
intros b...
750 изгледи
schedule
28.11.2023
Не може да се използва инверсия на индуктивен предикат
Заседнал съм на просто доказателство за индуктивен предикат. Трябва да докажа, че естествената 0 не е положителна, където естествената е списък от битове, а 0 е всеки списък само с битове, които са 0s.
H1: pos Empt
____________ (1/1)
Nat...
253 изгледи
schedule
01.03.2024
Механизмът за извличане на Coq генерира неуспех с AXIOM DA BE REALIZE
Имам модулна структура вътре в този модул. Декларирам използване на променлива за някаква функция вътре в module A .
Module A.
Variable a : nat.
End A.
След това използвам механизъм за извличане.
Extraction Language Ocaml.
Set...
251 изгледи
schedule
29.02.2024
Разлики между Coq и Agda
За какво е предназначена всяка от тези програми и какво предлага една на другата? Освен това и двете системи последователни ли са и освен това базирани ли са на някаква основополагаща математическа теория?
Две неща ме интересуват:
Лесен за...
5957 изгледи
schedule
05.04.2024
coq Hello World пример (с opam) не може да намери библиотеки
Следвах урок за coq HelloWorld (код по-долу) и не можа да накара програмата да се компилира. Следвах стъпките за инсталиране и инсталирах opam install coq:io:system . Моята инсталация opam е на местоположението по подразбиране ~/.opam . Но все...
489 изгледи
schedule
02.05.2024
Използване на `apply with` без даване на имена на параметри в Coq?
При използването на тактиката Coq apply ... with всички примери, които съм виждал, включват изрично даване на имената на променливите за инстанциране. Например, дадена е теорема за транзитивността на равенството.
Theorem trans_eq : forall...
2778 изгледи
schedule
10.04.2024