Solving ../../benchmarks/true/isaplanner_prop70.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 30s Convolution: complete 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} ) } properties: {(leq([m, n])) -> leq([m, s(n)])} over-approximation: {} under-approximation: {} Clause system for inference is: { () -> leq([z, n2]) -> 0 ; (leq([m, n])) -> leq([m, s(n)]) -> 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 } Solving took 0.052729 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_2788, q_gen_2791}, Q_f={q_gen_2788}, Delta= { (q_gen_2791) -> q_gen_2791 () -> q_gen_2791 (q_gen_2788) -> q_gen_2788 (q_gen_2791) -> q_gen_2788 () -> q_gen_2788 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.009270 s (model generation: 0.008310, model checking: 0.000960): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; (leq([m, n])) -> leq([m, s(n)]) -> 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 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 1, which took 0.010133 s (model generation: 0.009946, model checking: 0.000187): Model: |_ { leq -> {{{ Q={q_gen_2788}, Q_f={q_gen_2788}, Delta= { () -> q_gen_2788 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; (leq([m, n])) -> leq([m, s(n)]) -> 1 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 ; (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Yes: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 2, which took 0.010517 s (model generation: 0.010381, model checking: 0.000136): Model: |_ { leq -> {{{ Q={q_gen_2788}, Q_f={q_gen_2788}, Delta= { (q_gen_2788) -> q_gen_2788 () -> q_gen_2788 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; (leq([m, n])) -> leq([m, s(n)]) -> 4 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 ; (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Yes: ((leq([m, n])) -> leq([m, s(n)]), { m -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.011271 s (model generation: 0.010848, model checking: 0.000423): Model: |_ { leq -> {{{ Q={q_gen_2788, q_gen_2791}, Q_f={q_gen_2788}, Delta= { () -> q_gen_2791 (q_gen_2788) -> q_gen_2788 (q_gen_2791) -> q_gen_2788 () -> q_gen_2788 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 ; (leq([m, n])) -> leq([m, s(n)]) -> 4 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 ; (leq([s(nn1), z])) -> BOT -> 3 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> s(s(z)) }) Total time: 0.052729 Reason for stopping: Proved