Solving ../../benchmarks/smtlib/false/append_equal.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: { (append, F: { append(nil, l2, l2) <= True append(cons(h1, t1), l2, cons(h1, _okb)) <= append(t1, l2, _okb) } eq_natlist(_rkb, _skb) <= append(_pkb, _qkb, _rkb) /\ append(_pkb, _qkb, _skb) ) } properties: { eq_natlist(l1, _tkb) <= append(l1, cons(i, nil), _tkb) } over-approximation: {append} under-approximation: {} Clause system for inference is: { append(nil, l2, l2) <= True -> 0 eq_natlist(l1, _tkb) <= append(l1, cons(i, nil), _tkb) -> 0 append(cons(h1, t1), l2, cons(h1, _okb)) <= append(t1, l2, _okb) -> 0 } Solving took 0.039598 seconds. No: Contradictory set of ground constraints: { append(cons(z, nil), nil, cons(z, nil)) <= True append(nil, cons(z, nil), cons(z, nil)) <= True append(nil, nil, nil) <= True False <= append(nil, cons(z, nil), cons(z, nil)) } ------------------- STEPS: ------------------------------------------- Step 0, which took 0.005881 s (model generation: 0.005838, model checking: 0.000043): Clauses: { append(nil, l2, l2) <= True -> 0 eq_natlist(l1, _tkb) <= append(l1, cons(i, nil), _tkb) -> 0 append(cons(h1, t1), l2, cons(h1, _okb)) <= append(t1, l2, _okb) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None append -> [ append : { } ] -- Equality automata are defined for: {nat, natlist} _| Answer of teacher: append(nil, l2, l2) <= True : Yes: { l2 -> nil } eq_natlist(l1, _tkb) <= append(l1, cons(i, nil), _tkb) : No: () append(cons(h1, t1), l2, cons(h1, _okb)) <= append(t1, l2, _okb) : No: () ------------------------------------------- Step 1, which took 0.006536 s (model generation: 0.006451, model checking: 0.000085): Clauses: { append(nil, l2, l2) <= True -> 0 eq_natlist(l1, _tkb) <= append(l1, cons(i, nil), _tkb) -> 0 append(cons(h1, t1), l2, cons(h1, _okb)) <= append(t1, l2, _okb) -> 0 } Accumulated learning constraints: { append(nil, nil, nil) <= True } Current best model: |_ name: None append -> [ append : { append(nil, nil, nil) <= True } ] -- Equality automata are defined for: {nat, natlist} _| Answer of teacher: append(nil, l2, l2) <= True : Yes: { l2 -> cons(_troqw_0, _troqw_1) } eq_natlist(l1, _tkb) <= append(l1, cons(i, nil), _tkb) : No: () append(cons(h1, t1), l2, cons(h1, _okb)) <= append(t1, l2, _okb) : Yes: { _okb -> nil ; l2 -> nil ; t1 -> nil } ------------------------------------------- Step 2, which took 0.008786 s (model generation: 0.008729, model checking: 0.000057): Clauses: { append(nil, l2, l2) <= True -> 0 eq_natlist(l1, _tkb) <= append(l1, cons(i, nil), _tkb) -> 0 append(cons(h1, t1), l2, cons(h1, _okb)) <= append(t1, l2, _okb) -> 0 } Accumulated learning constraints: { append(cons(z, nil), nil, cons(z, nil)) <= True append(nil, cons(z, nil), cons(z, nil)) <= True append(nil, nil, nil) <= True } Current best model: |_ name: None append -> [ append : { append(cons(x_0_0, x_0_1), nil, cons(x_2_0, x_2_1)) <= True append(nil, cons(x_1_0, x_1_1), cons(x_2_0, x_2_1)) <= True append(nil, nil, nil) <= True } ] -- Equality automata are defined for: {nat, natlist} _| Answer of teacher: append(nil, l2, l2) <= True : No: () eq_natlist(l1, _tkb) <= append(l1, cons(i, nil), _tkb) : Yes: { _tkb -> cons(_xroqw_0, _xroqw_1) ; l1 -> nil } append(cons(h1, t1), l2, cons(h1, _okb)) <= append(t1, l2, _okb) : Yes: { _okb -> cons(_zroqw_0, _zroqw_1) ; l2 -> cons(_asoqw_0, _asoqw_1) ; t1 -> nil } Total time: 0.039598 Learner time: 0.021018 Teacher time: 0.000185 Reasons for stopping: No: Contradictory set of ground constraints: { append(cons(z, nil), nil, cons(z, nil)) <= True append(nil, cons(z, nil), cons(z, nil)) <= True append(nil, nil, nil) <= True False <= append(nil, cons(z, nil), cons(z, nil)) }