Solving ../../benchmarks/smtlib/true/isaplanner_prop17.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: Some(60.) (sec) Teacher_type: Checks all clauses every time Approximation method: remove every clause that can be safely removed Learning problem is: env: { nat -> {s, z} } definition: { (plus, F: { plus(n, z, n) <= True plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) } eq_nat(_eka, _fka) <= plus(_cka, _dka, _eka) /\ plus(_cka, _dka, _fka) ) (leq, P: { leq(z, n2) <= True leq(s(nn1), s(nn2)) <= leq(nn1, nn2) leq(nn1, nn2) <= leq(s(nn1), s(nn2)) False <= leq(s(nn1), z) } ) } properties: { eq_nat(i, z) <= leq(i, z) } over-approximation: {leq, plus} under-approximation: {plus} Clause system for inference is: { leq(z, n2) <= True -> 0 eq_nat(i, z) <= leq(i, z) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) -> 0 } Solving took 0.036450 seconds. Yes: |_ name: None leq -> [ leq : { leq(s(x_0_0), s(x_1_0)) <= leq(x_0_0, x_1_0) leq(z, s(x_1_0)) <= True leq(z, z) <= True } ] ; plus -> [ plus : { } ] -- Equality automata are defined for: {nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.006525 s (model generation: 0.006469, model checking: 0.000056): Clauses: { leq(z, n2) <= True -> 0 eq_nat(i, z) <= leq(i, z) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None leq -> [ leq : { } ] ; plus -> [ plus : { } ] -- Equality automata are defined for: {nat} _| Answer of teacher: leq(z, n2) <= True : Yes: { n2 -> z } eq_nat(i, z) <= leq(i, z) : No: () leq(s(nn1), s(nn2)) <= leq(nn1, nn2) : No: () leq(nn1, nn2) <= leq(s(nn1), s(nn2)) : No: () plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) : No: () ------------------------------------------- Step 1, which took 0.007302 s (model generation: 0.007238, model checking: 0.000064): Clauses: { leq(z, n2) <= True -> 0 eq_nat(i, z) <= leq(i, z) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) -> 0 } Accumulated learning constraints: { leq(z, z) <= True } Current best model: |_ name: None leq -> [ leq : { leq(z, z) <= True } ] ; plus -> [ plus : { } ] -- Equality automata are defined for: {nat} _| Answer of teacher: leq(z, n2) <= True : Yes: { n2 -> s(_vise_0) } eq_nat(i, z) <= leq(i, z) : No: () leq(s(nn1), s(nn2)) <= leq(nn1, nn2) : Yes: { nn1 -> z ; nn2 -> z } leq(nn1, nn2) <= leq(s(nn1), s(nn2)) : No: () plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) : No: () ------------------------------------------- Step 2, which took 0.007278 s (model generation: 0.006729, model checking: 0.000549): Clauses: { leq(z, n2) <= True -> 0 eq_nat(i, z) <= leq(i, z) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) -> 0 } Accumulated learning constraints: { leq(s(z), s(z)) <= True leq(z, s(z)) <= True leq(z, z) <= True } Current best model: |_ name: None leq -> [ leq : { leq(s(x_0_0), s(x_1_0)) <= True leq(z, s(x_1_0)) <= True leq(z, z) <= True } ] ; plus -> [ plus : { } ] -- Equality automata are defined for: {nat} _| Answer of teacher: leq(z, n2) <= True : No: () eq_nat(i, z) <= leq(i, z) : No: () leq(s(nn1), s(nn2)) <= leq(nn1, nn2) : No: () leq(nn1, nn2) <= leq(s(nn1), s(nn2)) : Yes: { nn1 -> s(_yise_0) ; nn2 -> z } plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) : No: () ------------------------------------------- Step 3, which took 0.007107 s (model generation: 0.007052, model checking: 0.000055): Clauses: { leq(z, n2) <= True -> 0 eq_nat(i, z) <= leq(i, z) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) -> 0 } Accumulated learning constraints: { leq(s(z), s(z)) <= True leq(z, s(z)) <= True leq(z, z) <= True leq(s(z), z) <= leq(s(s(z)), s(z)) } Current best model: |_ name: None leq -> [ leq : { leq(s(x_0_0), s(x_1_0)) <= True leq(s(x_0_0), z) <= True leq(z, s(x_1_0)) <= True leq(z, z) <= True } ] ; plus -> [ plus : { } ] -- Equality automata are defined for: {nat} _| Answer of teacher: leq(z, n2) <= True : No: () eq_nat(i, z) <= leq(i, z) : Yes: { i -> s(_ajse_0) } leq(s(nn1), s(nn2)) <= leq(nn1, nn2) : No: () leq(nn1, nn2) <= leq(s(nn1), s(nn2)) : No: () plus(n, s(mm), s(_bka)) <= plus(n, mm, _bka) : No: () Total time: 0.036450 Learner time: 0.027488 Teacher time: 0.000724 Reasons for stopping: Yes: |_ name: None leq -> [ leq : { leq(s(x_0_0), s(x_1_0)) <= leq(x_0_0, x_1_0) leq(z, s(x_1_0)) <= True leq(z, z) <= True } ] ; plus -> [ plus : { } ] -- Equality automata are defined for: {nat} _|