Solving ../../benchmarks/true/plus_succ2_le.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, _jk])) -> plus([n, s(mm), s(_jk)])} (plus([_kk, _lk, _mk]) /\ plus([_kk, _lk, _nk])) -> eq_nat([_mk, _nk]) ) (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([n, s(m), _ok])) -> le([n, _ok])} 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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 0 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 0 } Solving took 0.328642 seconds. Proved Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094, q_gen_5101}, Q_f={q_gen_5082, q_gen_5085}, Delta= { (q_gen_5093) -> q_gen_5093 () -> q_gen_5093 (q_gen_5086) -> q_gen_5086 () -> q_gen_5086 (q_gen_5101) -> q_gen_5101 (q_gen_5093) -> q_gen_5101 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5085) -> q_gen_5085 (q_gen_5101) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5101) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 (q_gen_5094) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.006899 s (model generation: 0.006598, model checking: 0.000301): 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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 1 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 1 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.010605 s (model generation: 0.010480, model checking: 0.000125): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5082 } 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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 1 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 1 } Sat witness: Yes: (() -> le([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.013386 s (model generation: 0.013073, model checking: 0.000313): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084}, Q_f={q_gen_5083}, Delta= { () -> q_gen_5084 (q_gen_5084) -> q_gen_5083 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5082 } 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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 4 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 2 } Sat witness: Yes: ((plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]), { _jk -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.012050 s (model generation: 0.011785, model checking: 0.000265): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084}, Q_f={q_gen_5083}, Delta= { () -> q_gen_5084 (q_gen_5084) -> q_gen_5083 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5086 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 } 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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 4 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 2 } Sat witness: Yes: ((le([nn1, nn2])) -> le([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> s(z) }) ------------------------------------------- Step 4, which took 0.012369 s (model generation: 0.011730, model checking: 0.000639): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084}, Q_f={q_gen_5083}, Delta= { () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5086 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 } 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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 4 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 3 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(z) }) ------------------------------------------- Step 5, which took 0.013539 s (model generation: 0.011525, model checking: 0.002014): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084}, Q_f={q_gen_5083}, Delta= { () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5086 (q_gen_5086) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 } 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]) -> 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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 4 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 4 } Sat witness: Yes: (() -> le([z, s(nn2)]), { nn2 -> s(z) }) ------------------------------------------- Step 6, which took 0.012733 s (model generation: 0.012240, model checking: 0.000493): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5086 (q_gen_5086) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 } 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]) -> 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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 7 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 5 } Sat witness: Yes: ((plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]), { _jk -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 7, which took 0.013108 s (model generation: 0.012663, model checking: 0.000445): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086, q_gen_5093}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5093 () -> q_gen_5086 (q_gen_5082) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5093) -> q_gen_5082 () -> q_gen_5082 } 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]) -> 6 ; (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([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 7 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 8 } Sat witness: Yes: ((plus([n, s(m), _ok])) -> le([n, _ok]), { _ok -> s(z) ; m -> z ; n -> s(z) }) ------------------------------------------- Step 8, which took 0.014394 s (model generation: 0.014362, model checking: 0.000032): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 () -> q_gen_5083 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086, q_gen_5093}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5093 () -> q_gen_5086 (q_gen_5082) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5093) -> q_gen_5082 () -> q_gen_5082 } 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]) -> 6 ; (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 -> 8 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 7 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 8 } Sat witness: Yes: ((le([z, z])) -> BOT, { }) ------------------------------------------- Step 9, which took 0.013951 s (model generation: 0.013788, model checking: 0.000163): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5096}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5096) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 () -> q_gen_5096 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086, q_gen_5093}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5093 () -> q_gen_5086 (q_gen_5082) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5093) -> q_gen_5082 () -> q_gen_5082 } 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]) -> 6 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 5 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 8 ; (le([s(nn1), z])) -> BOT -> 6 ; (le([z, z])) -> BOT -> 8 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 7 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 8 } Sat witness: Yes: ((le([s(nn1), s(nn2)])) -> le([nn1, nn2]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 10, which took 0.014501 s (model generation: 0.013977, model checking: 0.000524): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086, q_gen_5092, q_gen_5093}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5093 () -> q_gen_5086 (q_gen_5092) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5082) -> q_gen_5092 (q_gen_5093) -> q_gen_5092 } 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]) -> 8 ; (le([s(nn1), z])) -> BOT -> 7 ; (le([z, z])) -> BOT -> 8 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 7 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 8 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 11, which took 0.015546 s (model generation: 0.013909, model checking: 0.001637): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086, q_gen_5092, q_gen_5093}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5093 (q_gen_5086) -> q_gen_5086 () -> q_gen_5086 (q_gen_5092) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5082) -> q_gen_5092 (q_gen_5093) -> q_gen_5092 } 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]) -> 9 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 7 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 8 ; (le([s(nn1), z])) -> BOT -> 7 ; (le([z, z])) -> BOT -> 8 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 10 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 8 } Sat witness: Yes: ((plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]), { _jk -> s(s(z)) ; mm -> s(z) ; n -> s(z) }) ------------------------------------------- Step 12, which took 0.015504 s (model generation: 0.015091, model checking: 0.000413): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094}, Q_f={q_gen_5082, q_gen_5085}, Delta= { () -> q_gen_5093 (q_gen_5086) -> q_gen_5086 (q_gen_5093) -> q_gen_5086 () -> q_gen_5086 () -> q_gen_5082 (q_gen_5085) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 8 ; () -> plus([n, z, n]) -> 9 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 8 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 8 ; (le([s(nn1), z])) -> BOT -> 8 ; (le([z, z])) -> BOT -> 8 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 10 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 11 } Sat witness: Yes: ((plus([n, s(m), _ok])) -> le([n, _ok]), { _ok -> s(s(z)) ; m -> z ; n -> s(s(z)) }) ------------------------------------------- Step 13, which took 0.017648 s (model generation: 0.016452, model checking: 0.001196): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094}, Q_f={q_gen_5082, q_gen_5085}, Delta= { () -> q_gen_5093 (q_gen_5086) -> q_gen_5086 (q_gen_5093) -> q_gen_5086 () -> q_gen_5086 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5085) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 9 ; () -> plus([n, z, n]) -> 10 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 9 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 9 ; (le([s(nn1), z])) -> BOT -> 9 ; (le([z, z])) -> BOT -> 9 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 13 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 11 } Sat witness: Yes: ((plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]), { _jk -> s(s(z)) ; mm -> z ; n -> s(s(z)) }) ------------------------------------------- Step 14, which took 0.017425 s (model generation: 0.016825, model checking: 0.000600): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5086, q_gen_5092, q_gen_5093, q_gen_5101}, Q_f={q_gen_5082}, Delta= { () -> q_gen_5093 (q_gen_5086) -> q_gen_5086 () -> q_gen_5086 (q_gen_5093) -> q_gen_5101 (q_gen_5092) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5082) -> q_gen_5092 (q_gen_5101) -> q_gen_5092 (q_gen_5101) -> q_gen_5092 (q_gen_5093) -> q_gen_5092 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 10 ; () -> plus([n, z, n]) -> 11 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 10 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 10 ; (le([s(nn1), z])) -> BOT -> 10 ; (le([z, z])) -> BOT -> 10 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 13 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 14 } Sat witness: Yes: ((plus([n, s(m), _ok])) -> le([n, _ok]), { _ok -> s(s(z)) ; m -> s(z) ; n -> s(s(z)) }) ------------------------------------------- Step 15, which took 0.011104 s (model generation: 0.011031, model checking: 0.000073): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095, q_gen_5096}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5095) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5096) -> q_gen_5095 () -> q_gen_5096 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094}, Q_f={q_gen_5082, q_gen_5085}, Delta= { () -> q_gen_5093 (q_gen_5086) -> q_gen_5086 (q_gen_5093) -> q_gen_5086 () -> q_gen_5086 (q_gen_5094) -> q_gen_5082 () -> q_gen_5082 (q_gen_5085) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 10 ; () -> plus([n, z, n]) -> 11 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 10 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 13 ; (le([s(nn1), z])) -> BOT -> 11 ; (le([z, z])) -> BOT -> 11 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 13 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 14 } Sat witness: Yes: ((le([s(nn1), s(nn2)])) -> le([nn1, nn2]), { nn1 -> s(z) ; nn2 -> s(z) }) ------------------------------------------- Step 16, which took 0.013198 s (model generation: 0.012654, model checking: 0.000544): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094, q_gen_5098}, Q_f={q_gen_5082, q_gen_5085}, Delta= { () -> q_gen_5093 () -> q_gen_5086 (q_gen_5086) -> q_gen_5098 (q_gen_5093) -> q_gen_5098 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5085) -> q_gen_5085 (q_gen_5098) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5098) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 (q_gen_5094) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 11 ; () -> plus([n, z, n]) -> 14 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 11 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 13 ; (le([s(nn1), z])) -> BOT -> 12 ; (le([z, z])) -> BOT -> 12 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 13 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 14 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(s(s(z))) }) ------------------------------------------- Step 17, which took 0.017321 s (model generation: 0.016351, model checking: 0.000970): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094, q_gen_5098}, Q_f={q_gen_5082, q_gen_5085}, Delta= { () -> q_gen_5093 (q_gen_5098) -> q_gen_5086 () -> q_gen_5086 (q_gen_5086) -> q_gen_5098 (q_gen_5093) -> q_gen_5098 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5085) -> q_gen_5085 (q_gen_5098) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5098) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 (q_gen_5094) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 12 ; () -> plus([n, z, n]) -> 14 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 12 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 13 ; (le([s(nn1), z])) -> BOT -> 13 ; (le([z, z])) -> BOT -> 13 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 16 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 14 } Sat witness: Yes: ((plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]), { _jk -> s(s(z)) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 18, which took 0.018308 s (model generation: 0.018016, model checking: 0.000292): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094, q_gen_5098}, Q_f={q_gen_5082, q_gen_5085}, Delta= { (q_gen_5093) -> q_gen_5093 () -> q_gen_5093 (q_gen_5098) -> q_gen_5086 () -> q_gen_5086 (q_gen_5086) -> q_gen_5098 (q_gen_5093) -> q_gen_5098 (q_gen_5085) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5098) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5098) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 (q_gen_5094) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 13 ; () -> plus([n, z, n]) -> 14 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 13 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 14 ; (le([s(nn1), z])) -> BOT -> 14 ; (le([z, z])) -> BOT -> 14 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 16 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 17 } Sat witness: Yes: ((plus([n, s(m), _ok])) -> le([n, _ok]), { _ok -> s(s(s(z))) ; m -> z ; n -> s(s(s(z))) }) ------------------------------------------- Step 19, which took 0.017852 s (model generation: 0.016915, model checking: 0.000937): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094, q_gen_5101}, Q_f={q_gen_5082, q_gen_5085}, Delta= { (q_gen_5093) -> q_gen_5093 () -> q_gen_5093 (q_gen_5086) -> q_gen_5086 () -> q_gen_5086 (q_gen_5093) -> q_gen_5101 (q_gen_5085) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5101) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5101) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 (q_gen_5094) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 14 ; () -> plus([n, z, n]) -> 15 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 14 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 15 ; (le([s(nn1), z])) -> BOT -> 15 ; (le([z, z])) -> BOT -> 15 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 19 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 17 } Sat witness: Yes: ((plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]), { _jk -> s(s(z)) ; mm -> s(z) ; n -> z }) ------------------------------------------- Step 20, which took 0.024021 s (model generation: 0.023093, model checking: 0.000928): Model: |_ { le -> {{{ Q={q_gen_5083, q_gen_5084, q_gen_5095}, Q_f={q_gen_5083}, Delta= { (q_gen_5084) -> q_gen_5084 () -> q_gen_5084 (q_gen_5083) -> q_gen_5083 (q_gen_5084) -> q_gen_5083 (q_gen_5095) -> q_gen_5095 () -> q_gen_5095 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_5082, q_gen_5085, q_gen_5086, q_gen_5093, q_gen_5094, q_gen_5101}, Q_f={q_gen_5082, q_gen_5085}, Delta= { (q_gen_5093) -> q_gen_5093 () -> q_gen_5093 (q_gen_5086) -> q_gen_5086 () -> q_gen_5086 (q_gen_5101) -> q_gen_5101 (q_gen_5093) -> q_gen_5101 (q_gen_5085) -> q_gen_5082 (q_gen_5086) -> q_gen_5082 () -> q_gen_5082 (q_gen_5101) -> q_gen_5085 (q_gen_5086) -> q_gen_5085 (q_gen_5101) -> q_gen_5085 (q_gen_5093) -> q_gen_5085 (q_gen_5082) -> q_gen_5094 (q_gen_5094) -> q_gen_5094 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 15 ; () -> plus([n, z, n]) -> 16 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 15 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 16 ; (le([s(nn1), z])) -> BOT -> 16 ; (le([z, z])) -> BOT -> 16 ; (plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]) -> 22 ; (plus([n, s(m), _ok])) -> le([n, _ok]) -> 18 } Sat witness: Yes: ((plus([n, mm, _jk])) -> plus([n, s(mm), s(_jk)]), { _jk -> s(s(s(z))) ; mm -> s(z) ; n -> s(s(z)) }) Total time: 0.328642 Reason for stopping: Proved