[英]Dafny: Assertion fails on subset checks
目前,我正在嘗試在 Dafny 中實現 AVL-Tree。 每個子節點和節點本身都是節點Repr:set 的一部分。 在樹中的每次更改之后,都會調用一個更新方法來更新Repr 集。
我不明白為什么最后一個斷言失敗,因為檢查的集合沒有改變。
if(new_node.left != null && new_node.right == null) {
assert new_node !in new_node.left.Repr;
new_node.Repr := new_node.left.Repr;
assert new_node !in new_node.left.Repr;
new_node.Repr := new_node.Repr + {new_node};
assert new_node !in new_node.left.Repr;
new_node.Contents := {new_node.data} + new_node.left.Contents;
}
如果new_node == new_node.left
,則第三個斷言不成立。 你排除了這種可能性嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.