Solving ../../benchmarks/smtlib/true/fst_nat.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: { elist -> {econs, enil} ; elt -> {a, b} ; nat -> {s, z} ; npair -> {npair} } definition: { (fst_nat, F: { fst_nat(npair(n1, n2), n1) <= True } eq_nat(_xba, _yba) <= fst_nat(_wba, _xba) /\ fst_nat(_wba, _yba) ) } properties: { eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) } over-approximation: {fst_nat} under-approximation: {} Clause system for inference is: { fst_nat(npair(n1, n2), n1) <= True -> 0 eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) -> 0 } Solving took 0.065176 seconds. Yes: |_ name: None fst_nat -> [ fst_nat : { _r_1(s(x_0_0), s(x_1_0)) <= _r_1(x_0_0, x_1_0) _r_1(s(x_0_0), z) <= _r_2(x_0_0) _r_2(z) <= True fst_nat(npair(x_0_0, x_0_1), s(x_1_0)) <= _r_1(x_0_0, x_1_0) fst_nat(npair(x_0_0, x_0_1), z) <= _r_2(x_0_0) } ] -- Equality automata are defined for: {elist, elt, nat, npair} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.005680 s (model generation: 0.005656, model checking: 0.000024): Clauses: { fst_nat(npair(n1, n2), n1) <= True -> 0 eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None fst_nat -> [ fst_nat : { } ] -- Equality automata are defined for: {elist, elt, nat, npair} _| Answer of teacher: fst_nat(npair(n1, n2), n1) <= True : Yes: { n1 -> z } eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) : No: () ------------------------------------------- Step 1, which took 0.008243 s (model generation: 0.008216, model checking: 0.000027): Clauses: { fst_nat(npair(n1, n2), n1) <= True -> 0 eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) -> 0 } Accumulated learning constraints: { fst_nat(npair(z, z), z) <= True } Current best model: |_ name: None fst_nat -> [ fst_nat : { fst_nat(npair(x_0_0, x_0_1), z) <= True } ] -- Equality automata are defined for: {elist, elt, nat, npair} _| Answer of teacher: fst_nat(npair(n1, n2), n1) <= True : Yes: { n1 -> s(_owle_0) } eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) : Yes: { _zba -> z ; n1 -> s(_qwle_0) } ------------------------------------------- Step 2, which took 0.008656 s (model generation: 0.008529, model checking: 0.000127): Clauses: { fst_nat(npair(n1, n2), n1) <= True -> 0 eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) -> 0 } Accumulated learning constraints: { fst_nat(npair(s(z), z), s(z)) <= True fst_nat(npair(z, z), z) <= True False <= fst_nat(npair(s(z), z), z) } Current best model: |_ name: None fst_nat -> [ fst_nat : { _r_1(z) <= True fst_nat(npair(x_0_0, x_0_1), s(x_1_0)) <= True fst_nat(npair(x_0_0, x_0_1), z) <= _r_1(x_0_0) } ] -- Equality automata are defined for: {elist, elt, nat, npair} _| Answer of teacher: fst_nat(npair(n1, n2), n1) <= True : No: () eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) : Yes: { _zba -> s(_uwle_0) ; n1 -> z } ------------------------------------------- Step 3, which took 0.013176 s (model generation: 0.013096, model checking: 0.000080): Clauses: { fst_nat(npair(n1, n2), n1) <= True -> 0 eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) -> 0 } Accumulated learning constraints: { fst_nat(npair(s(z), z), s(z)) <= True fst_nat(npair(z, z), z) <= True False <= fst_nat(npair(s(z), z), z) False <= fst_nat(npair(z, z), s(z)) } Current best model: |_ name: None fst_nat -> [ fst_nat : { _r_1(s(x_0_0)) <= True _r_2(z) <= True fst_nat(npair(x_0_0, x_0_1), s(x_1_0)) <= _r_1(x_0_0) fst_nat(npair(x_0_0, x_0_1), z) <= _r_2(x_0_0) } ] -- Equality automata are defined for: {elist, elt, nat, npair} _| Answer of teacher: fst_nat(npair(n1, n2), n1) <= True : No: () eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) : Yes: { _zba -> s(s(_jxle_0)) ; n1 -> s(z) } ------------------------------------------- Step 4, which took 0.012409 s (model generation: 0.012283, model checking: 0.000126): Clauses: { fst_nat(npair(n1, n2), n1) <= True -> 0 eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) -> 0 } Accumulated learning constraints: { fst_nat(npair(s(z), z), s(z)) <= True fst_nat(npair(z, z), z) <= True False <= fst_nat(npair(s(z), z), s(s(z))) False <= fst_nat(npair(s(z), z), z) False <= fst_nat(npair(z, z), s(z)) } Current best model: |_ name: None fst_nat -> [ fst_nat : { _r_1(s(x_0_0), z) <= True _r_2(z) <= True fst_nat(npair(x_0_0, x_0_1), s(x_1_0)) <= _r_1(x_0_0, x_1_0) fst_nat(npair(x_0_0, x_0_1), z) <= _r_2(x_0_0) } ] -- Equality automata are defined for: {elist, elt, nat, npair} _| Answer of teacher: fst_nat(npair(n1, n2), n1) <= True : Yes: { n1 -> s(s(_uxle_0)) } eq_nat(_zba, n1) <= fst_nat(npair(n1, n2), _zba) : Yes: { _zba -> s(z) ; n1 -> s(s(_vxle_0)) } Total time: 0.065176 Learner time: 0.047780 Teacher time: 0.000384 Reasons for stopping: Yes: |_ name: None fst_nat -> [ fst_nat : { _r_1(s(x_0_0), s(x_1_0)) <= _r_1(x_0_0, x_1_0) _r_1(s(x_0_0), z) <= _r_2(x_0_0) _r_2(z) <= True fst_nat(npair(x_0_0, x_0_1), s(x_1_0)) <= _r_1(x_0_0, x_1_0) fst_nat(npair(x_0_0, x_0_1), z) <= _r_2(x_0_0) } ] -- Equality automata are defined for: {elist, elt, nat, npair} _|