module top (
input clk,
input a, b, c, d
);
default clocking @(posedge clk); endclocking
assert property (
a ##[*] b |=> c until d
`ifndef FAIL
assume property (
b |=> ##5 d
b || (c && !d) |=> c
`endif
endmodule