vault backup: 2023-10-23 20:38:40
This commit is contained in:
parent
ec8d5f1ba9
commit
380ec14507
1 changed files with 5 additions and 3 deletions
|
@ -36,17 +36,19 @@ pred Invs {
|
||||||
// that you specification is not accepting.
|
// that you specification is not accepting.
|
||||||
|
|
||||||
|
|
||||||
//no node links to itself and its children don't link to it
|
//no node links to itself and its children don't link to it (no loops)
|
||||||
all x: Node | x not in x.^prox
|
all x: Node | x not in x.^prox
|
||||||
|
|
||||||
|
|
||||||
//for all nodes sequentially linked, they must have the same hash
|
//for all nodes sequentially linked, they must have the same hash
|
||||||
all x, y: Node | (x.prox = y) implies x.key.hash = y.key.hash
|
all x, y: Node | (x.prox = y) implies x.key.hash = y.key.hash
|
||||||
//ALTERNATIVELY
|
//ALTERNATIVELY
|
||||||
//no node links to nodes associated with a different hash
|
//no node links to nodes associated with a different hash
|
||||||
all x, y: Node | x.key.hash != y.key.hash implies (x.prox != y and y.prox != x)
|
all x, y: Node | x.key.hash != y.key.hash implies (x.prox != y and y.prox != x)
|
||||||
|
|
||||||
|
|
||||||
//a node with the same hash as two others in the same hash cannot be prox of them two
|
//a node with the same hash as two others in the same hash cannot be prox of them two
|
||||||
all x, y, z:Node, w : Key | (x.key = w and y.key = w and z.key = w and x.prox = z) implies y.prox!=z
|
//all x, y, z:Node, w : Key | (x.key = w and y.key = w and z.key = w and x.prox = z) implies y.prox!=z
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue