Solving ../../benchmarks/false/member_cons.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { nat -> {s, z} ; natlist -> {cons, nil} } definition: { (memberl, P: {() -> memberl([h1, cons(h1, t1)]) (memberl([e, t1]) /\ not eq_nat([e, h1])) -> memberl([e, cons(h1, t1)]) (memberl([e, cons(h1, t1)]) /\ not eq_nat([e, h1])) -> memberl([e, t1]) (memberl([e, nil])) -> BOT} ) (not_null, P: {() -> not_null([cons(x, ll)]) (not_null([nil])) -> BOT} ) } properties: {(memberl([i, cons(i, l)])) -> memberl([i, l])} over-approximation: {not_null} under-approximation: {not_null} Clause system for inference is: { () -> memberl([h1, cons(h1, t1)]) -> 0 () -> not_null([cons(x, ll)]) -> 0 (memberl([e, t1]) /\ not eq_nat([e, h1])) -> memberl([e, cons(h1, t1)]) -> 0 (memberl([e, cons(h1, t1)]) /\ not eq_nat([e, h1])) -> memberl([e, t1]) -> 0 (memberl([e, nil])) -> BOT -> 0 (memberl([i, cons(i, l)])) -> memberl([i, l]) -> 0 (not_null([nil])) -> BOT -> 0 } Solving took 0.114911 seconds. Disproved ------------------- STEPS: ------------------------------------------- Step 0, which took 0.016838 s (model generation: 0.016277, model checking: 0.000561): Model: |_ { memberl -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; 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: { () -> memberl([h1, cons(h1, t1)]) -> 0 () -> not_null([cons(x, ll)]) -> 3 (memberl([e, t1]) /\ not eq_nat([e, h1])) -> memberl([e, cons(h1, t1)]) -> 1 (memberl([e, cons(h1, t1)]) /\ not eq_nat([e, h1])) -> memberl([e, t1]) -> 1 (memberl([e, nil])) -> BOT -> 1 (memberl([i, cons(i, l)])) -> memberl([i, l]) -> 1 (not_null([nil])) -> BOT -> 1 } Sat witness: Found: (() -> not_null([cons(x, ll)]), { ll -> nil ; x -> z }) ------------------------------------------- Step 1, which took 0.017903 s (model generation: 0.017671, model checking: 0.000232): Model: |_ { memberl -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={q_gen_8899, q_gen_8901}, Q_f={q_gen_8899}, Delta= { (q_gen_8901, q_gen_8899) -> q_gen_8899 () -> q_gen_8899 () -> q_gen_8901 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> memberl([h1, cons(h1, t1)]) -> 3 () -> not_null([cons(x, ll)]) -> 3 (memberl([e, t1]) /\ not eq_nat([e, h1])) -> memberl([e, cons(h1, t1)]) -> 1 (memberl([e, cons(h1, t1)]) /\ not eq_nat([e, h1])) -> memberl([e, t1]) -> 1 (memberl([e, nil])) -> BOT -> 1 (memberl([i, cons(i, l)])) -> memberl([i, l]) -> 1 (not_null([nil])) -> BOT -> 1 } Sat witness: Found: (() -> memberl([h1, cons(h1, t1)]), { h1 -> z ; t1 -> nil }) ------------------------------------------- Step 2, which took 0.019686 s (model generation: 0.019653, model checking: 0.000033): Model: |_ { memberl -> {{{ Q={q_gen_8902, q_gen_8903, q_gen_8904}, Q_f={q_gen_8902}, Delta= { () -> q_gen_8903 () -> q_gen_8904 (q_gen_8904, q_gen_8903) -> q_gen_8902 } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={q_gen_8899, q_gen_8901}, Q_f={q_gen_8899}, Delta= { (q_gen_8901, q_gen_8899) -> q_gen_8899 () -> q_gen_8899 () -> q_gen_8901 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> memberl([h1, cons(h1, t1)]) -> 3 () -> not_null([cons(x, ll)]) -> 3 (memberl([e, t1]) /\ not eq_nat([e, h1])) -> memberl([e, cons(h1, t1)]) -> 1 (memberl([e, cons(h1, t1)]) /\ not eq_nat([e, h1])) -> memberl([e, t1]) -> 1 (memberl([e, nil])) -> BOT -> 1 (memberl([i, cons(i, l)])) -> memberl([i, l]) -> 1 (not_null([nil])) -> BOT -> 4 } Sat witness: Found: ((not_null([nil])) -> BOT, { }) ------------------------------------------- Step 3, which took 0.024469 s (model generation: 0.018784, model checking: 0.005685): Model: |_ { memberl -> {{{ Q={q_gen_8902, q_gen_8903, q_gen_8904}, Q_f={q_gen_8902}, Delta= { () -> q_gen_8903 () -> q_gen_8904 (q_gen_8904, q_gen_8903) -> q_gen_8902 } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={q_gen_8899, q_gen_8900, q_gen_8901}, Q_f={q_gen_8899}, Delta= { (q_gen_8901, q_gen_8900) -> q_gen_8899 () -> q_gen_8900 () -> q_gen_8901 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> memberl([h1, cons(h1, t1)]) -> 3 () -> not_null([cons(x, ll)]) -> 3 (memberl([e, t1]) /\ not eq_nat([e, h1])) -> memberl([e, cons(h1, t1)]) -> 1 (memberl([e, cons(h1, t1)]) /\ not eq_nat([e, h1])) -> memberl([e, t1]) -> 1 (memberl([e, nil])) -> BOT -> 1 (memberl([i, cons(i, l)])) -> memberl([i, l]) -> 4 (not_null([nil])) -> BOT -> 4 } Sat witness: Found: ((memberl([i, cons(i, l)])) -> memberl([i, l]), { i -> z ; l -> nil }) ------------------------------------------- Step 4, which took 0.018215 s (model generation: 0.018176, model checking: 0.000039): Model: |_ { memberl -> {{{ Q={q_gen_8902, q_gen_8903, q_gen_8904}, Q_f={q_gen_8902}, Delta= { () -> q_gen_8903 () -> q_gen_8904 (q_gen_8904, q_gen_8903) -> q_gen_8902 () -> q_gen_8902 } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={q_gen_8899, q_gen_8900, q_gen_8901}, Q_f={q_gen_8899}, Delta= { (q_gen_8901, q_gen_8900) -> q_gen_8899 () -> q_gen_8900 () -> q_gen_8901 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> memberl([h1, cons(h1, t1)]) -> 3 () -> not_null([cons(x, ll)]) -> 3 (memberl([e, t1]) /\ not eq_nat([e, h1])) -> memberl([e, cons(h1, t1)]) -> 1 (memberl([e, cons(h1, t1)]) /\ not eq_nat([e, h1])) -> memberl([e, t1]) -> 1 (memberl([e, nil])) -> BOT -> 4 (memberl([i, cons(i, l)])) -> memberl([i, l]) -> 4 (not_null([nil])) -> BOT -> 4 } Sat witness: Found: ((memberl([e, nil])) -> BOT, { e -> z }) Total time: 0.114911 Reason for stopping: Disproved