Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left 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.038606 seconds. Proved Model: |_ { not_null -> {{{ Q={q_gen_0, q_gen_1, q_gen_2}, Q_f={q_gen_0}, Delta= { (q_gen_2, q_gen_0) -> q_gen_0 (q_gen_2, q_gen_1) -> q_gen_0 () -> q_gen_1 (q_gen_2) -> q_gen_2 () -> q_gen_2 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.009247 s (model generation: 0.009161, model checking: 0.000086): Model: |_ { not_null -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- 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: Found: (() -> not_null([cons(x, ll)]), { ll -> nil ; x -> z }) ------------------------------------------- Step 1, which took 0.009181 s (model generation: 0.009167, model checking: 0.000014): Model: |_ { not_null -> {{{ Q={q_gen_0, q_gen_2}, Q_f={q_gen_0}, Delta= { (q_gen_2, q_gen_0) -> q_gen_0 () -> q_gen_0 () -> q_gen_2 } Datatype: Convolution form: left }}} } -- 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: Found: ((not_null([nil])) -> BOT, { }) ------------------------------------------- Step 2, which took 0.008858 s (model generation: 0.008495, model checking: 0.000363): Model: |_ { not_null -> {{{ Q={q_gen_0, q_gen_1, q_gen_2}, Q_f={q_gen_0}, Delta= { (q_gen_2, q_gen_1) -> q_gen_0 () -> q_gen_1 () -> q_gen_2 } Datatype: Convolution form: left }}} } -- 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: Found: (() -> not_null([cons(x, ll)]), { ll -> cons(s(z), nil) ; x -> z }) Total time: 0.038606 Reason for stopping: Proved