@@ -10,25 +10,19 @@ module top(input x, input y, input clk);
1010 assert property (not s_eventually 0 );
1111
1212 // Using until_with
13- assert property (a until_with b | - > not ((not b) s_until (not a)));
14- assert property (not ((not b) s_until (not a)) | - > a until_with b);
13+ assert property (( a until_with b) implies not ((not b) s_until (not a)));
14+ assert property (not ((not b) s_until (not a)) implies ( a until_with b) );
1515
1616 // Until_with equivalence with until
17- assert property ((a until_with b) | - > (a until (a and b)));
18- assert property ((a until (a and b)) | - > (a until_with b));
19-
20- // Property implies itself should always be true
21- assert property ((b or (always b)) | - > (b or (always b)));
22- assert property ((b or (always b)) implies (b or (always b)));
17+ assert property ((a until_with b) implies (a until (a and b)));
18+ assert property ((a until (a and b)) implies (a until_with b));
2319
2420 // Definitions of strong eventually
25- assert property ((s_eventually a) | - > (1 s_until a));
26- assert property ((1 s_until a) | - > (s_eventually a));
21+ assert property ((s_eventually a) implies (1 s_until a));
22+ assert property ((1 s_until a) implies (s_eventually a));
2723
2824 // Definitions of strong until
29- assert property ((a s_until b) | - > ((s_eventually b) and (a until b)));
3025 assert property ((a s_until b) implies ((s_eventually b) and (a until b)));
31- assert property (((s_eventually b) and (a until b)) | - > (a s_until b));
3226 assert property (((s_eventually b) and (a until b)) implies (a s_until b));
3327
3428endmodule
0 commit comments