Solving ../../benchmarks/smtlib/true/length_cons_s.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: { nat -> {s, z} ; natlist -> {cons, nil} } definition: { (length, F: { length(nil, z) <= True length(cons(x, ll), s(_ppa)) <= length(ll, _ppa) } eq_nat(_rpa, _spa) <= length(_qpa, _rpa) /\ length(_qpa, _spa) ) } properties: { eq_nat(_tpa, s(s(_upa))) <= length(l, _upa) /\ length(cons(z, cons(z, l)), _tpa) } over-approximation: {length} under-approximation: {} Clause system for inference is: { length(nil, z) <= True -> 0 eq_nat(_tpa, s(s(_upa))) <= length(l, _upa) /\ length(cons(z, cons(z, l)), _tpa) -> 0 length(cons(x, ll), s(_ppa)) <= length(ll, _ppa) -> 0 } Solving took 0.062005 seconds. Yes: |_ name: None length -> [ length : { length(cons(x_0_0, x_0_1), s(x_1_0)) <= length(x_0_1, x_1_0) length(nil, z) <= True } ] -- Equality automata are defined for: {nat, natlist} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.009356 s (model generation: 0.009302, model checking: 0.000054): Clauses: { length(nil, z) <= True -> 0 eq_nat(_tpa, s(s(_upa))) <= length(l, _upa) /\ length(cons(z, cons(z, l)), _tpa) -> 0 length(cons(x, ll), s(_ppa)) <= length(ll, _ppa) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None length -> [ length : { } ] -- Equality automata are defined for: {nat, natlist} _| Answer of teacher: length(nil, z) <= True : Yes: { } eq_nat(_tpa, s(s(_upa))) <= length(l, _upa) /\ length(cons(z, cons(z, l)), _tpa) : No: () length(cons(x, ll), s(_ppa)) <= length(ll, _ppa) : No: () ------------------------------------------- Step 1, which took 0.014730 s (model generation: 0.014624, model checking: 0.000106): Clauses: { length(nil, z) <= True -> 0 eq_nat(_tpa, s(s(_upa))) <= length(l, _upa) /\ length(cons(z, cons(z, l)), _tpa) -> 0 length(cons(x, ll), s(_ppa)) <= length(ll, _ppa) -> 0 } Accumulated learning constraints: { length(nil, z) <= True } Current best model: |_ name: None length -> [ length : { length(nil, z) <= True } ] -- Equality automata are defined for: {nat, natlist} _| Answer of teacher: length(nil, z) <= True : No: () eq_nat(_tpa, s(s(_upa))) <= length(l, _upa) /\ length(cons(z, cons(z, l)), _tpa) : No: () length(cons(x, ll), s(_ppa)) <= length(ll, _ppa) : Yes: { _ppa -> z ; ll -> nil } ------------------------------------------- Step 2, which took 0.018731 s (model generation: 0.018618, model checking: 0.000113): Clauses: { length(nil, z) <= True -> 0 eq_nat(_tpa, s(s(_upa))) <= length(l, _upa) /\ length(cons(z, cons(z, l)), _tpa) -> 0 length(cons(x, ll), s(_ppa)) <= length(ll, _ppa) -> 0 } Accumulated learning constraints: { length(cons(z, nil), s(z)) <= True length(nil, z) <= True } Current best model: |_ name: None length -> [ length : { length(cons(x_0_0, x_0_1), s(x_1_0)) <= True length(nil, z) <= True } ] -- Equality automata are defined for: {nat, natlist} _| Answer of teacher: length(nil, z) <= True : No: () eq_nat(_tpa, s(s(_upa))) <= length(l, _upa) /\ length(cons(z, cons(z, l)), _tpa) : Yes: { _tpa -> s(z) ; _upa -> s(_ishq_0) ; l -> cons(_jshq_0, _jshq_1) } length(cons(x, ll), s(_ppa)) <= length(ll, _ppa) : No: () Total time: 0.062005 Learner time: 0.042544 Teacher time: 0.000273 Reasons for stopping: Yes: |_ name: None length -> [ length : { length(cons(x_0_0, x_0_1), s(x_1_0)) <= length(x_0_1, x_1_0) length(nil, z) <= True } ] -- Equality automata are defined for: {nat, natlist} _|