Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left 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} ) (max, F: {() -> max([s(u), z, s(u)]) () -> max([z, y, y]) (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)])} (max([_dy, _ey, _fy]) /\ max([_dy, _ey, _gy])) -> eq_nat([_fy, _gy]) ) } properties: {(leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]), (max([i, j, j])) -> leq([i, j])} over-approximation: {max} under-approximation: {} Clause system for inference is: { () -> leq([z, n2]) -> 0 () -> max([s(u), z, s(u)]) -> 0 () -> max([z, y, y]) -> 0 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 0 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 0 } Solving took 0.145412 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_6373, q_gen_6379}, Q_f={q_gen_6373}, Delta= { (q_gen_6379) -> q_gen_6379 () -> q_gen_6379 (q_gen_6373) -> q_gen_6373 (q_gen_6379) -> q_gen_6373 () -> q_gen_6373 } Datatype: Convolution form: left }}} ; max -> {{{ Q={q_gen_6370, q_gen_6372}, Q_f={q_gen_6370}, Delta= { (q_gen_6372) -> q_gen_6372 () -> q_gen_6372 (q_gen_6370) -> q_gen_6370 (q_gen_6372) -> q_gen_6370 (q_gen_6372) -> q_gen_6370 () -> q_gen_6370 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.017593 s (model generation: 0.017362, model checking: 0.000231): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; max -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 0 () -> max([s(u), z, s(u)]) -> 0 () -> max([z, y, y]) -> 3 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 1 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 1 } Sat witness: Found: (() -> max([z, y, y]), { y -> z }) ------------------------------------------- Step 1, which took 0.011751 s (model generation: 0.010835, model checking: 0.000916): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; max -> {{{ Q={q_gen_6370}, Q_f={q_gen_6370}, Delta= { () -> q_gen_6370 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 0 () -> max([s(u), z, s(u)]) -> 3 () -> max([z, y, y]) -> 3 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 1 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 1 } Sat witness: Found: (() -> max([s(u), z, s(u)]), { u -> z }) ------------------------------------------- Step 2, which took 0.012170 s (model generation: 0.012100, model checking: 0.000070): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; max -> {{{ Q={q_gen_6370, q_gen_6372}, Q_f={q_gen_6370}, Delta= { () -> q_gen_6372 (q_gen_6372) -> q_gen_6370 () -> q_gen_6370 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> max([s(u), z, s(u)]) -> 3 () -> max([z, y, y]) -> 3 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 1 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 1 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 3, which took 0.017770 s (model generation: 0.017603, model checking: 0.000167): Model: |_ { leq -> {{{ Q={q_gen_6373}, Q_f={q_gen_6373}, Delta= { () -> q_gen_6373 } Datatype: Convolution form: left }}} ; max -> {{{ Q={q_gen_6370, q_gen_6372}, Q_f={q_gen_6370}, Delta= { () -> q_gen_6372 (q_gen_6372) -> q_gen_6370 () -> q_gen_6370 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> max([s(u), z, s(u)]) -> 3 () -> max([z, y, y]) -> 3 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 1 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 4 } Sat witness: Found: ((max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]), { _cy -> z ; u -> z ; x2 -> z }) ------------------------------------------- Step 4, which took 0.017884 s (model generation: 0.017780, model checking: 0.000104): Model: |_ { leq -> {{{ Q={q_gen_6373}, Q_f={q_gen_6373}, Delta= { () -> q_gen_6373 } Datatype: Convolution form: left }}} ; max -> {{{ Q={q_gen_6370, q_gen_6372}, Q_f={q_gen_6370}, Delta= { () -> q_gen_6372 (q_gen_6370) -> q_gen_6370 (q_gen_6372) -> q_gen_6370 () -> q_gen_6370 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> max([s(u), z, s(u)]) -> 3 () -> max([z, y, y]) -> 3 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 4 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 4 } Sat witness: Found: ((max([i, j, j])) -> leq([i, j]), { i -> s(z) ; j -> s(z) }) ------------------------------------------- Step 5, which took 0.017310 s (model generation: 0.016994, model checking: 0.000316): Model: |_ { leq -> {{{ Q={q_gen_6373}, Q_f={q_gen_6373}, Delta= { (q_gen_6373) -> q_gen_6373 () -> q_gen_6373 } Datatype: Convolution form: left }}} ; max -> {{{ Q={q_gen_6370, q_gen_6372}, Q_f={q_gen_6370}, Delta= { () -> q_gen_6372 (q_gen_6370) -> q_gen_6370 (q_gen_6372) -> q_gen_6370 () -> q_gen_6370 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> max([s(u), z, s(u)]) -> 3 () -> max([z, y, y]) -> 6 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 4 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 4 } Sat witness: Found: (() -> max([z, y, y]), { y -> s(s(z)) }) ------------------------------------------- Step 6, which took 0.015648 s (model generation: 0.015328, model checking: 0.000320): Model: |_ { leq -> {{{ Q={q_gen_6373}, Q_f={q_gen_6373}, Delta= { (q_gen_6373) -> q_gen_6373 () -> q_gen_6373 } Datatype: Convolution form: left }}} ; max -> {{{ Q={q_gen_6370, q_gen_6372}, Q_f={q_gen_6370}, Delta= { (q_gen_6372) -> q_gen_6372 () -> q_gen_6372 (q_gen_6370) -> q_gen_6370 (q_gen_6372) -> q_gen_6370 (q_gen_6372) -> q_gen_6370 () -> q_gen_6370 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 () -> max([s(u), z, s(u)]) -> 4 () -> max([z, y, y]) -> 6 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 4 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 4 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> s(z) }) ------------------------------------------- Step 7, which took 0.015218 s (model generation: 0.014665, model checking: 0.000553): Model: |_ { leq -> {{{ Q={q_gen_6373, q_gen_6379}, Q_f={q_gen_6373}, Delta= { () -> q_gen_6379 (q_gen_6373) -> q_gen_6373 (q_gen_6379) -> q_gen_6373 () -> q_gen_6373 } Datatype: Convolution form: left }}} ; max -> {{{ Q={q_gen_6370, q_gen_6372}, Q_f={q_gen_6370}, Delta= { (q_gen_6372) -> q_gen_6372 () -> q_gen_6372 (q_gen_6370) -> q_gen_6370 (q_gen_6372) -> q_gen_6370 (q_gen_6372) -> q_gen_6370 () -> q_gen_6370 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 () -> max([s(u), z, s(u)]) -> 4 () -> max([z, y, y]) -> 6 (leq([i, j]) /\ max([i, j, _iy])) -> eq_nat([_iy, j]) -> 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 (max([i, j, j])) -> leq([i, j]) -> 7 (max([u, x2, _cy])) -> max([s(u), s(x2), s(_cy)]) -> 5 } Sat witness: Found: ((max([i, j, j])) -> leq([i, j]), { i -> z ; j -> s(s(z)) }) Total time: 0.145412 Reason for stopping: Proved