formal-verification

    1

    2答えて

    変数をソートするプログラムがあり、その有効性をZ3で調べようとしていますが、変数がスワップされるコードセグメントが1つあり、SMT構文でモデル化する方法がわかりません。 if (x > y) { temp = x; x = y; y = temp; } そして、私はアサーションを書かれているSMTについて、私はそれが正確に正しいものではありません推測:ここでは、

    -3

    2答えて

    リストに存在する変数を証明することに問題があります。 Lemma exists_in_list_helper: forall (X : Type) (a : X) (P : X -> Prop), (exists b : X, In b [a] -> P b) -> P a. Proof. Admitted. 私は別の質問があります。リスト内の値に対してケース分析を

    1

    1答えて

    私はオープン相互作用プロトコルのルールを定義するためにLTLを使用しています。私は、特定の対話が仕様に従っているかどうか、または何らかのルールが壊れていないかどうかを確認したい。私の直接のアプローチはNuSMVを使うことでしたが、問題は私がチェックしたい相互作用のモデルではなく、ただ一つの特定の有限のトレース(すべての状態のすべての変数の値)です。 これをNuSMVで指定できる方法はありますか?

    1

    1答えて

    私が見てきた最強事後条件述語トランスのすべての製剤は、割り当てルールを提示:私は疑問に思って sp(X:=E, P) = ∃v. (X=E[v/X] ∧ P[v/X]) 、理由は実存(したがって、存在量化変数「V」)上記で必要ルール?最強の事後条件述語変換は、状態(変数から値へのマッピング)とパス条件(プログラムの特定の点で真でなければならない述語)を維持する点で、記号評価とほぼ同じです。しか

    2

    2答えて

    私は大きなデザインの小さなモジュールを正式に検証しています。 私は(Jaspergold-fpvを使用して)そのデザインを分析し、精緻化しました。 ように私は非常に単純なカバープロパティ(SVA)を書いた:それはカバーを見つけるために周り5300秒かかり cover_property1:cover property(@(posedge clk) $fell(signalA)); 。私は "束縛

    1

    1答えて

    私は正式に動作を確認するために、SVAでプロパティを書きたいです。ここで は、私が欲しいものです: property prop1(sig1,sig2,sig3,sig4); @(posedge clk) $fell(sig1) ##[1:$] first_match($fell(sig2)) ##0 sig3 |-> sig4 == sig3; endproperty S

    1

    1答えて

    遅延付きSystemVerilogアサーションを正式な検証プログラムのinvarspecに変換したいと考えています。シンセサイザは、下のコード行で## 1の構文エラーを示します。 assert property ((req1 == 0) ##1(req1 == 1) ##1 !(req2 == 1) || (gnt1 == 0)); 検証され遅延が発生するプロパティがいくつかあります。私は現在

    0

    1答えて

    配列の "store"演算子と同様のz3のレコードの演算子があるのだろうかと思います。つまり、レコードがあれば、ある要素を変更し、他のすべての要素がその値を保持する新しいレコードを返す方法はありますか?たとえば、 (declare-datatypes (T1 T2) ((Pair (mk-pair (first T1) (second T2))))) (declare-const p1 (Pai

    2

    1答えて

    システムとその完全な状態空間が与えられれば、その状態空間はそのシステムの動作の正式な仕様であると言うことができますか?

    1

    1答えて

    ここでは、整数limを取り、厳密にはlimより小さいすべての整数のシーケンスを返します。 第2の不変量の... <==> ...の逆方向のみが検証されません。私はこれをしばらく試してみましたが、私はそれを理解することができませんでした。 ご協力いただきありがとうございます。あなたはこの不変を追加する必要が method evens(lim : int) returns (ret : seq<int