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, _qb])) -> min([s(u), s(y1), s(_qb)])} (min([_rb, _sb, _tb]) /\ min([_rb, _sb, _ub])) -> eq_nat([_tb, _ub]) ) } properties: {(min([_vb, c, _wb]) /\ min([a, _xb, _yb]) /\ min([a, b, _vb]) /\ min([b, c, _xb])) -> eq_nat([_wb, _yb])} over-approximation: {min} under-approximation: {} Clause system for inference is: { () -> min([s(u), z, z]) -> 0 () -> min([z, y, z]) -> 0 (min([_vb, c, _wb]) /\ min([a, _xb, _yb]) /\ min([a, b, _vb]) /\ min([b, c, _xb])) -> eq_nat([_wb, _yb]) -> 0 (min([u, y1, _qb])) -> min([s(u), s(y1), s(_qb)]) -> 0 } Solving took 0.046555 seconds. Proved Model: |_ { min -> {{{ Q={q_gen_602, q_gen_604}, Q_f={q_gen_602}, Delta= { (q_gen_604) -> q_gen_604 () -> q_gen_604 (q_gen_602) -> q_gen_602 (q_gen_604) -> q_gen_602 (q_gen_604) -> q_gen_602 () -> q_gen_602 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.007751 s (model generation: 0.007575, model checking: 0.000176): 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([_vb, c, _wb]) /\ min([a, _xb, _yb]) /\ min([a, b, _vb]) /\ min([b, c, _xb])) -> eq_nat([_wb, _yb]) -> 1 (min([u, y1, _qb])) -> min([s(u), s(y1), s(_qb)]) -> 1 } Sat witness: Found: (() -> min([z, y, z]), { y -> z }) ------------------------------------------- Step 1, which took 0.008159 s (model generation: 0.008063, model checking: 0.000096): Model: |_ { min -> {{{ Q={q_gen_602}, Q_f={q_gen_602}, Delta= { () -> q_gen_602 } 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([_vb, c, _wb]) /\ min([a, _xb, _yb]) /\ min([a, b, _vb]) /\ min([b, c, _xb])) -> eq_nat([_wb, _yb]) -> 1 (min([u, y1, _qb])) -> min([s(u), s(y1), s(_qb)]) -> 1 } Sat witness: Found: (() -> min([s(u), z, z]), { u -> z }) ------------------------------------------- Step 2, which took 0.007805 s (model generation: 0.007646, model checking: 0.000159): Model: |_ { min -> {{{ Q={q_gen_602, q_gen_604}, Q_f={q_gen_602}, Delta= { () -> q_gen_604 (q_gen_604) -> q_gen_602 () -> q_gen_602 } 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([_vb, c, _wb]) /\ min([a, _xb, _yb]) /\ min([a, b, _vb]) /\ min([b, c, _xb])) -> eq_nat([_wb, _yb]) -> 1 (min([u, y1, _qb])) -> min([s(u), s(y1), s(_qb)]) -> 4 } Sat witness: Found: ((min([u, y1, _qb])) -> min([s(u), s(y1), s(_qb)]), { _qb -> z ; u -> z ; y1 -> z }) ------------------------------------------- Step 3, which took 0.007601 s (model generation: 0.007405, model checking: 0.000196): Model: |_ { min -> {{{ Q={q_gen_602, q_gen_604}, Q_f={q_gen_602}, Delta= { () -> q_gen_604 (q_gen_602) -> q_gen_602 (q_gen_604) -> q_gen_602 () -> q_gen_602 } 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([_vb, c, _wb]) /\ min([a, _xb, _yb]) /\ min([a, b, _vb]) /\ min([b, c, _xb])) -> eq_nat([_wb, _yb]) -> 2 (min([u, y1, _qb])) -> min([s(u), s(y1), s(_qb)]) -> 4 } Sat witness: Found: (() -> min([z, y, z]), { y -> s(s(z)) }) Total time: 0.046555 Reason for stopping: Proved