Solving ../../benchmarks/false/member_cons.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: right 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.053418 seconds. Disproved ------------------- STEPS: ------------------------------------------- Step 0, which took 0.010216 s (model generation: 0.009812, model checking: 0.000404): Model: |_ { memberl -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; not_null -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} } -- 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.011748 s (model generation: 0.010559, model checking: 0.001189): Model: |_ { memberl -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; not_null -> {{{ Q={q_gen_6537, q_gen_6539}, Q_f={q_gen_6537}, Delta= { (q_gen_6539, q_gen_6537) -> q_gen_6537 () -> q_gen_6537 () -> q_gen_6539 } Datatype: Convolution form: right }}} } -- 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.008047 s (model generation: 0.008039, model checking: 0.000008): Model: |_ { memberl -> {{{ Q={q_gen_6540, q_gen_6541, q_gen_6542}, Q_f={q_gen_6540}, Delta= { () -> q_gen_6541 () -> q_gen_6542 (q_gen_6542, q_gen_6541) -> q_gen_6540 } Datatype: Convolution form: right }}} ; not_null -> {{{ Q={q_gen_6537, q_gen_6539}, Q_f={q_gen_6537}, Delta= { (q_gen_6539, q_gen_6537) -> q_gen_6537 () -> q_gen_6537 () -> q_gen_6539 } Datatype: Convolution form: right }}} } -- 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.004588 s (model generation: 0.004378, model checking: 0.000210): Model: |_ { memberl -> {{{ Q={q_gen_6540, q_gen_6541, q_gen_6542}, Q_f={q_gen_6540}, Delta= { () -> q_gen_6541 () -> q_gen_6542 (q_gen_6542, q_gen_6541) -> q_gen_6540 } Datatype: Convolution form: right }}} ; not_null -> {{{ Q={q_gen_6537, q_gen_6538, q_gen_6539}, Q_f={q_gen_6537}, Delta= { (q_gen_6539, q_gen_6538) -> q_gen_6537 () -> q_gen_6538 () -> q_gen_6539 } Datatype: Convolution form: right }}} } -- 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.008167 s (model generation: 0.008134, model checking: 0.000033): Model: |_ { memberl -> {{{ Q={q_gen_6540, q_gen_6541, q_gen_6542}, Q_f={q_gen_6540}, Delta= { () -> q_gen_6541 () -> q_gen_6542 (q_gen_6542, q_gen_6541) -> q_gen_6540 () -> q_gen_6540 } Datatype: Convolution form: right }}} ; not_null -> {{{ Q={q_gen_6537, q_gen_6538, q_gen_6539}, Q_f={q_gen_6537}, Delta= { (q_gen_6539, q_gen_6538) -> q_gen_6537 () -> q_gen_6538 () -> q_gen_6539 } Datatype: Convolution form: right }}} } -- 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.053418 Reason for stopping: Disproved