Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left 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, _vx])) -> min([s(u), s(y1), s(_vx)])} (min([_wx, _xx, _yx]) /\ min([_wx, _xx, _zx])) -> eq_nat([_yx, _zx]) ) } properties: {(leq([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]), (min([i, j, i])) -> leq([i, j])} 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 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, i])) -> leq([i, j]) -> 0 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 0 } Solving took 0.170910 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_6361, q_gen_6367}, Q_f={q_gen_6361}, Delta= { (q_gen_6367) -> q_gen_6367 () -> q_gen_6367 (q_gen_6361) -> q_gen_6361 (q_gen_6367) -> q_gen_6361 () -> q_gen_6361 } Datatype: Convolution form: left }}} ; min -> {{{ Q={q_gen_6358, q_gen_6360}, Q_f={q_gen_6358}, Delta= { (q_gen_6360) -> q_gen_6360 () -> q_gen_6360 (q_gen_6358) -> q_gen_6358 (q_gen_6360) -> q_gen_6358 (q_gen_6360) -> q_gen_6358 () -> q_gen_6358 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.036720 s (model generation: 0.036107, model checking: 0.000613): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; min -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 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, i])) -> leq([i, j]) -> 1 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 1 } Sat witness: Found: (() -> min([z, y, z]), { y -> z }) ------------------------------------------- Step 1, which took 0.010715 s (model generation: 0.010572, model checking: 0.000143): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; min -> {{{ Q={q_gen_6358}, Q_f={q_gen_6358}, Delta= { () -> q_gen_6358 } Datatype: Convolution form: left }}} } -- 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 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, i])) -> leq([i, j]) -> 1 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 1 } Sat witness: Found: (() -> min([s(u), z, z]), { u -> z }) ------------------------------------------- Step 2, which took 0.011929 s (model generation: 0.011856, model checking: 0.000073): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; min -> {{{ Q={q_gen_6358, q_gen_6360}, Q_f={q_gen_6358}, Delta= { () -> q_gen_6360 (q_gen_6360) -> q_gen_6358 () -> q_gen_6358 } Datatype: Convolution form: left }}} } -- 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 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, i])) -> leq([i, j]) -> 1 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 1 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 3, which took 0.016013 s (model generation: 0.015853, model checking: 0.000160): Model: |_ { leq -> {{{ Q={q_gen_6361}, Q_f={q_gen_6361}, Delta= { () -> q_gen_6361 } Datatype: Convolution form: left }}} ; min -> {{{ Q={q_gen_6358, q_gen_6360}, Q_f={q_gen_6358}, Delta= { () -> q_gen_6360 (q_gen_6360) -> q_gen_6358 () -> q_gen_6358 } Datatype: Convolution form: left }}} } -- 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 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, i])) -> leq([i, j]) -> 1 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 4 } Sat witness: Found: ((min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]), { _vx -> z ; u -> z ; y1 -> z }) ------------------------------------------- Step 4, which took 0.021080 s (model generation: 0.020916, model checking: 0.000164): Model: |_ { leq -> {{{ Q={q_gen_6361}, Q_f={q_gen_6361}, Delta= { () -> q_gen_6361 } Datatype: Convolution form: left }}} ; min -> {{{ Q={q_gen_6358, q_gen_6360}, Q_f={q_gen_6358}, Delta= { () -> q_gen_6360 (q_gen_6358) -> q_gen_6358 (q_gen_6360) -> q_gen_6358 () -> q_gen_6358 } Datatype: Convolution form: left }}} } -- 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 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, i])) -> leq([i, j]) -> 4 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 4 } Sat witness: Found: ((min([i, j, i])) -> leq([i, j]), { i -> s(z) ; j -> s(z) }) ------------------------------------------- Step 5, which took 0.021789 s (model generation: 0.021396, model checking: 0.000393): Model: |_ { leq -> {{{ Q={q_gen_6361}, Q_f={q_gen_6361}, Delta= { (q_gen_6361) -> q_gen_6361 () -> q_gen_6361 } Datatype: Convolution form: left }}} ; min -> {{{ Q={q_gen_6358, q_gen_6360}, Q_f={q_gen_6358}, Delta= { () -> q_gen_6360 (q_gen_6358) -> q_gen_6358 (q_gen_6360) -> q_gen_6358 () -> q_gen_6358 } Datatype: Convolution form: left }}} } -- 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 2 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 2 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 (leq([s(nn1), z])) -> BOT -> 2 (min([i, j, i])) -> leq([i, j]) -> 4 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 4 } Sat witness: Found: (() -> min([z, y, z]), { y -> s(s(z)) }) ------------------------------------------- Step 6, which took 0.018956 s (model generation: 0.018605, model checking: 0.000351): Model: |_ { leq -> {{{ Q={q_gen_6361}, Q_f={q_gen_6361}, Delta= { (q_gen_6361) -> q_gen_6361 () -> q_gen_6361 } Datatype: Convolution form: left }}} ; min -> {{{ Q={q_gen_6358, q_gen_6360}, Q_f={q_gen_6358}, Delta= { (q_gen_6360) -> q_gen_6360 () -> q_gen_6360 (q_gen_6358) -> q_gen_6358 (q_gen_6360) -> q_gen_6358 (q_gen_6360) -> q_gen_6358 () -> q_gen_6358 } Datatype: Convolution form: left }}} } -- 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 3 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 (leq([s(nn1), z])) -> BOT -> 3 (min([i, j, i])) -> leq([i, j]) -> 4 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 4 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> s(z) }) ------------------------------------------- Step 7, which took 0.016044 s (model generation: 0.015540, model checking: 0.000504): Model: |_ { leq -> {{{ Q={q_gen_6361, q_gen_6367}, Q_f={q_gen_6361}, Delta= { () -> q_gen_6367 (q_gen_6361) -> q_gen_6361 (q_gen_6367) -> q_gen_6361 () -> q_gen_6361 } Datatype: Convolution form: left }}} ; min -> {{{ Q={q_gen_6358, q_gen_6360}, Q_f={q_gen_6358}, Delta= { (q_gen_6360) -> q_gen_6360 () -> q_gen_6360 (q_gen_6358) -> q_gen_6358 (q_gen_6360) -> q_gen_6358 (q_gen_6360) -> q_gen_6358 () -> q_gen_6358 } Datatype: Convolution form: left }}} } -- 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([i, j]) /\ min([i, j, _by])) -> eq_nat([_by, i]) -> 4 (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, i])) -> leq([i, j]) -> 7 (min([u, y1, _vx])) -> min([s(u), s(y1), s(_vx)]) -> 5 } Sat witness: Found: ((min([i, j, i])) -> leq([i, j]), { i -> z ; j -> s(s(z)) }) Total time: 0.170910 Reason for stopping: Proved