Solving ../../benchmarks/smtlib/false/length_take.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: Some(60.) (sec) Teacher_type: Checks all clauses every time Approximation method: remove every clause that can be safely removed Learning problem is: env: { elist -> {econs, enil} ; elt -> {a, b} ; nat -> {s, z} } definition: { (take_elt, F: { take_elt(s(u), enil, enil) <= True take_elt(z, y, enil) <= True take_elt(s(u), econs(x2, x3), econs(x2, _yhb)) <= take_elt(u, x3, _yhb) } eq_elist(_bib, _cib) <= take_elt(_zhb, _aib, _bib) /\ take_elt(_zhb, _aib, _cib) ) (length_elt, F: { length_elt(enil, z) <= True length_elt(econs(x, ll), s(_dib)) <= length_elt(ll, _dib) } eq_nat(_fib, _gib) <= length_elt(_eib, _fib) /\ length_elt(_eib, _gib) ) } properties: { eq_nat(_iib, n) <= length_elt(_hib, _iib) /\ take_elt(n, l, _hib) } over-approximation: {length_elt, take_elt} under-approximation: {} Clause system for inference is: { length_elt(enil, z) <= True -> 0 take_elt(s(u), enil, enil) <= True -> 0 take_elt(z, y, enil) <= True -> 0 eq_nat(_iib, n) <= length_elt(_hib, _iib) /\ take_elt(n, l, _hib) -> 0 length_elt(econs(x, ll), s(_dib)) <= length_elt(ll, _dib) -> 0 take_elt(s(u), econs(x2, x3), econs(x2, _yhb)) <= take_elt(u, x3, _yhb) -> 0 } Solving took 0.023186 seconds. No: Contradictory set of ground constraints: { False <= True length_elt(econs(a, enil), s(z)) <= True length_elt(enil, z) <= True take_elt(s(z), econs(a, enil), econs(a, enil)) <= True take_elt(s(z), enil, enil) <= True take_elt(z, econs(a, enil), enil) <= True take_elt(z, enil, enil) <= True } ------------------- STEPS: ------------------------------------------- Step 0, which took 0.006481 s (model generation: 0.006414, model checking: 0.000067): Clauses: { length_elt(enil, z) <= True -> 0 take_elt(s(u), enil, enil) <= True -> 0 take_elt(z, y, enil) <= True -> 0 eq_nat(_iib, n) <= length_elt(_hib, _iib) /\ take_elt(n, l, _hib) -> 0 length_elt(econs(x, ll), s(_dib)) <= length_elt(ll, _dib) -> 0 take_elt(s(u), econs(x2, x3), econs(x2, _yhb)) <= take_elt(u, x3, _yhb) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None length_elt -> [ length_elt : { } ] ; take_elt -> [ take_elt : { } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: length_elt(enil, z) <= True : Yes: { } take_elt(s(u), enil, enil) <= True : Yes: { } take_elt(z, y, enil) <= True : Yes: { y -> enil } eq_nat(_iib, n) <= length_elt(_hib, _iib) /\ take_elt(n, l, _hib) : No: () length_elt(econs(x, ll), s(_dib)) <= length_elt(ll, _dib) : No: () take_elt(s(u), econs(x2, x3), econs(x2, _yhb)) <= take_elt(u, x3, _yhb) : No: () ------------------------------------------- Step 1, which took 0.007279 s (model generation: 0.007150, model checking: 0.000129): Clauses: { length_elt(enil, z) <= True -> 0 take_elt(s(u), enil, enil) <= True -> 0 take_elt(z, y, enil) <= True -> 0 eq_nat(_iib, n) <= length_elt(_hib, _iib) /\ take_elt(n, l, _hib) -> 0 length_elt(econs(x, ll), s(_dib)) <= length_elt(ll, _dib) -> 0 take_elt(s(u), econs(x2, x3), econs(x2, _yhb)) <= take_elt(u, x3, _yhb) -> 0 } Accumulated learning constraints: { length_elt(enil, z) <= True take_elt(s(z), enil, enil) <= True take_elt(z, enil, enil) <= True } Current best model: |_ name: None length_elt -> [ length_elt : { length_elt(enil, z) <= True } ] ; take_elt -> [ take_elt : { take_elt(s(x_0_0), enil, enil) <= True take_elt(z, enil, enil) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: length_elt(enil, z) <= True : No: () take_elt(s(u), enil, enil) <= True : No: () take_elt(z, y, enil) <= True : Yes: { y -> econs(_dvoqw_0, _dvoqw_1) } eq_nat(_iib, n) <= length_elt(_hib, _iib) /\ take_elt(n, l, _hib) : Yes: { _hib -> enil ; _iib -> z ; l -> enil ; n -> s(_hvoqw_0) } length_elt(econs(x, ll), s(_dib)) <= length_elt(ll, _dib) : Yes: { _dib -> z ; ll -> enil } take_elt(s(u), econs(x2, x3), econs(x2, _yhb)) <= take_elt(u, x3, _yhb) : Yes: { _yhb -> enil ; u -> z ; x3 -> enil } Total time: 0.023186 Learner time: 0.013564 Teacher time: 0.000196 Reasons for stopping: No: Contradictory set of ground constraints: { False <= True length_elt(econs(a, enil), s(z)) <= True length_elt(enil, z) <= True take_elt(s(z), econs(a, enil), econs(a, enil)) <= True take_elt(s(z), enil, enil) <= True take_elt(z, econs(a, enil), enil) <= True take_elt(z, enil, enil) <= True }