Solving ../../benchmarks/smtlib/true/isaplanner_prop33.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: { (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) } ) (min, F: { min(s(u), z, z) <= True min(z, y, z) <= True min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) } eq_nat(_mu, _nu) <= min(_ku, _lu, _mu) /\ min(_ku, _lu, _nu) ) } properties: { eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) leq(i, j) <= min(i, j, i) } over-approximation: {min} under-approximation: {} Clause system for inference is: { leq(z, n2) <= True -> 0 min(s(u), z, z) <= True -> 0 min(z, y, z) <= True -> 0 eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 False <= leq(s(nn1), z) -> 0 leq(i, j) <= min(i, j, i) -> 0 min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) -> 0 } Solving took 0.042135 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 } ] ; min -> [ min : { min(s(x_0_0), s(x_1_0), s(x_2_0)) <= min(x_0_0, x_1_0, x_2_0) min(s(x_0_0), z, z) <= True min(z, s(x_1_0), z) <= True min(z, z, z) <= True } ] -- Equality automata are defined for: {nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.006588 s (model generation: 0.006508, model checking: 0.000080): Clauses: { leq(z, n2) <= True -> 0 min(s(u), z, z) <= True -> 0 min(z, y, z) <= True -> 0 eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 False <= leq(s(nn1), z) -> 0 leq(i, j) <= min(i, j, i) -> 0 min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None leq -> [ leq : { } ] ; min -> [ min : { } ] -- Equality automata are defined for: {nat} _| Answer of teacher: leq(z, n2) <= True : Yes: { n2 -> z } min(s(u), z, z) <= True : Yes: { } min(z, y, z) <= True : Yes: { y -> z } eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) : No: () leq(s(nn1), s(nn2)) <= leq(nn1, nn2) : No: () leq(nn1, nn2) <= leq(s(nn1), s(nn2)) : No: () False <= leq(s(nn1), z) : No: () leq(i, j) <= min(i, j, i) : No: () min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) : No: () ------------------------------------------- Step 1, which took 0.006923 s (model generation: 0.006837, model checking: 0.000086): Clauses: { leq(z, n2) <= True -> 0 min(s(u), z, z) <= True -> 0 min(z, y, z) <= True -> 0 eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 False <= leq(s(nn1), z) -> 0 leq(i, j) <= min(i, j, i) -> 0 min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) -> 0 } Accumulated learning constraints: { leq(z, z) <= True min(s(z), z, z) <= True min(z, z, z) <= True } Current best model: |_ name: None leq -> [ leq : { leq(z, z) <= True } ] ; min -> [ min : { min(s(x_0_0), z, z) <= True min(z, z, z) <= True } ] -- Equality automata are defined for: {nat} _| Answer of teacher: leq(z, n2) <= True : Yes: { n2 -> s(_vihh_0) } min(s(u), z, z) <= True : No: () min(z, y, z) <= True : Yes: { y -> s(_wihh_0) } eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) : No: () leq(s(nn1), s(nn2)) <= leq(nn1, nn2) : Yes: { nn1 -> z ; nn2 -> z } leq(nn1, nn2) <= leq(s(nn1), s(nn2)) : No: () False <= leq(s(nn1), z) : No: () leq(i, j) <= min(i, j, i) : No: () min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) : Yes: { _ju -> z ; u -> z ; y1 -> z } ------------------------------------------- Step 2, which took 0.008726 s (model generation: 0.008386, model checking: 0.000340): Clauses: { leq(z, n2) <= True -> 0 min(s(u), z, z) <= True -> 0 min(z, y, z) <= True -> 0 eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 False <= leq(s(nn1), z) -> 0 leq(i, j) <= min(i, j, i) -> 0 min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) -> 0 } Accumulated learning constraints: { leq(s(z), s(z)) <= True leq(z, s(z)) <= True leq(z, z) <= True min(s(z), s(z), s(z)) <= True min(s(z), z, z) <= True min(z, s(z), z) <= True min(z, 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 } ] ; min -> [ min : { min(s(x_0_0), s(x_1_0), s(x_2_0)) <= True min(s(x_0_0), z, z) <= True min(z, s(x_1_0), z) <= True min(z, z, z) <= True } ] -- Equality automata are defined for: {nat} _| Answer of teacher: leq(z, n2) <= True : No: () min(s(u), z, z) <= True : No: () min(z, y, z) <= True : No: () eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) : Yes: { _pu -> s(z) ; i -> s(s(_pjhh_0)) ; j -> s(_hjhh_0) } leq(s(nn1), s(nn2)) <= leq(nn1, nn2) : No: () leq(nn1, nn2) <= leq(s(nn1), s(nn2)) : Yes: { nn1 -> s(_ijhh_0) ; nn2 -> z } False <= leq(s(nn1), z) : No: () leq(i, j) <= min(i, j, i) : No: () min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) : No: () ------------------------------------------- Step 3, which took 0.009654 s (model generation: 0.009430, model checking: 0.000224): Clauses: { leq(z, n2) <= True -> 0 min(s(u), z, z) <= True -> 0 min(z, y, z) <= True -> 0 eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) -> 0 leq(s(nn1), s(nn2)) <= leq(nn1, nn2) -> 0 leq(nn1, nn2) <= leq(s(nn1), s(nn2)) -> 0 False <= leq(s(nn1), z) -> 0 leq(i, j) <= min(i, j, i) -> 0 min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) -> 0 } Accumulated learning constraints: { leq(s(z), s(z)) <= True leq(z, s(z)) <= True leq(z, z) <= True min(s(z), s(z), s(z)) <= True min(s(z), z, z) <= True min(z, s(z), z) <= True min(z, z, z) <= True leq(s(z), z) <= leq(s(s(z)), s(z)) False <= leq(s(s(z)), s(z)) /\ min(s(s(z)), s(z), s(z)) } Current best model: |_ 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 } ] ; min -> [ min : { min(s(x_0_0), s(x_1_0), s(x_2_0)) <= True min(s(x_0_0), z, z) <= True min(z, s(x_1_0), z) <= True min(z, z, z) <= True } ] -- Equality automata are defined for: {nat} _| Answer of teacher: leq(z, n2) <= True : No: () min(s(u), z, z) <= True : No: () min(z, y, z) <= True : No: () eq_nat(_pu, i) <= leq(i, j) /\ min(i, j, _pu) : Yes: { _pu -> s(s(_qkhh_0)) ; i -> s(z) ; j -> s(z) } leq(s(nn1), s(nn2)) <= leq(nn1, nn2) : No: () leq(nn1, nn2) <= leq(s(nn1), s(nn2)) : No: () False <= leq(s(nn1), z) : No: () leq(i, j) <= min(i, j, i) : Yes: { i -> s(s(_tkhh_0)) ; j -> s(z) } min(s(u), s(y1), s(_ju)) <= min(u, y1, _ju) : No: () Total time: 0.042135 Learner time: 0.031161 Teacher time: 0.000730 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 } ] ; min -> [ min : { min(s(x_0_0), s(x_1_0), s(x_2_0)) <= min(x_0_0, x_1_0, x_2_0) min(s(x_0_0), z, z) <= True min(z, s(x_1_0), z) <= True min(z, z, z) <= True } ] -- Equality automata are defined for: {nat} _|