Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: right Learning problem is: env: { nat -> {s, z} } definition: { (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} ) (min, F: {() -> min([s(u), z, z]) () -> min([z, y, z]) (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)])} (min([_xe, _ye, _af]) /\ min([_xe, _ye, _ze])) -> eq_nat([_ze, _af]) ) } properties: {(leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]), (min([i, j, j])) -> leq([j, i])} over-approximation: {min} under-approximation: {} Clause system for inference is: { () -> leq([z, n2]) -> 0 () -> min([s(u), z, z]) -> 0 () -> min([z, y, z]) -> 0 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 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 (min([i, j, j])) -> leq([j, i]) -> 0 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 0 } Solving took 0.111825 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_1000, q_gen_1001}, Q_f={q_gen_1000}, Delta= { (q_gen_1001) -> q_gen_1001 () -> q_gen_1001 (q_gen_1000) -> q_gen_1000 (q_gen_1001) -> q_gen_1000 () -> q_gen_1000 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_1003, q_gen_1004}, Q_f={q_gen_1003}, Delta= { (q_gen_1004) -> q_gen_1004 () -> q_gen_1004 (q_gen_1003) -> q_gen_1003 (q_gen_1004) -> q_gen_1003 (q_gen_1004) -> q_gen_1003 () -> q_gen_1003 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.011623 s (model generation: 0.010357, model checking: 0.001266): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; min -> {{{ 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 () -> min([s(u), z, z]) -> 0 () -> min([z, y, z]) -> 3 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (min([i, j, j])) -> leq([j, i]) -> 1 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 1 } Sat witness: Found: (() -> min([z, y, z]), { y -> z }) ------------------------------------------- Step 1, which took 0.010845 s (model generation: 0.010631, model checking: 0.000214): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_995}, Q_f={q_gen_995}, Delta= { () -> q_gen_995 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 0 () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 3 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (min([i, j, j])) -> leq([j, i]) -> 1 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 1 } Sat witness: Found: (() -> min([s(u), z, z]), { u -> z }) ------------------------------------------- Step 2, which took 0.011062 s (model generation: 0.010951, model checking: 0.000111): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_995, q_gen_997}, Q_f={q_gen_995}, Delta= { () -> q_gen_997 (q_gen_997) -> q_gen_995 () -> q_gen_995 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 3 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (min([i, j, j])) -> leq([j, i]) -> 1 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 1 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 3, which took 0.011475 s (model generation: 0.011172, model checking: 0.000303): Model: |_ { leq -> {{{ Q={q_gen_998}, Q_f={q_gen_998}, Delta= { () -> q_gen_998 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_995, q_gen_997}, Q_f={q_gen_995}, Delta= { () -> q_gen_997 (q_gen_997) -> q_gen_995 () -> q_gen_995 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 3 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (min([i, j, j])) -> leq([j, i]) -> 1 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Found: ((min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]), { _we -> z ; u -> z ; y1 -> z }) ------------------------------------------- Step 4, which took 0.011348 s (model generation: 0.011177, model checking: 0.000171): Model: |_ { leq -> {{{ Q={q_gen_998}, Q_f={q_gen_998}, Delta= { () -> q_gen_998 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_995, q_gen_997}, Q_f={q_gen_995}, Delta= { () -> q_gen_997 (q_gen_995) -> q_gen_995 (q_gen_997) -> q_gen_995 () -> q_gen_995 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 3 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (min([i, j, j])) -> leq([j, i]) -> 4 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Found: ((min([i, j, j])) -> leq([j, i]), { i -> s(z) ; j -> z }) ------------------------------------------- Step 5, which took 0.011489 s (model generation: 0.011252, model checking: 0.000237): Model: |_ { leq -> {{{ Q={q_gen_1000, q_gen_1001}, Q_f={q_gen_1000}, Delta= { () -> q_gen_1001 (q_gen_1001) -> q_gen_1000 () -> q_gen_1000 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_995, q_gen_997}, Q_f={q_gen_995}, Delta= { () -> q_gen_997 (q_gen_995) -> q_gen_995 (q_gen_997) -> q_gen_995 () -> q_gen_995 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 3 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 1 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 (leq([s(nn1), z])) -> BOT -> 2 (min([i, j, j])) -> leq([j, i]) -> 4 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Found: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 6, which took 0.016637 s (model generation: 0.011243, model checking: 0.005394): Model: |_ { leq -> {{{ Q={q_gen_1000, q_gen_1001}, Q_f={q_gen_1000}, Delta= { () -> q_gen_1001 (q_gen_1000) -> q_gen_1000 (q_gen_1001) -> q_gen_1000 () -> q_gen_1000 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_995, q_gen_997}, Q_f={q_gen_995}, Delta= { () -> q_gen_997 (q_gen_995) -> q_gen_995 (q_gen_997) -> q_gen_995 () -> q_gen_995 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 6 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 2 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 (leq([s(nn1), z])) -> BOT -> 3 (min([i, j, j])) -> leq([j, i]) -> 4 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Found: (() -> min([z, y, z]), { y -> s(s(z)) }) ------------------------------------------- Step 7, which took 0.012325 s (model generation: 0.011668, model checking: 0.000657): Model: |_ { leq -> {{{ Q={q_gen_1000, q_gen_1001}, Q_f={q_gen_1000}, Delta= { () -> q_gen_1001 (q_gen_1000) -> q_gen_1000 (q_gen_1001) -> q_gen_1000 () -> q_gen_1000 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_1003, q_gen_1004}, Q_f={q_gen_1003}, Delta= { (q_gen_1004) -> q_gen_1004 () -> q_gen_1004 (q_gen_1003) -> q_gen_1003 (q_gen_1004) -> q_gen_1003 (q_gen_1004) -> q_gen_1003 () -> q_gen_1003 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 () -> min([s(u), z, z]) -> 4 () -> min([z, y, z]) -> 6 (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 4 (min([i, j, j])) -> leq([j, i]) -> 4 (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> s(s(z)) }) Total time: 0.111825 Reason for stopping: Proved