Solving ../../benchmarks/true/cons_not_null.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 30s Convolution: complete Learning problem is: env: { nat -> {s, z} ; natlist -> {cons, nil} } definition: { (not_null, P: {() -> not_null([cons(x, ll)]) (not_null([nil])) -> BOT} ) } properties: {(not_null([l2])) -> not_null([l2])} over-approximation: {} under-approximation: {} Clause system for inference is: { () -> not_null([cons(x, ll)]) -> 0 ; (not_null([l2])) -> not_null([l2]) -> 0 ; (not_null([nil])) -> BOT -> 0 } Solving took 0.014800 seconds. Proved Model: |_ { not_null -> {{{ Q={q_gen_1021, q_gen_1022, q_gen_1023}, Q_f={q_gen_1021}, Delta= { (q_gen_1023, q_gen_1021) -> q_gen_1021 (q_gen_1023, q_gen_1022) -> q_gen_1021 () -> q_gen_1022 (q_gen_1023) -> q_gen_1023 () -> q_gen_1023 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.003463 s (model generation: 0.003395, model checking: 0.000068): Model: |_ { not_null -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> not_null([cons(x, ll)]) -> 3 ; (not_null([l2])) -> not_null([l2]) -> 1 ; (not_null([nil])) -> BOT -> 1 } Sat witness: Yes: (() -> not_null([cons(x, ll)]), { ll -> nil ; x -> z }) ------------------------------------------- Step 1, which took 0.003957 s (model generation: 0.003506, model checking: 0.000451): Model: |_ { not_null -> {{{ Q={q_gen_1021, q_gen_1023}, Q_f={q_gen_1021}, Delta= { (q_gen_1023, q_gen_1021) -> q_gen_1021 () -> q_gen_1021 () -> q_gen_1023 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> not_null([cons(x, ll)]) -> 3 ; (not_null([l2])) -> not_null([l2]) -> 1 ; (not_null([nil])) -> BOT -> 4 } Sat witness: Yes: ((not_null([nil])) -> BOT, { }) ------------------------------------------- Step 2, which took 0.003580 s (model generation: 0.003421, model checking: 0.000159): Model: |_ { not_null -> {{{ Q={q_gen_1021, q_gen_1022, q_gen_1023}, Q_f={q_gen_1021}, Delta= { (q_gen_1023, q_gen_1022) -> q_gen_1021 () -> q_gen_1022 () -> q_gen_1023 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> not_null([cons(x, ll)]) -> 6 ; (not_null([l2])) -> not_null([l2]) -> 2 ; (not_null([nil])) -> BOT -> 4 } Sat witness: Yes: (() -> not_null([cons(x, ll)]), { ll -> cons(s(z), nil) ; x -> z }) Total time: 0.014800 Reason for stopping: Proved