Solving ../../benchmarks/true/isaplanner_prop65.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 30s Convolution: complete Learning problem is: env: { nat -> {s, z} } definition: { (plus, F: {() -> plus([n, z, n]) (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)])} (plus([_b, _c, _d]) /\ plus([_b, _c, _e])) -> eq_nat([_d, _e]) ) (le, P: {() -> le([z, s(nn2)]) (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) (le([s(nn1), z])) -> BOT (le([z, z])) -> BOT} ) } properties: {(plus([m, i, _f])) -> le([i, s(_f)])} over-approximation: {plus} under-approximation: {le} Clause system for inference is: { () -> le([z, s(nn2)]) -> 0 ; () -> plus([n, z, n]) -> 0 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 0 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 0 ; (le([s(nn1), z])) -> BOT -> 0 ; (le([z, z])) -> BOT -> 0 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 0 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 0 } Solving took 0.084878 seconds. Proved Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { (q_gen_2749) -> q_gen_2749 () -> q_gen_2749 (q_gen_2748) -> q_gen_2748 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747, q_gen_2751, q_gen_2758}, Q_f={q_gen_2747}, Delta= { (q_gen_2758) -> q_gen_2758 () -> q_gen_2758 (q_gen_2751) -> q_gen_2751 (q_gen_2758) -> q_gen_2751 () -> q_gen_2751 (q_gen_2747) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 (q_gen_2758) -> q_gen_2747 () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.003924 s (model generation: 0.003769, model checking: 0.000155): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 0 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 ; (le([s(nn1), z])) -> BOT -> 1 ; (le([z, z])) -> BOT -> 1 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 1 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 1 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.003468 s (model generation: 0.003431, model checking: 0.000037): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 ; (le([s(nn1), z])) -> BOT -> 1 ; (le([z, z])) -> BOT -> 1 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 1 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 1 } Sat witness: Yes: (() -> le([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.003607 s (model generation: 0.003538, model checking: 0.000069): Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { () -> q_gen_2749 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 ; (le([s(nn1), z])) -> BOT -> 1 ; (le([z, z])) -> BOT -> 1 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 1 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 4 } Sat witness: Yes: ((plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]), { _a -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.004368 s (model generation: 0.004282, model checking: 0.000086): Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { () -> q_gen_2749 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747, q_gen_2751}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2751 (q_gen_2751) -> q_gen_2747 () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 ; (le([s(nn1), z])) -> BOT -> 1 ; (le([z, z])) -> BOT -> 1 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 4 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 4 } Sat witness: Yes: ((plus([m, i, _f])) -> le([i, s(_f)]), { _f -> s(z) ; i -> s(z) ; m -> z }) ------------------------------------------- Step 4, which took 0.007517 s (model generation: 0.006858, model checking: 0.000659): Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { () -> q_gen_2749 (q_gen_2748) -> q_gen_2748 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747, q_gen_2751}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2751 (q_gen_2751) -> q_gen_2747 () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 ; () -> plus([n, z, n]) -> 6 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 2 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 2 ; (le([s(nn1), z])) -> BOT -> 2 ; (le([z, z])) -> BOT -> 2 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 4 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 4 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(z) }) ------------------------------------------- Step 5, which took 0.010046 s (model generation: 0.009901, model checking: 0.000145): Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { () -> q_gen_2749 (q_gen_2748) -> q_gen_2748 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747, q_gen_2751}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2751 (q_gen_2751) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 6 ; () -> plus([n, z, n]) -> 6 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 3 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 3 ; (le([s(nn1), z])) -> BOT -> 3 ; (le([z, z])) -> BOT -> 3 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 4 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 4 } Sat witness: Yes: (() -> le([z, s(nn2)]), { nn2 -> s(z) }) ------------------------------------------- Step 6, which took 0.008683 s (model generation: 0.008058, model checking: 0.000625): Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { (q_gen_2749) -> q_gen_2749 () -> q_gen_2749 (q_gen_2748) -> q_gen_2748 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747, q_gen_2751}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2751 (q_gen_2751) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 6 ; () -> plus([n, z, n]) -> 6 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 4 ; (le([s(nn1), z])) -> BOT -> 4 ; (le([z, z])) -> BOT -> 4 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 4 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 7 } Sat witness: Yes: ((plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]), { _a -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 7, which took 0.007697 s (model generation: 0.007509, model checking: 0.000188): Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { (q_gen_2749) -> q_gen_2749 () -> q_gen_2749 (q_gen_2748) -> q_gen_2748 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747, q_gen_2751, q_gen_2758}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2758 () -> q_gen_2751 (q_gen_2747) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 (q_gen_2758) -> q_gen_2747 () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 6 ; () -> plus([n, z, n]) -> 9 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 5 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 5 ; (le([s(nn1), z])) -> BOT -> 5 ; (le([z, z])) -> BOT -> 5 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 5 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 7 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 8, which took 0.007977 s (model generation: 0.007729, model checking: 0.000248): Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { (q_gen_2749) -> q_gen_2749 () -> q_gen_2749 (q_gen_2748) -> q_gen_2748 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747, q_gen_2751, q_gen_2758}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2758 (q_gen_2751) -> q_gen_2751 () -> q_gen_2751 (q_gen_2747) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 (q_gen_2758) -> q_gen_2747 () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 7 ; () -> plus([n, z, n]) -> 9 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 6 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 6 ; (le([s(nn1), z])) -> BOT -> 6 ; (le([z, z])) -> BOT -> 6 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 6 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 10 } Sat witness: Yes: ((plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]), { _a -> s(z) ; mm -> z ; n -> z }) ------------------------------------------- Step 9, which took 0.010859 s (model generation: 0.009750, model checking: 0.001109): Model: |_ { le -> {{{ Q={q_gen_2748, q_gen_2749}, Q_f={q_gen_2748}, Delta= { (q_gen_2749) -> q_gen_2749 () -> q_gen_2749 (q_gen_2748) -> q_gen_2748 (q_gen_2749) -> q_gen_2748 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2747, q_gen_2751, q_gen_2758}, Q_f={q_gen_2747}, Delta= { () -> q_gen_2758 (q_gen_2751) -> q_gen_2751 (q_gen_2758) -> q_gen_2751 () -> q_gen_2751 (q_gen_2747) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 (q_gen_2751) -> q_gen_2747 (q_gen_2758) -> q_gen_2747 () -> q_gen_2747 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 8 ; () -> plus([n, z, n]) -> 10 ; (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 7 ; (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 7 ; (le([s(nn1), z])) -> BOT -> 7 ; (le([z, z])) -> BOT -> 7 ; (plus([m, i, _f])) -> le([i, s(_f)]) -> 7 ; (plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]) -> 13 } Sat witness: Yes: ((plus([n, mm, _a])) -> plus([n, s(mm), s(_a)]), { _a -> s(s(z)) ; mm -> z ; n -> s(z) }) Total time: 0.084878 Reason for stopping: Proved