Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { nat -> {s, z} } definition: { (min, F: {() -> min([s(u), z, z]) () -> min([z, y, z]) (min([u, y1, _jga])) -> min([s(u), s(y1), s(_jga)])} (min([_kga, _lga, _mga]) /\ min([_kga, _lga, _nga])) -> eq_nat([_mga, _nga]) ) } properties: {(min([a, b, _oga]) /\ min([b, a, _pga])) -> eq_nat([_oga, _pga])} over-approximation: {min} under-approximation: {} Clause system for inference is: { () -> min([s(u), z, z]) -> 0 () -> min([z, y, z]) -> 0 (min([a, b, _oga]) /\ min([b, a, _pga])) -> eq_nat([_oga, _pga]) -> 0 (min([u, y1, _jga])) -> min([s(u), s(y1), s(_jga)]) -> 0 } Solving took 0.079572 seconds. Proved Model: |_ { min -> {{{ Q={q_gen_8612, q_gen_8614}, Q_f={q_gen_8612}, Delta= { (q_gen_8614) -> q_gen_8614 () -> q_gen_8614 (q_gen_8612) -> q_gen_8612 (q_gen_8614) -> q_gen_8612 (q_gen_8614) -> q_gen_8612 () -> q_gen_8612 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.014362 s (model generation: 0.014066, model checking: 0.000296): Model: |_ { min -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- 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, _oga]) /\ min([b, a, _pga])) -> eq_nat([_oga, _pga]) -> 1 (min([u, y1, _jga])) -> min([s(u), s(y1), s(_jga)]) -> 1 } Sat witness: Found: (() -> min([z, y, z]), { y -> z }) ------------------------------------------- Step 1, which took 0.014994 s (model generation: 0.014725, model checking: 0.000269): Model: |_ { min -> {{{ Q={q_gen_8612}, Q_f={q_gen_8612}, Delta= { () -> q_gen_8612 } Datatype: Convolution form: left }}} } -- 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, _oga]) /\ min([b, a, _pga])) -> eq_nat([_oga, _pga]) -> 1 (min([u, y1, _jga])) -> min([s(u), s(y1), s(_jga)]) -> 1 } Sat witness: Found: (() -> min([s(u), z, z]), { u -> z }) ------------------------------------------- Step 2, which took 0.015500 s (model generation: 0.015243, model checking: 0.000257): Model: |_ { min -> {{{ Q={q_gen_8612, q_gen_8614}, Q_f={q_gen_8612}, Delta= { () -> q_gen_8614 (q_gen_8614) -> q_gen_8612 () -> q_gen_8612 } Datatype: Convolution form: left }}} } -- 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, _oga]) /\ min([b, a, _pga])) -> eq_nat([_oga, _pga]) -> 1 (min([u, y1, _jga])) -> min([s(u), s(y1), s(_jga)]) -> 4 } Sat witness: Found: ((min([u, y1, _jga])) -> min([s(u), s(y1), s(_jga)]), { _jga -> z ; u -> z ; y1 -> z }) ------------------------------------------- Step 3, which took 0.015712 s (model generation: 0.015368, model checking: 0.000344): Model: |_ { min -> {{{ Q={q_gen_8612, q_gen_8614}, Q_f={q_gen_8612}, Delta= { () -> q_gen_8614 (q_gen_8612) -> q_gen_8612 (q_gen_8614) -> q_gen_8612 () -> q_gen_8612 } Datatype: Convolution form: left }}} } -- 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, _oga]) /\ min([b, a, _pga])) -> eq_nat([_oga, _pga]) -> 2 (min([u, y1, _jga])) -> min([s(u), s(y1), s(_jga)]) -> 4 } Sat witness: Found: (() -> min([z, y, z]), { y -> s(s(z)) }) Total time: 0.079572 Reason for stopping: Proved