Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: right Learning problem is: env: { nat -> {s, z} } definition: { (min, F: {() -> min([s(u), z, z]) () -> min([z, y, z]) (min([u, y1, _to])) -> min([s(u), s(y1), s(_to)])} (min([_uo, _vo, _wo]) /\ min([_uo, _vo, _xo])) -> eq_nat([_wo, _xo]) ) } properties: {(min([a, b, _yo]) /\ min([b, a, _zo])) -> eq_nat([_yo, _zo])} over-approximation: {min} under-approximation: {} Clause system for inference is: { () -> min([s(u), z, z]) -> 0 () -> min([z, y, z]) -> 0 (min([a, b, _yo]) /\ min([b, a, _zo])) -> eq_nat([_yo, _zo]) -> 0 (min([u, y1, _to])) -> min([s(u), s(y1), s(_to)]) -> 0 } Solving took 0.047461 seconds. Proved Model: |_ { min -> {{{ Q={q_gen_3031, q_gen_3033}, Q_f={q_gen_3031}, Delta= { (q_gen_3033) -> q_gen_3033 () -> q_gen_3033 (q_gen_3031) -> q_gen_3031 (q_gen_3033) -> q_gen_3031 (q_gen_3033) -> q_gen_3031 () -> q_gen_3031 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.005655 s (model generation: 0.005250, model checking: 0.000405): Model: |_ { min -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> min([s(u), z, z]) -> 0 () -> min([z, y, z]) -> 3 (min([a, b, _yo]) /\ min([b, a, _zo])) -> eq_nat([_yo, _zo]) -> 1 (min([u, y1, _to])) -> min([s(u), s(y1), s(_to)]) -> 1 } Sat witness: Found: (() -> min([z, y, z]), { y -> z }) ------------------------------------------- Step 1, which took 0.008024 s (model generation: 0.007841, model checking: 0.000183): Model: |_ { min -> {{{ Q={q_gen_3031}, Q_f={q_gen_3031}, Delta= { () -> q_gen_3031 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 3 (min([a, b, _yo]) /\ min([b, a, _zo])) -> eq_nat([_yo, _zo]) -> 1 (min([u, y1, _to])) -> min([s(u), s(y1), s(_to)]) -> 1 } Sat witness: Found: (() -> min([s(u), z, z]), { u -> z }) ------------------------------------------- Step 2, which took 0.010567 s (model generation: 0.010285, model checking: 0.000282): Model: |_ { min -> {{{ Q={q_gen_3031, q_gen_3033}, Q_f={q_gen_3031}, Delta= { () -> q_gen_3033 (q_gen_3033) -> q_gen_3031 () -> q_gen_3031 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 3 (min([a, b, _yo]) /\ min([b, a, _zo])) -> eq_nat([_yo, _zo]) -> 1 (min([u, y1, _to])) -> min([s(u), s(y1), s(_to)]) -> 4 } Sat witness: Found: ((min([u, y1, _to])) -> min([s(u), s(y1), s(_to)]), { _to -> z ; u -> z ; y1 -> z }) ------------------------------------------- Step 3, which took 0.011163 s (model generation: 0.010721, model checking: 0.000442): Model: |_ { min -> {{{ Q={q_gen_3031, q_gen_3033}, Q_f={q_gen_3031}, Delta= { () -> q_gen_3033 (q_gen_3031) -> q_gen_3031 (q_gen_3033) -> q_gen_3031 () -> q_gen_3031 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> min([s(u), z, z]) -> 3 () -> min([z, y, z]) -> 6 (min([a, b, _yo]) /\ min([b, a, _zo])) -> eq_nat([_yo, _zo]) -> 2 (min([u, y1, _to])) -> min([s(u), s(y1), s(_to)]) -> 4 } Sat witness: Found: (() -> min([z, y, z]), { y -> s(s(z)) }) Total time: 0.047461 Reason for stopping: Proved