module top (
input clk,
input a, b, c, d
);
default clocking @(posedge clk); endclocking
assert property (
a |=> b throughout (c ##1 d)
`ifndef FAIL
assume property (
a |=> b && c
b && c |=> b && d
`endif
endmodule