タグ付けされた質問 「coq」

Coqはインタラクティブな定理の証明者です。

1
決定可能な証明の平等?
同じ命題の2つの決定可能な証明の同等性の決定可能性が帰納的構造の計算で追加の公理なしに証明できるかどうか知りたいです。 具体的には、これがCoqで追加の公理なしに当てはまるかどうかを知りたいです。 ∀P:Prop,P∨¬P⇒(∀p1:P,∀p2:P,{p1=p2}∨{p1≠p2})∀P:Prop,P∨¬P⇒(∀p1:P,∀p2:P,{p1=p2}∨{p1≠p2})\forall P: \texttt{Prop}, P \vee \neg P \Rightarrow (\forall p_1 : P, \forall p_2: P, \{p_1 = p_2\} \vee \{p_1 \neq p_2\}) ありがとう! エラーを修正するために編集:Propより明確にするために2を編集

2
帰納型の宣言の順序は重要ですか?
帰納的な型の宣言の順序が問題になるかどうか疑問に思っていました。 たとえばCoqでは、次のNatいずれかを定義できます。 Inductive Nat := | O : Nat | S : Nat -> Nat. または Inductive Nat := | S : Nat -> Nat | O : Nat. これはおそらく、自動的に生成されたエリミネーターのパラメーターの順序を変更しますが、それは大した問題ではありません。 私が思っているのは、次のような宣言を書くことが可能かどうかです Inductive typewhereordermatters := | cons1 : type1 | cons2 : type2. type2依存型はどこにありcons1ますか?(そしてこの場合、まだ存在しないtype2ものを参照しているため、宣言を他の順序で記述しても意味cons1がありません)。

2
二分木の上の再帰関数のための共和的メモ化テーブルをどのように構築できますか?
Coq のStreamMemoライブラリはf : nat -> A、自然数に対して関数をメモ化する方法を示しています。特にの場合f (S n) = g (f n)、imemo_makeは再帰呼び出しの計算を共有します。 自然数の代わりに、二分木の再帰関数をメモしたいとします: Inductive binTree : Set := | Leaf : binTree | Branch : binTree -> binTree -> binTree. 我々は機能があるとf : binTree -> A機能があることを意味し、構造的に再帰的であるg : A -> A -> Aことなどf (Branch x y) = g (f x) (f y)。fCoqで同様のメモテーブルを作成して、再帰的な計算を共有する方法を教えてください。 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.