Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { nat -> {s, z} } definition: { (max, F: {() -> max([s(u), z, s(u)]) () -> max([z, y, y]) (max([u, x2, _lr])) -> max([s(u), s(x2), s(_lr)])} (max([_mr, _nr, _or]) /\ max([_mr, _nr, _pr])) -> eq_nat([_or, _pr]) ) } properties: {(max([a, b, _qr]) /\ max([b, a, _rr])) -> eq_nat([_qr, _rr])} over-approximation: {max} under-approximation: {} Clause system for inference is: { () -> max([s(u), z, s(u)]) -> 0 () -> max([z, y, y]) -> 0 (max([a, b, _qr]) /\ max([b, a, _rr])) -> eq_nat([_qr, _rr]) -> 0 (max([u, x2, _lr])) -> max([s(u), s(x2), s(_lr)]) -> 0 } Solving took 0.064760 seconds. Proved Model: |_ { max -> {{{ Q={q_gen_4819, q_gen_4821}, Q_f={q_gen_4819}, Delta= { (q_gen_4821) -> q_gen_4821 () -> q_gen_4821 (q_gen_4819) -> q_gen_4819 (q_gen_4821) -> q_gen_4819 (q_gen_4821) -> q_gen_4819 () -> q_gen_4819 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.018393 s (model generation: 0.018183, model checking: 0.000210): Model: |_ { max -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> max([s(u), z, s(u)]) -> 0 () -> max([z, y, y]) -> 3 (max([a, b, _qr]) /\ max([b, a, _rr])) -> eq_nat([_qr, _rr]) -> 1 (max([u, x2, _lr])) -> max([s(u), s(x2), s(_lr)]) -> 1 } Sat witness: Found: (() -> max([z, y, y]), { y -> z }) ------------------------------------------- Step 1, which took 0.011110 s (model generation: 0.010992, model checking: 0.000118): Model: |_ { max -> {{{ Q={q_gen_4819}, Q_f={q_gen_4819}, Delta= { () -> q_gen_4819 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> max([s(u), z, s(u)]) -> 3 () -> max([z, y, y]) -> 3 (max([a, b, _qr]) /\ max([b, a, _rr])) -> eq_nat([_qr, _rr]) -> 1 (max([u, x2, _lr])) -> max([s(u), s(x2), s(_lr)]) -> 1 } Sat witness: Found: (() -> max([s(u), z, s(u)]), { u -> z }) ------------------------------------------- Step 2, which took 0.012129 s (model generation: 0.011989, model checking: 0.000140): Model: |_ { max -> {{{ Q={q_gen_4819, q_gen_4821}, Q_f={q_gen_4819}, Delta= { () -> q_gen_4821 (q_gen_4821) -> q_gen_4819 () -> q_gen_4819 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> max([s(u), z, s(u)]) -> 3 () -> max([z, y, y]) -> 3 (max([a, b, _qr]) /\ max([b, a, _rr])) -> eq_nat([_qr, _rr]) -> 1 (max([u, x2, _lr])) -> max([s(u), s(x2), s(_lr)]) -> 4 } Sat witness: Found: ((max([u, x2, _lr])) -> max([s(u), s(x2), s(_lr)]), { _lr -> z ; u -> z ; x2 -> z }) ------------------------------------------- Step 3, which took 0.011648 s (model generation: 0.011465, model checking: 0.000183): Model: |_ { max -> {{{ Q={q_gen_4819, q_gen_4821}, Q_f={q_gen_4819}, Delta= { () -> q_gen_4821 (q_gen_4819) -> q_gen_4819 (q_gen_4821) -> q_gen_4819 () -> q_gen_4819 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> max([s(u), z, s(u)]) -> 3 () -> max([z, y, y]) -> 6 (max([a, b, _qr]) /\ max([b, a, _rr])) -> eq_nat([_qr, _rr]) -> 2 (max([u, x2, _lr])) -> max([s(u), s(x2), s(_lr)]) -> 4 } Sat witness: Found: (() -> max([z, y, y]), { y -> s(s(z)) }) Total time: 0.064760 Reason for stopping: Proved