Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: right 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.112362 seconds. Proved Model: |_ { le -> {{{ Q={q_gen_5517, q_gen_5518}, Q_f={q_gen_5517}, Delta= { (q_gen_5518) -> q_gen_5518 () -> q_gen_5518 (q_gen_5517) -> q_gen_5517 (q_gen_5518) -> q_gen_5517 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516, q_gen_5520, q_gen_5529}, Q_f={q_gen_5516}, Delta= { (q_gen_5529) -> q_gen_5529 () -> q_gen_5529 (q_gen_5520) -> q_gen_5520 (q_gen_5529) -> q_gen_5520 () -> q_gen_5520 (q_gen_5516) -> q_gen_5516 (q_gen_5520) -> q_gen_5516 (q_gen_5520) -> q_gen_5516 (q_gen_5529) -> q_gen_5516 () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.004860 s (model generation: 0.004709, model checking: 0.000151): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; plus -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} } -- 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: Found: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.005207 s (model generation: 0.005136, model checking: 0.000071): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516}, Q_f={q_gen_5516}, Delta= { () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- 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: Found: (() -> le([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.007299 s (model generation: 0.007152, model checking: 0.000147): Model: |_ { le -> {{{ Q={q_gen_5517, q_gen_5518}, Q_f={q_gen_5517}, Delta= { () -> q_gen_5518 (q_gen_5518) -> q_gen_5517 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516}, Q_f={q_gen_5516}, Delta= { () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- 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: Found: ((plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]), { _eba -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.008876 s (model generation: 0.008695, model checking: 0.000181): Model: |_ { le -> {{{ Q={q_gen_5517, q_gen_5518}, Q_f={q_gen_5517}, Delta= { () -> q_gen_5518 (q_gen_5518) -> q_gen_5517 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516, q_gen_5520}, Q_f={q_gen_5516}, Delta= { () -> q_gen_5520 (q_gen_5520) -> q_gen_5516 () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- 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: Found: ((plus([i, m, _jba])) -> le([i, s(_jba)]), { _jba -> s(z) ; i -> z ; m -> s(z) }) ------------------------------------------- Step 4, which took 0.011143 s (model generation: 0.010887, model checking: 0.000256): Model: |_ { le -> {{{ Q={q_gen_5517, q_gen_5518}, Q_f={q_gen_5517}, Delta= { (q_gen_5518) -> q_gen_5518 () -> q_gen_5518 (q_gen_5518) -> q_gen_5517 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516, q_gen_5520}, Q_f={q_gen_5516}, Delta= { () -> q_gen_5520 (q_gen_5520) -> q_gen_5516 () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- 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: Found: ((le([nn1, nn2])) -> le([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> s(z) }) ------------------------------------------- Step 5, which took 0.015455 s (model generation: 0.015055, model checking: 0.000400): Model: |_ { le -> {{{ Q={q_gen_5517, q_gen_5518}, Q_f={q_gen_5517}, Delta= { (q_gen_5518) -> q_gen_5518 () -> q_gen_5518 (q_gen_5517) -> q_gen_5517 (q_gen_5518) -> q_gen_5517 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516, q_gen_5520}, Q_f={q_gen_5516}, Delta= { () -> q_gen_5520 (q_gen_5520) -> q_gen_5516 () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- 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: Found: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 6, which took 0.012477 s (model generation: 0.011940, model checking: 0.000537): Model: |_ { le -> {{{ Q={q_gen_5517, q_gen_5518}, Q_f={q_gen_5517}, Delta= { (q_gen_5518) -> q_gen_5518 () -> q_gen_5518 (q_gen_5517) -> q_gen_5517 (q_gen_5518) -> q_gen_5517 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516, q_gen_5520}, Q_f={q_gen_5516}, Delta= { (q_gen_5520) -> q_gen_5520 () -> q_gen_5520 (q_gen_5520) -> q_gen_5516 (q_gen_5520) -> q_gen_5516 () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- 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: Found: ((plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]), { _eba -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 7, which took 0.015304 s (model generation: 0.012402, model checking: 0.002902): Model: |_ { le -> {{{ Q={q_gen_5517, q_gen_5518}, Q_f={q_gen_5517}, Delta= { (q_gen_5518) -> q_gen_5518 () -> q_gen_5518 (q_gen_5517) -> q_gen_5517 (q_gen_5518) -> q_gen_5517 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516, q_gen_5520, q_gen_5529}, Q_f={q_gen_5516}, Delta= { () -> q_gen_5529 (q_gen_5520) -> q_gen_5520 () -> q_gen_5520 (q_gen_5516) -> q_gen_5516 (q_gen_5520) -> q_gen_5516 (q_gen_5520) -> q_gen_5516 (q_gen_5529) -> q_gen_5516 () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 5 () -> plus([n, z, n]) -> 7 (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)]) -> 10 } Sat witness: Found: ((plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]), { _eba -> s(z) ; mm -> z ; n -> z }) ------------------------------------------- Step 8, which took 0.014924 s (model generation: 0.013174, model checking: 0.001750): Model: |_ { le -> {{{ Q={q_gen_5517, q_gen_5518}, Q_f={q_gen_5517}, Delta= { (q_gen_5518) -> q_gen_5518 () -> q_gen_5518 (q_gen_5517) -> q_gen_5517 (q_gen_5518) -> q_gen_5517 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_5516, q_gen_5520, q_gen_5529}, Q_f={q_gen_5516}, Delta= { () -> q_gen_5529 (q_gen_5520) -> q_gen_5520 (q_gen_5529) -> q_gen_5520 () -> q_gen_5520 (q_gen_5516) -> q_gen_5516 (q_gen_5520) -> q_gen_5516 (q_gen_5520) -> q_gen_5516 (q_gen_5529) -> q_gen_5516 () -> q_gen_5516 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 6 () -> plus([n, z, n]) -> 8 (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)]) -> 13 } Sat witness: Found: ((plus([n, mm, _eba])) -> plus([n, s(mm), s(_eba)]), { _eba -> s(s(z)) ; mm -> z ; n -> s(z) }) Total time: 0.112362 Reason for stopping: Proved