Solving ../../benchmarks/true/isaplanner_prop18.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 30s Convolution: complete Learning problem is: env: { nat -> {s, z} } definition: { (plus, F: {() -> plus([n, z, n]) (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)])} (plus([_fba, _gba, _hba]) /\ plus([_fba, _gba, _iba])) -> eq_nat([_hba, _iba]) ) (le, P: {() -> le([z, s(nn2)]) (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) (le([s(nn1), z])) -> BOT (le([z, z])) -> BOT} ) } properties: {(plus([i, m, _jba])) -> le([i, s(_jba)])} over-approximation: {plus} under-approximation: {le} Clause system for inference is: { () -> le([z, s(nn2)]) -> 0 ; () -> plus([n, z, n]) -> 0 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 0 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 0 ; (le([s(nn1), z])) -> BOT -> 0 ; (le([z, z])) -> BOT -> 0 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 0 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 0 } Solving took 0.054337 seconds. Proved Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { (q_gen_1330) -> q_gen_1330 () -> q_gen_1330 (q_gen_1329) -> q_gen_1329 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328, q_gen_1332, q_gen_1339}, Q_f={q_gen_1328}, Delta= { (q_gen_1339) -> q_gen_1339 () -> q_gen_1339 (q_gen_1332) -> q_gen_1332 (q_gen_1339) -> q_gen_1332 () -> q_gen_1332 (q_gen_1328) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 (q_gen_1339) -> q_gen_1328 () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.003642 s (model generation: 0.003508, model checking: 0.000134): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 0 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 ; (le([s(nn1), z])) -> BOT -> 1 ; (le([z, z])) -> BOT -> 1 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 1 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 1 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.005119 s (model generation: 0.005022, model checking: 0.000097): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 ; (le([s(nn1), z])) -> BOT -> 1 ; (le([z, z])) -> BOT -> 1 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 1 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 1 } Sat witness: Yes: (() -> le([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.004289 s (model generation: 0.004210, model checking: 0.000079): Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { () -> q_gen_1330 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 ; (le([s(nn1), z])) -> BOT -> 1 ; (le([z, z])) -> BOT -> 1 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 1 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 4 } Sat witness: Yes: ((plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]), { _eba -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.003829 s (model generation: 0.003735, model checking: 0.000094): Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { () -> q_gen_1330 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328, q_gen_1332}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1332 (q_gen_1332) -> q_gen_1328 () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 ; (le([s(nn1), z])) -> BOT -> 1 ; (le([z, z])) -> BOT -> 1 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 4 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 4 } Sat witness: Yes: ((plus([i, m, _jba])) -> le([i, s(_jba)]), { _jba -> s(z) ; i -> z ; m -> s(z) }) ------------------------------------------- Step 4, which took 0.004346 s (model generation: 0.003887, model checking: 0.000459): Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { (q_gen_1330) -> q_gen_1330 () -> q_gen_1330 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328, q_gen_1332}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1332 (q_gen_1332) -> q_gen_1328 () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 2 ; (le([s(nn1), z])) -> BOT -> 2 ; (le([z, z])) -> BOT -> 2 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 4 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 4 } Sat witness: Yes: ((le([nn1, nn2])) -> le([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> s(z) }) ------------------------------------------- Step 5, which took 0.005790 s (model generation: 0.005581, model checking: 0.000209): Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { (q_gen_1330) -> q_gen_1330 () -> q_gen_1330 (q_gen_1329) -> q_gen_1329 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328, q_gen_1332}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1332 (q_gen_1332) -> q_gen_1328 () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 6 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 3 ; (le([s(nn1), z])) -> BOT -> 3 ; (le([z, z])) -> BOT -> 3 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 4 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 4 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(z) }) ------------------------------------------- Step 6, which took 0.004724 s (model generation: 0.004515, model checking: 0.000209): Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { (q_gen_1330) -> q_gen_1330 () -> q_gen_1330 (q_gen_1329) -> q_gen_1329 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328, q_gen_1332}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1332 (q_gen_1332) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 4 ; () -> plus([n, z, n]) -> 6 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 4 ; (le([s(nn1), z])) -> BOT -> 4 ; (le([z, z])) -> BOT -> 4 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 4 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 7 } Sat witness: Yes: ((plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]), { _eba -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 7, which took 0.004664 s (model generation: 0.004285, model checking: 0.000379): Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { (q_gen_1330) -> q_gen_1330 () -> q_gen_1330 (q_gen_1329) -> q_gen_1329 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328, q_gen_1332, q_gen_1339}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1339 () -> q_gen_1332 (q_gen_1328) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 (q_gen_1339) -> q_gen_1328 () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 5 ; () -> plus([n, z, n]) -> 9 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 5 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 5 ; (le([s(nn1), z])) -> BOT -> 5 ; (le([z, z])) -> BOT -> 5 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 5 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 7 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 8, which took 0.006545 s (model generation: 0.006044, model checking: 0.000501): Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { (q_gen_1330) -> q_gen_1330 () -> q_gen_1330 (q_gen_1329) -> q_gen_1329 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328, q_gen_1332, q_gen_1339}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1339 (q_gen_1332) -> q_gen_1332 () -> q_gen_1332 (q_gen_1328) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 (q_gen_1339) -> q_gen_1328 () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 6 ; () -> plus([n, z, n]) -> 9 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 6 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 6 ; (le([s(nn1), z])) -> BOT -> 6 ; (le([z, z])) -> BOT -> 6 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 6 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 10 } Sat witness: Yes: ((plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]), { _eba -> s(z) ; mm -> z ; n -> z }) ------------------------------------------- Step 9, which took 0.005442 s (model generation: 0.005070, model checking: 0.000372): Model: |_ { le -> {{{ Q={q_gen_1329, q_gen_1330}, Q_f={q_gen_1329}, Delta= { (q_gen_1330) -> q_gen_1330 () -> q_gen_1330 (q_gen_1329) -> q_gen_1329 (q_gen_1330) -> q_gen_1329 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1328, q_gen_1332, q_gen_1339}, Q_f={q_gen_1328}, Delta= { () -> q_gen_1339 (q_gen_1332) -> q_gen_1332 (q_gen_1339) -> q_gen_1332 () -> q_gen_1332 (q_gen_1328) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 (q_gen_1332) -> q_gen_1328 (q_gen_1339) -> q_gen_1328 () -> q_gen_1328 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 7 ; () -> plus([n, z, n]) -> 10 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 7 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 7 ; (le([s(nn1), z])) -> BOT -> 7 ; (le([z, z])) -> BOT -> 7 ; (plus([i, m, _jba])) -> le([i, s(_jba)]) -> 7 ; (plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]) -> 13 } Sat witness: Yes: ((plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]), { _eba -> s(s(z)) ; mm -> z ; n -> s(z) }) Total time: 0.054337 Reason for stopping: Proved