coq

    2

    2答えて

    私はCoqシステムを使ったクイックソートアルゴリズムのプログラム検証に関する論文を書いています。私はCoqでクイックソートを定義しましたが、私の監督と私自身は戦術を使って実際の証明書を書くのはとても快適ではありません。 coqの証拠のその部分で助けることができる人はいますか?以下は、私たちがこれまでに出ているものです:私は証拠のために知って Inductive nat : Type :=

    2

    1答えて

    にコックの抽出にbig_intする 私はnat私は、ライブラリを使用 big_intに変換抽出をしています(ファイルExtrOcamlNatBigInt)を変更してください、しかし、私は関数nat_caseを定義する方法を見つけることができません。なぜなら、Ocamlのlibary Big_intには、関数nat_caseがないからです。私はラインのnでエラーが発生しました (** val nat

    9

    1答えて

    この質問は、EmacsのProof General内でCoqモードを設定することと関係しています。 私はEmacsが自動的にCoqのキーワードと表記を対応するUnicodeグリフに置き換えようとしています。私はfunをギリシャの小文字のラムダλ、forallと定義して、ユニバーサル限定記号∀などとしました。私は単語の記号を定義することに問題はありませんでした。 問題は、私は彼らのUnicodeのシ

    8

    3答えて

    CoqでAckermann-Peters関数を定義しようとしていますが、わからないエラーメッセージが表示されています。ご覧のとおり、私はAckermannの引数a, bを1組でパッケージ化しています。ab;私は、引数の順序付け関数を定義する順序付けを提供します。次に、Function形式を使用して、Ackermann自体を定義し、ab引数の順序付け関数を提供します。私は何を得る Require I

    9

    1答えて

    コンテキスト:私はSoftware Foundationsの演習で取り組んでいます。しかし、 negb (evenb (S n')) = evenb (S (S n')) 私はrewrite -> neg_moveをステップ実行してみてください: Theorem neg_move : forall x y : bool, x = negb y -> negb x = y. Proo

    1

    1答えて

    は、私は疑問を持っています。 beq_term : term -> term -> bool. のでbeq_ruleの私の定義は実際に私がここに欲しいものではありませんbeq_termの正確型を返す Definition beq_rule a b := beq_term a && beq_term b. 。 Record rule := mkRule {lhs : term; rhs : te

    1

    1答えて

    私はOCamlでのコックからの抽出を書いていますこんにちは、私はタイプに変換したい: positive --> int32 N -> int32 を私はタイプZを維持したいがここint である私はこれらを抽出するためにやっているコードです条件: Require Import ZArith NArith. Require Import ExtrOcamlBasic. (* Mapping

    0

    1答えて

    coqのベースライブラリをインポートまたは非表示にする方法はありますか?

    4

    2答えて

    のの恒等仮説を具体的に証明しようとしています。私は、次のように定式化し、証明した: Theorem ind_hyp_on_evens: forall (p : nat -> Prop), (p 0 -> (forall n, p n -> p (S (S n))) -> forall n, p (n + n)). Proof. intros p P0 P1. intro n. ass

    3

    1答えて

    私はcoqからocamlへの抽出後に生成されるtmpというフォルダを持っています。 ~/tmp/cpf0.ml cpf0.mli cpf0.o cpf0.cmi cpf0.cmx cpf0.cmo main.ml私はcpf0で一つの機能を呼び出すために使用するファイルです: let prf = Cpf0.proof;; 私はCpf0.proofがバインドされていないというエラーを得ました。