[英]Atelier B - Proving simple PO in the context of a loop
我如何證明以下不變量在 WHILE 替換的上下文中成立:INIT = FALSE => size(vv)>0? 它似乎生成了一個與循環相關的阻塞 PO。 B項目的結構如下: 頭部.mch 工具.mch 主.mch main_i.imp 文件 當沒有循環時證明不變量,例如 ...
[英]Atelier B - Proving simple PO in the context of a loop
我如何證明以下不變量在 WHILE 替換的上下文中成立:INIT = FALSE => size(vv)>0? 它似乎生成了一個與循環相關的阻塞 PO。 B項目的結構如下: 頭部.mch 工具.mch 主.mch main_i.imp 文件 當沒有循環時證明不變量,例如 ...
[英]Atelier B - Proof obligations of "H => vv$1 = vv$2" format for vv used in WHILE substitution
我試圖理解這種格式的證明義務: H => vv$1 = vv$2 vv 是在 WHILE 替換中的實現中使用的 var。 這個 PO 是什么意思,如何證明? 謝謝 B項目的結構如下: 機頭,實用程序,主要實現:main_i 代碼如下: 頭部.mch 工具.mch 主程序 主.imp ...
[英]How to rank solutions using SMT solver like Z3 in formal logic
我正在嘗試使用 Z3(SMT 求解器)來驗證和排列解決方案列表。 在驗證系統中,我有一些約束和評估標准,基於此我想使用 SMT 求解器對解決方案進行排名。 我的問題是,Z3-SMT 求解器能否根據某些標准對解決方案列表進行排名,因為在我有限的理解中,SMT 求解器是 Boolean? 我不僅對是/否 ...
[英]Rodin tool prover - transitivity
所以我開始了解 event-b 規范語言和 Rodin 工具。 這樣做的時候,我遇到了 Rodin 工具的一些奇怪行為,我很想在這里得到一些幫助。 我站在證明的角度,我有兩個假設: 1 <= v v <= n 我的目標是: 1 <= ñ 我希望默認的自動證明器能夠處理它,但事 ...
[英]Axiomatic Semantics - How to calculate a weakest precondition of a program
假設后置條件,我如何計算包含兩個語句的程序的最弱前置條件? 例如 : 另一個例子: 我試圖解決它們,但是這兩個問題都導致了與語句相同的前置條件或后置條件,我不知道這是否有效。 例如,最后一條語句的前置條件是 "y=x" ,那么它也是前一條語句的后置條件 "y=x" ...
[英]SMT solvers or an alternative for uninterpreted symbols + ∀
我想使用 Z3 來證明具有通用量詞的公理的定理,但 Z3 似乎不適合我的問題。 它能夠解決一些這樣的問題,但它似乎時不時地卡住了。 如果不是 Z3,我還可以使用哪些其他工具? 為了讓您了解問題的類型,我想從公理/假設{∀….P₁, …, ∀….Pₘ}證明∀….Pₙ Pₙ。 所有符號都是未解釋的,所 ...
[英]Coq: Associativity of relational composition
我正在驗證基於關系代數的系統。 我發現 D. Pous 的關系代數庫在 Coq 社會中很受歡迎。 https://github.com/damien-pous/relation-algebra 在此頁面上,二元關系hrel與其關系組合hrel_dot一起定義。 http://perso.ens- ...
[英]How to Import Coq library HoTT in CoqIde
我想在我的 CoqIde 中使用 HoTT 庫。 我的環境是Coq_Platform_2021.09.0.8.13-installer-windows-x86_64-signed ,我嘗試了很多方法。 我試着寫Require Import HoTT. 在 CoqIde 中並得到錯誤Unable t ...
[英]can't launch CoqIde
一切都很好,直到我在 CoqIde 中更改了首選項 -> Externals -> coqtop,然后我發現自己在啟動 CoqIde 時遇到了麻煩,如圖所示。 看來我在coqtop中寫錯了路徑。 我試圖重新安裝coqplatform,它似乎沒用。 那么如何重新啟動我的 CoqIde? ...
[英]How to know the number of models found by Alloy Analyzer?
有沒有辦法知道 Alloy Analyzer 找到多少個輸出模型? 我需要知道改變合金模型如何改變找到的合金實例的數量。 謝謝! ...
[英]Equivalence of if-then and implies in OCL statements
以下兩個 OCL 語句對於某些函數上下文是否等效? post: if a > 0 then b < c post: b < c implies a > 0 ...
[英]How to understand syntax and translation in Isabelle
我正在嘗試理解 Isabelle/HOL 中 Rely Guarantee 的代碼,並對https://isabelle.in.tum.de/library/HOL/HOL-Hoare_Parallel/RG_Syntax.html 中的syntax和translation關鍵字感到困惑 我對三 ...
[英]Transform a pseudo left-linear context free Grammer into a left-linear Grammar
所以我遇到了一個小問題。 我得到了語法: G: A-> Ba_1...a_n A->a_1...a_n 現在我必須把這個“偽”左線性 cf 語法,變成一個左線性 cf 語法。 我的想法是用 x 替換 a_1...a_n,並說 x:=a_1...a_n 並且新的語法 G' 現在是 ...
[英]Produce multiple models for CVC4 SMT queries
我可以為如下查詢獲取多個模型嗎? 而不僅僅是 我想得到 0, 1, -1, 2, ... ...
[英]Do pre and post conditions take the place of in function validation?
我一直在嘗試學習使用 SPARK 的基礎知識,並且我已經使用前置和后置條件進行了研究,但我不確定它們是否可以代替驗證? 例如 function 用於除非所有門都關閉並鎖定,否則不會切換到起飛模式的飛機。 我是否需要在程序主體中添加代碼來停止這種行為,或者前置條件和后置條件是否足夠? 我不清楚,因為 ...
[英]how do i stop the pre-condition from failing in the below example in ADA Spark
對於一個項目,我目前正在嘗試為想象中的飛機編寫一個小型飛行員輔助系統。 任務是學習 Ada Spark,而不是航空電子設備。 我已經對我希望使用的飛機組件進行了建模,在主文件中進行了一些測試以檢查組件是否按預期工作,一切都很好,現在我要在函數中添加前置條件和后置條件以確保我的飛機是超級的安全的。 一 ...
[英]How do I modify my post condition to achieve Gold standard of Spark proof - Ada SPARK
我對 Ada 完全陌生,並且一直在嘗試實現一些基礎知識。 我有一個簡單的 function 來擲硬幣 - 不是隨機的,應該將正面翻轉到反面,反之亦然。 我添加了一個后置條件,即翻轉(硬幣)。=硬幣,應該說翻轉的硬幣不能等於原始硬幣,但是當我嘗試使用 --mode gold 證明文件時:我收到以下警 ...
[英]TLA+ error : The invariant Invariants is not a state predicate
在我的規范中,我試圖檢查序列中的變化是 -1、0 還是 1。 我將這個不變量描述如下: TLC model 檢查器輸出以下內容: ...
[英]Coffee Can Problem in TLA+ : cannot express a task
我正在嘗試 model TLA+ 中的David Gries 的咖啡罐問題,我被困在這一部分: “你能說一下最后剩下的豆子的顏色,就像罐頭里原來的黑白豆數量的function一樣嗎?” 我不知道如何處理這個問題。 您能否提供一些建議或提示? (也歡迎提供方法) 這是我在 TLA+ 中的代碼: ...