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, _im])) -> min([s(u), s(y1), s(_im)])} (min([_jm, _km, _lm]) /\ min([_jm, _km, _mm])) -> eq_nat([_lm, _mm]) ) } properties: {(leq([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 0 } Solving took 0.102202 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_2565, q_gen_2571}, Q_f={q_gen_2565}, Delta= { (q_gen_2571) -> q_gen_2571 () -> q_gen_2571 (q_gen_2565) -> q_gen_2565 (q_gen_2571) -> q_gen_2565 () -> q_gen_2565 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_2562, q_gen_2564}, Q_f={q_gen_2562}, Delta= { (q_gen_2564) -> q_gen_2564 () -> q_gen_2564 (q_gen_2562) -> q_gen_2562 (q_gen_2564) -> q_gen_2562 (q_gen_2564) -> q_gen_2562 () -> q_gen_2562 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.010482 s (model generation: 0.009908, model checking: 0.000574): 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([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 1 } Sat witness: Found: (() -> min([z, y, z]), { y -> z }) ------------------------------------------- Step 1, which took 0.010335 s (model generation: 0.010140, model checking: 0.000195): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_2562}, Q_f={q_gen_2562}, Delta= { () -> q_gen_2562 } 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([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 1 } Sat witness: Found: (() -> min([s(u), z, z]), { u -> z }) ------------------------------------------- Step 2, which took 0.010521 s (model generation: 0.010418, model checking: 0.000103): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_2562, q_gen_2564}, Q_f={q_gen_2562}, Delta= { () -> q_gen_2564 (q_gen_2564) -> q_gen_2562 () -> q_gen_2562 } 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([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 1 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 3, which took 0.010758 s (model generation: 0.010434, model checking: 0.000324): Model: |_ { leq -> {{{ Q={q_gen_2565}, Q_f={q_gen_2565}, Delta= { () -> q_gen_2565 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_2562, q_gen_2564}, Q_f={q_gen_2562}, Delta= { () -> q_gen_2564 (q_gen_2564) -> q_gen_2562 () -> q_gen_2562 } 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([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 4 } Sat witness: Found: ((min([u, y1, _im])) -> min([s(u), s(y1), s(_im)]), { _im -> z ; u -> z ; y1 -> z }) ------------------------------------------- Step 4, which took 0.010803 s (model generation: 0.010644, model checking: 0.000159): Model: |_ { leq -> {{{ Q={q_gen_2565}, Q_f={q_gen_2565}, Delta= { () -> q_gen_2565 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_2562, q_gen_2564}, Q_f={q_gen_2562}, Delta= { () -> q_gen_2564 (q_gen_2562) -> q_gen_2562 (q_gen_2564) -> q_gen_2562 () -> q_gen_2562 } 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([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 4 } Sat witness: Found: ((min([i, j, i])) -> leq([i, j]), { i -> s(z) ; j -> s(z) }) ------------------------------------------- Step 5, which took 0.011799 s (model generation: 0.010735, model checking: 0.001064): Model: |_ { leq -> {{{ Q={q_gen_2565}, Q_f={q_gen_2565}, Delta= { (q_gen_2565) -> q_gen_2565 () -> q_gen_2565 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_2562, q_gen_2564}, Q_f={q_gen_2562}, Delta= { () -> q_gen_2564 (q_gen_2562) -> q_gen_2562 (q_gen_2564) -> q_gen_2562 () -> q_gen_2562 } 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([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 4 } Sat witness: Found: (() -> min([z, y, z]), { y -> s(s(z)) }) ------------------------------------------- Step 6, which took 0.011757 s (model generation: 0.011232, model checking: 0.000525): Model: |_ { leq -> {{{ Q={q_gen_2565}, Q_f={q_gen_2565}, Delta= { (q_gen_2565) -> q_gen_2565 () -> q_gen_2565 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_2562, q_gen_2564}, Q_f={q_gen_2562}, Delta= { (q_gen_2564) -> q_gen_2564 () -> q_gen_2564 (q_gen_2562) -> q_gen_2562 (q_gen_2564) -> q_gen_2562 (q_gen_2564) -> q_gen_2562 () -> q_gen_2562 } 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([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 4 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> s(z) }) ------------------------------------------- Step 7, which took 0.012580 s (model generation: 0.011561, model checking: 0.001019): Model: |_ { leq -> {{{ Q={q_gen_2565, q_gen_2571}, Q_f={q_gen_2565}, Delta= { () -> q_gen_2571 (q_gen_2565) -> q_gen_2565 (q_gen_2571) -> q_gen_2565 () -> q_gen_2565 } Datatype: Convolution form: right }}} ; min -> {{{ Q={q_gen_2562, q_gen_2564}, Q_f={q_gen_2562}, Delta= { (q_gen_2564) -> q_gen_2564 () -> q_gen_2564 (q_gen_2562) -> q_gen_2562 (q_gen_2564) -> q_gen_2562 (q_gen_2564) -> q_gen_2562 () -> q_gen_2562 } 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([i, j]) /\ min([i, j, _om])) -> eq_nat([_om, 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, _im])) -> min([s(u), s(y1), s(_im)]) -> 5 } Sat witness: Found: ((min([i, j, i])) -> leq([i, j]), { i -> z ; j -> s(s(z)) }) Total time: 0.102202 Reason for stopping: Proved