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, _pj])) -> plus([n, s(mm), s(_pj)])} (plus([_qj, _rj, _sj]) /\ plus([_qj, _rj, _tj])) -> eq_nat([_sj, _tj]) ) (leq, P: {() -> leq([z, n2]) (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) (leq([s(nn1), z])) -> BOT} ) } properties: {(plus([n, m, _uj])) -> leq([n, _uj])} over-approximation: {plus} under-approximation: {leq} Clause system for inference is: { () -> leq([z, n2]) -> 0 () -> plus([n, z, n]) -> 0 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 0 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 0 (leq([s(nn1), z])) -> BOT -> 0 (plus([n, m, _uj])) -> leq([n, _uj]) -> 0 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 0 } Solving took 0.059919 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_2152, q_gen_2156}, Q_f={q_gen_2152}, Delta= { (q_gen_2156) -> q_gen_2156 () -> q_gen_2156 (q_gen_2152) -> q_gen_2152 (q_gen_2156) -> q_gen_2152 () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151, q_gen_2154, q_gen_2165}, Q_f={q_gen_2151}, Delta= { (q_gen_2165) -> q_gen_2165 () -> q_gen_2165 (q_gen_2154) -> q_gen_2154 (q_gen_2165) -> q_gen_2154 () -> q_gen_2154 (q_gen_2151) -> q_gen_2151 (q_gen_2154) -> q_gen_2151 (q_gen_2154) -> q_gen_2151 (q_gen_2165) -> q_gen_2151 () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.005201 s (model generation: 0.004988, model checking: 0.000213): Model: |_ { leq -> {{{ 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: { () -> leq([z, n2]) -> 0 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (plus([n, m, _uj])) -> leq([n, _uj]) -> 1 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 1 } Sat witness: Found: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.005214 s (model generation: 0.005134, model checking: 0.000080): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151}, Q_f={q_gen_2151}, Delta= { () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (plus([n, m, _uj])) -> leq([n, _uj]) -> 1 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 1 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 2, which took 0.005132 s (model generation: 0.004604, model checking: 0.000528): Model: |_ { leq -> {{{ Q={q_gen_2152}, Q_f={q_gen_2152}, Delta= { () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151}, Q_f={q_gen_2151}, Delta= { () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (plus([n, m, _uj])) -> leq([n, _uj]) -> 1 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Found: ((plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]), { _pj -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.005633 s (model generation: 0.005517, model checking: 0.000116): Model: |_ { leq -> {{{ Q={q_gen_2152}, Q_f={q_gen_2152}, Delta= { () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151, q_gen_2154}, Q_f={q_gen_2151}, Delta= { () -> q_gen_2154 (q_gen_2154) -> q_gen_2151 () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Found: ((plus([n, m, _uj])) -> leq([n, _uj]), { _uj -> s(z) ; m -> s(z) ; n -> z }) ------------------------------------------- Step 4, which took 0.004875 s (model generation: 0.004773, model checking: 0.000102): Model: |_ { leq -> {{{ Q={q_gen_2152, q_gen_2156}, Q_f={q_gen_2152}, Delta= { () -> q_gen_2156 (q_gen_2156) -> q_gen_2152 () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151, q_gen_2154}, Q_f={q_gen_2151}, Delta= { () -> q_gen_2154 (q_gen_2154) -> q_gen_2151 () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 (leq([s(nn1), z])) -> BOT -> 2 (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Found: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 5, which took 0.004528 s (model generation: 0.004292, model checking: 0.000236): Model: |_ { leq -> {{{ Q={q_gen_2152, q_gen_2156}, Q_f={q_gen_2152}, Delta= { () -> q_gen_2156 (q_gen_2152) -> q_gen_2152 (q_gen_2156) -> q_gen_2152 () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151, q_gen_2154}, Q_f={q_gen_2151}, Delta= { () -> q_gen_2154 (q_gen_2154) -> q_gen_2151 () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 6 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 (leq([s(nn1), z])) -> BOT -> 3 (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Found: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 6, which took 0.004947 s (model generation: 0.004843, model checking: 0.000104): Model: |_ { leq -> {{{ Q={q_gen_2152, q_gen_2156}, Q_f={q_gen_2152}, Delta= { () -> q_gen_2156 (q_gen_2152) -> q_gen_2152 (q_gen_2156) -> q_gen_2152 () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151, q_gen_2154}, Q_f={q_gen_2151}, Delta= { (q_gen_2154) -> q_gen_2154 () -> q_gen_2154 (q_gen_2154) -> q_gen_2151 (q_gen_2154) -> q_gen_2151 () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 () -> plus([n, z, n]) -> 6 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 4 (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> s(s(z)) }) ------------------------------------------- Step 7, which took 0.005850 s (model generation: 0.005726, model checking: 0.000124): Model: |_ { leq -> {{{ Q={q_gen_2152, q_gen_2156}, Q_f={q_gen_2152}, Delta= { (q_gen_2156) -> q_gen_2156 () -> q_gen_2156 (q_gen_2152) -> q_gen_2152 (q_gen_2156) -> q_gen_2152 () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151, q_gen_2154}, Q_f={q_gen_2151}, Delta= { (q_gen_2154) -> q_gen_2154 () -> q_gen_2154 (q_gen_2154) -> q_gen_2151 (q_gen_2154) -> q_gen_2151 () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 () -> plus([n, z, n]) -> 6 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 4 (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 7 } Sat witness: Found: ((plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]), { _pj -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 8, which took 0.004952 s (model generation: 0.004592, model checking: 0.000360): Model: |_ { leq -> {{{ Q={q_gen_2152, q_gen_2156}, Q_f={q_gen_2152}, Delta= { (q_gen_2156) -> q_gen_2156 () -> q_gen_2156 (q_gen_2152) -> q_gen_2152 (q_gen_2156) -> q_gen_2152 () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151, q_gen_2154, q_gen_2165}, Q_f={q_gen_2151}, Delta= { () -> q_gen_2165 (q_gen_2154) -> q_gen_2154 () -> q_gen_2154 (q_gen_2151) -> q_gen_2151 (q_gen_2154) -> q_gen_2151 (q_gen_2154) -> q_gen_2151 (q_gen_2165) -> q_gen_2151 () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 7 () -> plus([n, z, n]) -> 7 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 5 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 5 (leq([s(nn1), z])) -> BOT -> 5 (plus([n, m, _uj])) -> leq([n, _uj]) -> 5 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 10 } Sat witness: Found: ((plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]), { _pj -> s(z) ; mm -> z ; n -> z }) ------------------------------------------- Step 9, which took 0.006283 s (model generation: 0.005793, model checking: 0.000490): Model: |_ { leq -> {{{ Q={q_gen_2152, q_gen_2156}, Q_f={q_gen_2152}, Delta= { (q_gen_2156) -> q_gen_2156 () -> q_gen_2156 (q_gen_2152) -> q_gen_2152 (q_gen_2156) -> q_gen_2152 () -> q_gen_2152 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_2151, q_gen_2154, q_gen_2165}, Q_f={q_gen_2151}, Delta= { () -> q_gen_2165 (q_gen_2154) -> q_gen_2154 (q_gen_2165) -> q_gen_2154 () -> q_gen_2154 (q_gen_2151) -> q_gen_2151 (q_gen_2154) -> q_gen_2151 (q_gen_2154) -> q_gen_2151 (q_gen_2165) -> q_gen_2151 () -> q_gen_2151 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 8 () -> plus([n, z, n]) -> 8 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 6 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 6 (leq([s(nn1), z])) -> BOT -> 6 (plus([n, m, _uj])) -> leq([n, _uj]) -> 6 (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 13 } Sat witness: Found: ((plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]), { _pj -> s(s(z)) ; mm -> z ; n -> s(z) }) Total time: 0.059919 Reason for stopping: Proved