Solving ../../benchmarks/true/isaplanner_prop17.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, _wx])) -> plus([n, s(mm), s(_wx)])} (plus([_xx, _yx, _ay]) /\ plus([_xx, _yx, _zx])) -> eq_nat([_zx, _ay]) ) (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([i, z])) -> eq_nat([i, z])} over-approximation: {leq, plus} under-approximation: {plus} Clause system for inference is: { () -> leq([z, n2]) -> 0 ; () -> plus([n, z, n]) -> 0 ; (leq([i, z])) -> eq_nat([i, z]) -> 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, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 0 } Solving took 0.062135 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_1308, q_gen_1314}, Q_f={q_gen_1308}, Delta= { (q_gen_1314) -> q_gen_1314 () -> q_gen_1314 (q_gen_1308) -> q_gen_1308 (q_gen_1314) -> q_gen_1308 () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310, q_gen_1317}, Q_f={q_gen_1307}, Delta= { (q_gen_1317) -> q_gen_1317 () -> q_gen_1317 (q_gen_1310) -> q_gen_1310 (q_gen_1317) -> q_gen_1310 () -> q_gen_1310 (q_gen_1307) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1317) -> q_gen_1307 () -> q_gen_1307 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.005078 s (model generation: 0.004811, model checking: 0.000267): 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([i, z])) -> eq_nat([i, z]) -> 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 ; (plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 1 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.004798 s (model generation: 0.004745, model checking: 0.000053): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1307 } 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([i, z])) -> eq_nat([i, z]) -> 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 ; (plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 1 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 2, which took 0.004120 s (model generation: 0.004040, model checking: 0.000080): Model: |_ { leq -> {{{ Q={q_gen_1308}, Q_f={q_gen_1308}, Delta= { () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1307 } 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([i, z])) -> eq_nat([i, z]) -> 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 ; (plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 4 } Sat witness: Yes: ((plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]), { _wx -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.004475 s (model generation: 0.004125, model checking: 0.000350): Model: |_ { leq -> {{{ Q={q_gen_1308}, Q_f={q_gen_1308}, Delta= { () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1310 (q_gen_1310) -> q_gen_1307 () -> q_gen_1307 } 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([i, z])) -> eq_nat([i, z]) -> 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 ; (plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 4 } Sat witness: Yes: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 4, which took 0.005094 s (model generation: 0.004847, model checking: 0.000247): Model: |_ { leq -> {{{ Q={q_gen_1308}, Q_f={q_gen_1308}, Delta= { (q_gen_1308) -> q_gen_1308 () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1310 (q_gen_1310) -> q_gen_1307 () -> q_gen_1307 } 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([i, z])) -> eq_nat([i, z]) -> 2 ; (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, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 4 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(z) }) ------------------------------------------- Step 5, which took 0.005056 s (model generation: 0.004890, model checking: 0.000166): Model: |_ { leq -> {{{ Q={q_gen_1308}, Q_f={q_gen_1308}, Delta= { (q_gen_1308) -> q_gen_1308 () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1310 (q_gen_1310) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 () -> q_gen_1307 } 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([i, z])) -> eq_nat([i, z]) -> 3 ; (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, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 4 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> s(z) }) ------------------------------------------- Step 6, which took 0.004668 s (model generation: 0.004521, model checking: 0.000147): Model: |_ { leq -> {{{ Q={q_gen_1308, q_gen_1314}, Q_f={q_gen_1308}, Delta= { () -> q_gen_1314 (q_gen_1308) -> q_gen_1308 (q_gen_1314) -> q_gen_1308 () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1310 (q_gen_1310) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 () -> q_gen_1307 } 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([i, z])) -> eq_nat([i, z]) -> 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 ; (plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 7 } Sat witness: Yes: ((plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]), { _wx -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 7, which took 0.005598 s (model generation: 0.005303, model checking: 0.000295): Model: |_ { leq -> {{{ Q={q_gen_1308, q_gen_1314}, Q_f={q_gen_1308}, Delta= { () -> q_gen_1314 (q_gen_1308) -> q_gen_1308 (q_gen_1314) -> q_gen_1308 () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310, q_gen_1317}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1317 () -> q_gen_1310 (q_gen_1307) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1317) -> q_gen_1307 () -> q_gen_1307 } 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([i, z])) -> eq_nat([i, z]) -> 5 ; (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, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 7 } Sat witness: Yes: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 8, which took 0.005519 s (model generation: 0.005330, model checking: 0.000189): Model: |_ { leq -> {{{ Q={q_gen_1308, q_gen_1314}, Q_f={q_gen_1308}, Delta= { () -> q_gen_1314 (q_gen_1308) -> q_gen_1308 (q_gen_1314) -> q_gen_1308 () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310, q_gen_1317}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1317 (q_gen_1310) -> q_gen_1310 () -> q_gen_1310 (q_gen_1307) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1317) -> q_gen_1307 () -> q_gen_1307 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 9 ; () -> plus([n, z, n]) -> 9 ; (leq([i, z])) -> eq_nat([i, z]) -> 6 ; (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, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 7 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> s(s(z)) }) ------------------------------------------- Step 9, which took 0.004997 s (model generation: 0.004753, model checking: 0.000244): Model: |_ { leq -> {{{ Q={q_gen_1308, q_gen_1314}, Q_f={q_gen_1308}, Delta= { (q_gen_1314) -> q_gen_1314 () -> q_gen_1314 (q_gen_1308) -> q_gen_1308 (q_gen_1314) -> q_gen_1308 () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310, q_gen_1317}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1317 (q_gen_1310) -> q_gen_1310 () -> q_gen_1310 (q_gen_1307) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1317) -> q_gen_1307 () -> q_gen_1307 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 9 ; () -> plus([n, z, n]) -> 9 ; (leq([i, z])) -> eq_nat([i, z]) -> 7 ; (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, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 10 } Sat witness: Yes: ((plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]), { _wx -> s(z) ; mm -> z ; n -> z }) ------------------------------------------- Step 10, which took 0.006093 s (model generation: 0.005430, model checking: 0.000663): Model: |_ { leq -> {{{ Q={q_gen_1308, q_gen_1314}, Q_f={q_gen_1308}, Delta= { (q_gen_1314) -> q_gen_1314 () -> q_gen_1314 (q_gen_1308) -> q_gen_1308 (q_gen_1314) -> q_gen_1308 () -> q_gen_1308 } Datatype: Convolution form: complete }}} ; plus -> {{{ Q={q_gen_1307, q_gen_1310, q_gen_1317}, Q_f={q_gen_1307}, Delta= { () -> q_gen_1317 (q_gen_1310) -> q_gen_1310 (q_gen_1317) -> q_gen_1310 () -> q_gen_1310 (q_gen_1307) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1310) -> q_gen_1307 (q_gen_1317) -> q_gen_1307 () -> q_gen_1307 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 10 ; () -> plus([n, z, n]) -> 10 ; (leq([i, z])) -> eq_nat([i, z]) -> 8 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 8 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 8 ; (leq([s(nn1), z])) -> BOT -> 8 ; (plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]) -> 13 } Sat witness: Yes: ((plus([n, mm, _wx])) -> plus([n, s(mm), s(_wx)]), { _wx -> s(s(z)) ; mm -> z ; n -> s(z) }) Total time: 0.062135 Reason for stopping: Proved