+++ /dev/null
-[], sizeof(Nodes) >= 1;
+++ /dev/null
-[], !(head=0) => head in Nodes;
-[forall node in Nodes], !(node.next=0) => node.next in Nodes;
-[forall node in Nodes], !(node.next=0) => <node, node.next> in nextnodes;
-
-
+++ /dev/null
-set Nodes(Node);
-nextnodes : Nodes -> Nodes (1->1);
-prevnodes : Nodes -> Nodes (1->1);
-
+++ /dev/null
-Node* head;
-structure Node {
- int data;
- Node *next;
- Node *prev;
-}
+++ /dev/null
-[], sizeof(Nodes) >= literal(1);
-[forall node in Nodes], sizeof(node.~nextnodes) <= literal(1);
-[forall n in Nodes],
- sizeof(n.nextnodes) = literal(0) or n.nextnodes.prevnodes = n;
-
+++ /dev/null
-[], literal(true) => head in Nodes;
-[forall node in Nodes], !(node.next=literal(0)) => node.next in Nodes;
-[forall node in Nodes], !(node.next=literal(0)) => <node, node.next> in nextnodes;
-[forall node in Nodes], !(node.prev=literal(0)) => <node, node.prev> in prevnodes;
-
-
+++ /dev/null
-set Nodes(Node);
-nextnodes : Nodes -> Nodes (1->1);
-prevnodes : Nodes -> Nodes (1->1);
-
+++ /dev/null
-Node* head;
-structure Node {
- int data;
- Node *next;
- Node *prev;
-}