我是dafny的新手,我試圖讓這段簡單的代碼工作。我想計算字符串中char的出現次數。我在第4行收到斷言違規。我知道我的功能是找到適量的字符,但顯然這個斷言存在一些漏洞。我試圖在開始使用事前和事後條件之前弄清楚基礎知識,並且沒有這些基礎知識,而且如果沒有它們,這應該是可能的。該函數簡單地檢查字符串中的最後一個字符並返回1或0,並再次調用該函數以切斷字符串的尾部,直到它爲空。 method Main
考慮以下Dafny代碼,試圖找到一個元素的數組一個內è: method findE(a:array<int>, e:int, l:int, u:int) returns (result:bool)
requires a != null
requires 0 <= l <= u < a.Length
ensures result <==> exists k | l <=
我想創建約束使用填充1和0的二維數組。 我希望每行的總和爲0,1,2,4,每列的總和爲1.此外,我希望矩陣的總和等於8(使用sum函數工作)。 我嘗試使用函數.sum()來約束每個行和列到我要求的值,但我不斷收到語法錯誤。我究竟做錯了什麼? rand bit MAT[8][8];
constraint range {
MAT.sum() with (32' (item)) == 8;
對於使用從未聲稱驗證(帶ispin),我得到depth reached產出比 Full statespace search for:
never claim + (REQ5)
assertion violations + (if within scope of claim)
cycle checks - (disabled by -DSAFETY)