module top (input logic clk, input logic selA, selB, QA, QB, output logic Q); always @(posedge clk) begin if (selA) Q <= QA; if (selB) Q <= QB; end check_selA: assert property ( @(posedge clk) selA |=> Q == $past(QA) ); check_selB: assert property ( @(posedge clk) selB |=> Q == $past(QB) ); `ifndef FAIL assume_not_11: assume property ( @(posedge clk) !(selA & selB) ); `endif endmodule