Solving ../../benchmarks/true/isaplanner_prop69.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, _pj])) -> plus([n, s(mm), s(_pj)])} (plus([_qj, _rj, _sj]) /\ plus([_qj, _rj, _tj])) -> eq_nat([_sj, _tj]) ) (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: {(plus([n, m, _uj])) -> leq([n, _uj])} over-approximation: {plus} under-approximation: {leq} Clause system for inference is: { () -> leq([z, n2]) -> 0 ; () -> plus([n, z, 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 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 0 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 0 } Solving took 0.120055 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_2768, q_gen_2772}, Q_f={q_gen_2768}, Delta= { (q_gen_2772) -> q_gen_2772 () -> q_gen_2772 (q_gen_2768) -> q_gen_2768 (q_gen_2772) -> q_gen_2768 () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770, q_gen_2779}, Q_f={q_gen_2767}, Delta= { (q_gen_2779) -> q_gen_2779 () -> q_gen_2779 (q_gen_2770) -> q_gen_2770 (q_gen_2779) -> q_gen_2770 () -> q_gen_2770 (q_gen_2767) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 (q_gen_2779) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.010518 s (model generation: 0.010032, model checking: 0.000486): Model: |_ { leq -> {{{ 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: { () -> leq([z, n2]) -> 0 ; () -> plus([n, z, n]) -> 3 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 ; (leq([s(nn1), z])) -> BOT -> 1 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 1 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 1 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.004961 s (model generation: 0.004931, model checking: 0.000030): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 ; (leq([s(nn1), z])) -> BOT -> 1 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 1 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 1 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 2, which took 0.003154 s (model generation: 0.003095, model checking: 0.000059): Model: |_ { leq -> {{{ Q={q_gen_2768}, Q_f={q_gen_2768}, Delta= { () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 ; (leq([s(nn1), z])) -> BOT -> 1 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 1 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Yes: ((plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]), { _pj -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.003612 s (model generation: 0.003561, model checking: 0.000051): Model: |_ { leq -> {{{ Q={q_gen_2768}, Q_f={q_gen_2768}, Delta= { () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2770 (q_gen_2770) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 ; (leq([s(nn1), z])) -> BOT -> 1 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Yes: ((plus([n, m, _uj])) -> leq([n, _uj]), { _uj -> s(z) ; m -> s(z) ; n -> z }) ------------------------------------------- Step 4, which took 0.007220 s (model generation: 0.006871, model checking: 0.000349): Model: |_ { leq -> {{{ Q={q_gen_2768, q_gen_2772}, Q_f={q_gen_2768}, Delta= { () -> q_gen_2772 (q_gen_2772) -> q_gen_2768 () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2770 (q_gen_2770) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> plus([n, z, n]) -> 3 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 ; (leq([s(nn1), z])) -> BOT -> 2 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Yes: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 5, which took 0.011494 s (model generation: 0.011071, model checking: 0.000423): Model: |_ { leq -> {{{ Q={q_gen_2768, q_gen_2772}, Q_f={q_gen_2768}, Delta= { () -> q_gen_2772 (q_gen_2768) -> q_gen_2768 (q_gen_2772) -> q_gen_2768 () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2770 (q_gen_2770) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> plus([n, z, n]) -> 6 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 ; (leq([s(nn1), z])) -> BOT -> 3 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(z) }) ------------------------------------------- Step 6, which took 0.011919 s (model generation: 0.011609, model checking: 0.000310): Model: |_ { leq -> {{{ Q={q_gen_2768, q_gen_2772}, Q_f={q_gen_2768}, Delta= { () -> q_gen_2772 (q_gen_2768) -> q_gen_2768 (q_gen_2772) -> q_gen_2768 () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2770 (q_gen_2770) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 ; () -> plus([n, z, n]) -> 6 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 ; (leq([s(nn1), z])) -> BOT -> 4 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 4 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> s(s(z)) }) ------------------------------------------- Step 7, which took 0.011976 s (model generation: 0.011668, model checking: 0.000308): Model: |_ { leq -> {{{ Q={q_gen_2768, q_gen_2772}, Q_f={q_gen_2768}, Delta= { (q_gen_2772) -> q_gen_2772 () -> q_gen_2772 (q_gen_2768) -> q_gen_2768 (q_gen_2772) -> q_gen_2768 () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2770 (q_gen_2770) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 ; () -> plus([n, z, n]) -> 6 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 ; (leq([s(nn1), z])) -> BOT -> 4 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 4 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 7 } Sat witness: Yes: ((plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]), { _pj -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 8, which took 0.012845 s (model generation: 0.012186, model checking: 0.000659): Model: |_ { leq -> {{{ Q={q_gen_2768, q_gen_2772}, Q_f={q_gen_2768}, Delta= { (q_gen_2772) -> q_gen_2772 () -> q_gen_2772 (q_gen_2768) -> q_gen_2768 (q_gen_2772) -> q_gen_2768 () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770, q_gen_2779}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2779 () -> q_gen_2770 (q_gen_2767) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 (q_gen_2779) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 ; () -> plus([n, z, n]) -> 9 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 5 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 5 ; (leq([s(nn1), z])) -> BOT -> 5 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 5 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 7 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 9, which took 0.015865 s (model generation: 0.012634, model checking: 0.003231): Model: |_ { leq -> {{{ Q={q_gen_2768, q_gen_2772}, Q_f={q_gen_2768}, Delta= { (q_gen_2772) -> q_gen_2772 () -> q_gen_2772 (q_gen_2768) -> q_gen_2768 (q_gen_2772) -> q_gen_2768 () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770, q_gen_2779}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2779 (q_gen_2770) -> q_gen_2770 () -> q_gen_2770 (q_gen_2767) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 (q_gen_2779) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 7 ; () -> plus([n, z, n]) -> 9 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 6 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 6 ; (leq([s(nn1), z])) -> BOT -> 6 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 6 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 10 } Sat witness: Yes: ((plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]), { _pj -> s(z) ; mm -> z ; n -> z }) ------------------------------------------- Step 10, which took 0.014889 s (model generation: 0.013309, model checking: 0.001580): Model: |_ { leq -> {{{ Q={q_gen_2768, q_gen_2772}, Q_f={q_gen_2768}, Delta= { (q_gen_2772) -> q_gen_2772 () -> q_gen_2772 (q_gen_2768) -> q_gen_2768 (q_gen_2772) -> q_gen_2768 () -> q_gen_2768 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_2767, q_gen_2770, q_gen_2779}, Q_f={q_gen_2767}, Delta= { () -> q_gen_2779 (q_gen_2770) -> q_gen_2770 (q_gen_2779) -> q_gen_2770 () -> q_gen_2770 (q_gen_2767) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 (q_gen_2770) -> q_gen_2767 (q_gen_2779) -> q_gen_2767 () -> q_gen_2767 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 8 ; () -> plus([n, z, n]) -> 10 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 7 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 7 ; (leq([s(nn1), z])) -> BOT -> 7 ; (plus([n, m, _uj])) -> leq([n, _uj]) -> 7 ; (plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]) -> 13 } Sat witness: Yes: ((plus([n, mm, _pj])) -> plus([n, s(mm), s(_pj)]), { _pj -> s(s(z)) ; mm -> z ; n -> s(z) }) Total time: 0.120055 Reason for stopping: Proved