Solving ../../benchmarks/smtlib/true/isaplanner_prop42.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: { elt -> {a, b} ; eltlist -> {cons, nil} ; nat -> {s, z} } definition: { (take, F: { take(s(u), nil, nil) <= True take(z, y, nil) <= True take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) } eq_eltlist(_mf, _nf) <= take(_kf, _lf, _mf) /\ take(_kf, _lf, _nf) ) } properties: { eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) } over-approximation: {take} under-approximation: {} Clause system for inference is: { take(s(u), nil, nil) <= True -> 0 take(z, y, nil) <= True -> 0 eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) -> 0 take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) -> 0 } Solving took 0.076575 seconds. Yes: |_ name: None take -> [ take : { _r_1(a, a) <= True _r_1(b, b) <= True take(s(x_0_0), cons(x_1_0, x_1_1), cons(x_2_0, x_2_1)) <= _r_1(x_1_0, x_2_0) /\ take(x_0_0, x_1_1, x_2_1) take(s(x_0_0), nil, nil) <= True take(z, cons(x_1_0, x_1_1), nil) <= True take(z, nil, nil) <= True } ] -- Equality automata are defined for: {elt, eltlist, nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.006263 s (model generation: 0.006208, model checking: 0.000055): Clauses: { take(s(u), nil, nil) <= True -> 0 take(z, y, nil) <= True -> 0 eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) -> 0 take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None take -> [ take : { } ] -- Equality automata are defined for: {elt, eltlist, nat} _| Answer of teacher: take(s(u), nil, nil) <= True : Yes: { } take(z, y, nil) <= True : Yes: { y -> nil } eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) : No: () take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) : No: () ------------------------------------------- Step 1, which took 0.006574 s (model generation: 0.006516, model checking: 0.000058): Clauses: { take(s(u), nil, nil) <= True -> 0 take(z, y, nil) <= True -> 0 eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) -> 0 take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) -> 0 } Accumulated learning constraints: { take(s(z), nil, nil) <= True take(z, nil, nil) <= True } Current best model: |_ name: None take -> [ take : { take(s(x_0_0), nil, nil) <= True take(z, nil, nil) <= True } ] -- Equality automata are defined for: {elt, eltlist, nat} _| Answer of teacher: take(s(u), nil, nil) <= True : No: () take(z, y, nil) <= True : Yes: { y -> cons(_hush_0, _hush_1) } eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) : No: () take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) : Yes: { _jf -> nil ; u -> z ; x3 -> nil } ------------------------------------------- Step 2, which took 0.008986 s (model generation: 0.008888, model checking: 0.000098): Clauses: { take(s(u), nil, nil) <= True -> 0 take(z, y, nil) <= True -> 0 eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) -> 0 take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) -> 0 } Accumulated learning constraints: { take(s(z), cons(a, nil), cons(a, nil)) <= True take(s(z), nil, nil) <= True take(z, cons(a, nil), nil) <= True take(z, nil, nil) <= True } Current best model: |_ name: None take -> [ take : { take(s(x_0_0), cons(x_1_0, x_1_1), cons(x_2_0, x_2_1)) <= True take(s(x_0_0), nil, nil) <= True take(z, cons(x_1_0, x_1_1), nil) <= True take(z, nil, nil) <= True } ] -- Equality automata are defined for: {elt, eltlist, nat} _| Answer of teacher: take(s(u), nil, nil) <= True : No: () take(z, y, nil) <= True : No: () eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) : Yes: { _of -> cons(b, _wush_1) ; _pf -> nil ; n -> z ; x -> a ; xs -> cons(_zush_0, _zush_1) } take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) : No: () ------------------------------------------- Step 3, which took 0.013142 s (model generation: 0.012986, model checking: 0.000156): Clauses: { take(s(u), nil, nil) <= True -> 0 take(z, y, nil) <= True -> 0 eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) -> 0 take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) -> 0 } Accumulated learning constraints: { take(s(z), cons(a, nil), cons(a, nil)) <= True take(s(z), nil, nil) <= True take(z, cons(a, nil), nil) <= True take(z, nil, nil) <= True False <= take(s(z), cons(a, cons(a, nil)), cons(b, nil)) } Current best model: |_ name: None take -> [ take : { _r_1(a) <= True take(s(x_0_0), cons(x_1_0, x_1_1), cons(x_2_0, x_2_1)) <= _r_1(x_2_0) take(s(x_0_0), nil, nil) <= True take(z, cons(x_1_0, x_1_1), nil) <= True take(z, nil, nil) <= True } ] -- Equality automata are defined for: {elt, eltlist, nat} _| Answer of teacher: take(s(u), nil, nil) <= True : No: () take(z, y, nil) <= True : No: () eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) : Yes: { _of -> cons(a, cons(_rxsh_0, _rxsh_1)) ; _pf -> nil ; n -> z ; xs -> cons(_zwsh_0, _zwsh_1) } take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) : Yes: { _jf -> nil ; u -> z ; x2 -> b ; x3 -> nil } ------------------------------------------- Step 4, which took 0.017937 s (model generation: 0.017730, model checking: 0.000207): Clauses: { take(s(u), nil, nil) <= True -> 0 take(z, y, nil) <= True -> 0 eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) -> 0 take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) -> 0 } Accumulated learning constraints: { take(s(z), cons(a, nil), cons(a, nil)) <= True take(s(z), cons(b, nil), cons(b, nil)) <= True take(s(z), nil, nil) <= True take(z, cons(a, nil), nil) <= True take(z, nil, nil) <= True False <= take(s(z), cons(a, cons(a, nil)), cons(a, cons(a, nil))) False <= take(s(z), cons(a, cons(a, nil)), cons(b, nil)) } Current best model: |_ name: None take -> [ take : { _r_1(nil) <= True take(s(x_0_0), cons(x_1_0, x_1_1), cons(x_2_0, x_2_1)) <= _r_1(x_1_1) take(s(x_0_0), nil, nil) <= True take(z, cons(x_1_0, x_1_1), nil) <= True take(z, nil, nil) <= True } ] -- Equality automata are defined for: {elt, eltlist, nat} _| Answer of teacher: take(s(u), nil, nil) <= True : No: () take(z, y, nil) <= True : No: () eq_eltlist(_of, cons(x, _pf)) <= take(n, xs, _pf) /\ take(s(n), cons(x, xs), _of) : Yes: { _of -> cons(b, _xxsh_1) ; _pf -> nil ; n -> s(_zxsh_0) ; x -> a ; xs -> nil } take(s(u), cons(x2, x3), cons(x2, _jf)) <= take(u, x3, _jf) : Yes: { _jf -> nil ; u -> z ; x3 -> cons(_hzsh_0, _hzsh_1) } Total time: 0.076575 Learner time: 0.052328 Teacher time: 0.000574 Reasons for stopping: Yes: |_ name: None take -> [ take : { _r_1(a, a) <= True _r_1(b, b) <= True take(s(x_0_0), cons(x_1_0, x_1_1), cons(x_2_0, x_2_1)) <= _r_1(x_1_0, x_2_0) /\ take(x_0_0, x_1_1, x_2_1) take(s(x_0_0), nil, nil) <= True take(z, cons(x_1_0, x_1_1), nil) <= True take(z, nil, nil) <= True } ] -- Equality automata are defined for: {elt, eltlist, nat} _|