Solving ../../benchmarks/true/isaplanner_prop34.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} ) (min, F: {() -> min([s(u), z, z]) () -> min([z, y, z]) (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)])} (min([_xe, _ye, _af]) /\ min([_xe, _ye, _ze])) -> eq_nat([_ze, _af]) ) } properties: {(leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]), (min([i, j, j])) -> leq([j, i])} over-approximation: {min} under-approximation: {} Clause system for inference is: { () -> leq([z, n2]) -> 0 ; () -> min([s(u), z, z]) -> 0 ; () -> min([z, y, z]) -> 0 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, 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 ; (min([i, j, j])) -> leq([j, i]) -> 0 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 0 } Solving took 0.130394 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_1804, q_gen_1807}, Q_f={q_gen_1804}, Delta= { (q_gen_1807) -> q_gen_1807 () -> q_gen_1807 (q_gen_1804) -> q_gen_1804 (q_gen_1807) -> q_gen_1804 () -> q_gen_1804 } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801, q_gen_1803}, Q_f={q_gen_1801}, Delta= { (q_gen_1803) -> q_gen_1803 () -> q_gen_1803 (q_gen_1801) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.011544 s (model generation: 0.010615, model checking: 0.000929): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; min -> {{{ 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 ; () -> min([s(u), z, z]) -> 0 ; () -> min([z, y, z]) -> 3 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, 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 ; (min([i, j, j])) -> leq([j, i]) -> 1 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 1 } Sat witness: Yes: (() -> min([z, y, z]), { y -> z }) ------------------------------------------- Step 1, which took 0.010894 s (model generation: 0.010685, model checking: 0.000209): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801}, Q_f={q_gen_1801}, Delta= { () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 0 ; () -> min([s(u), z, z]) -> 3 ; () -> min([z, y, z]) -> 3 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, 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 ; (min([i, j, j])) -> leq([j, i]) -> 1 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 1 } Sat witness: Yes: (() -> min([s(u), z, z]), { u -> z }) ------------------------------------------- Step 2, which took 0.014959 s (model generation: 0.014586, model checking: 0.000373): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801, q_gen_1803}, Q_f={q_gen_1801}, Delta= { () -> q_gen_1803 (q_gen_1803) -> q_gen_1801 () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> min([s(u), z, z]) -> 3 ; () -> min([z, y, z]) -> 3 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, 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 ; (min([i, j, j])) -> leq([j, i]) -> 1 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 1 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 3, which took 0.011547 s (model generation: 0.011192, model checking: 0.000355): Model: |_ { leq -> {{{ Q={q_gen_1804}, Q_f={q_gen_1804}, Delta= { () -> q_gen_1804 } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801, q_gen_1803}, Q_f={q_gen_1801}, Delta= { () -> q_gen_1803 (q_gen_1803) -> q_gen_1801 () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> min([s(u), z, z]) -> 3 ; () -> min([z, y, z]) -> 3 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, 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 ; (min([i, j, j])) -> leq([j, i]) -> 1 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Yes: ((min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]), { _we -> z ; u -> z ; y1 -> z }) ------------------------------------------- Step 4, which took 0.013247 s (model generation: 0.013032, model checking: 0.000215): Model: |_ { leq -> {{{ Q={q_gen_1804}, Q_f={q_gen_1804}, Delta= { () -> q_gen_1804 } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801, q_gen_1803}, Q_f={q_gen_1801}, Delta= { () -> q_gen_1803 (q_gen_1801) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> min([s(u), z, z]) -> 3 ; () -> min([z, y, z]) -> 3 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, 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 ; (min([i, j, j])) -> leq([j, i]) -> 4 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Yes: ((min([i, j, j])) -> leq([j, i]), { i -> s(z) ; j -> z }) ------------------------------------------- Step 5, which took 0.014841 s (model generation: 0.012950, model checking: 0.001891): Model: |_ { leq -> {{{ Q={q_gen_1804, q_gen_1807}, Q_f={q_gen_1804}, Delta= { () -> q_gen_1807 (q_gen_1807) -> q_gen_1804 () -> q_gen_1804 } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801, q_gen_1803}, Q_f={q_gen_1801}, Delta= { () -> q_gen_1803 (q_gen_1801) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> min([s(u), z, z]) -> 3 ; () -> min([z, y, z]) -> 3 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 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 ; (min([i, j, j])) -> leq([j, i]) -> 4 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Yes: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 6, which took 0.013082 s (model generation: 0.012359, model checking: 0.000723): Model: |_ { leq -> {{{ Q={q_gen_1804, q_gen_1807}, Q_f={q_gen_1804}, Delta= { () -> q_gen_1807 (q_gen_1804) -> q_gen_1804 (q_gen_1807) -> q_gen_1804 () -> q_gen_1804 } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801, q_gen_1803}, Q_f={q_gen_1801}, Delta= { () -> q_gen_1803 (q_gen_1801) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> min([s(u), z, z]) -> 3 ; () -> min([z, y, z]) -> 6 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 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 ; (min([i, j, j])) -> leq([j, i]) -> 4 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Yes: (() -> min([z, y, z]), { y -> s(z) }) ------------------------------------------- Step 7, which took 0.012819 s (model generation: 0.012278, model checking: 0.000541): Model: |_ { leq -> {{{ Q={q_gen_1804, q_gen_1807}, Q_f={q_gen_1804}, Delta= { () -> q_gen_1807 (q_gen_1804) -> q_gen_1804 (q_gen_1807) -> q_gen_1804 () -> q_gen_1804 } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801, q_gen_1803}, Q_f={q_gen_1801}, Delta= { () -> q_gen_1803 (q_gen_1801) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 ; () -> min([s(u), z, z]) -> 6 ; () -> min([z, y, z]) -> 6 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, j]) -> 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 ; (min([i, j, j])) -> leq([j, i]) -> 4 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Yes: (() -> min([s(u), z, z]), { u -> s(z) }) ------------------------------------------- Step 8, which took 0.013183 s (model generation: 0.012926, model checking: 0.000257): Model: |_ { leq -> {{{ Q={q_gen_1804, q_gen_1807}, Q_f={q_gen_1804}, Delta= { () -> q_gen_1807 (q_gen_1804) -> q_gen_1804 (q_gen_1807) -> q_gen_1804 () -> q_gen_1804 } Datatype: Convolution form: complete }}} ; min -> {{{ Q={q_gen_1801, q_gen_1803}, Q_f={q_gen_1801}, Delta= { (q_gen_1803) -> q_gen_1803 () -> q_gen_1803 (q_gen_1801) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 (q_gen_1803) -> q_gen_1801 () -> q_gen_1801 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 ; () -> min([s(u), z, z]) -> 6 ; () -> min([z, y, z]) -> 6 ; (leq([j, i]) /\ min([i, j, _cf])) -> eq_nat([_cf, 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 ; (min([i, j, j])) -> leq([j, i]) -> 4 ; (min([u, y1, _we])) -> min([s(u), s(y1), s(_we)]) -> 4 } Sat witness: Yes: (() -> leq([z, n2]), { n2 -> s(s(z)) }) Total time: 0.130394 Reason for stopping: Proved