Solving ../../benchmarks/smtlib/true/fst_elt.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} ; epair -> {epair} ; nat -> {s, z} } definition: { (fst_elt, F: { fst_elt(epair(e1, e2), e1) <= True } eq_elt(_mpa, _npa) <= fst_elt(_lpa, _mpa) /\ fst_elt(_lpa, _npa) ) } properties: { eq_elt(_opa, e1) <= fst_elt(epair(e1, e2), _opa) } over-approximation: {fst_elt} under-approximation: {} Clause system for inference is: { fst_elt(epair(e1, e2), e1) <= True -> 0 eq_elt(_opa, e1) <= fst_elt(epair(e1, e2), _opa) -> 0 } Solving took 0.031543 seconds. Yes: |_ name: None fst_elt -> [ fst_elt : { _r_1(b) <= True _r_2(a) <= True fst_elt(epair(x_0_0, x_0_1), a) <= _r_2(x_0_0) fst_elt(epair(x_0_0, x_0_1), b) <= _r_1(x_0_0) } ] -- Equality automata are defined for: {elist, elt, epair, nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.006385 s (model generation: 0.006354, model checking: 0.000031): Clauses: { fst_elt(epair(e1, e2), e1) <= True -> 0 eq_elt(_opa, e1) <= fst_elt(epair(e1, e2), _opa) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None fst_elt -> [ fst_elt : { } ] -- Equality automata are defined for: {elist, elt, epair, nat} _| Answer of teacher: fst_elt(epair(e1, e2), e1) <= True : Yes: { e1 -> b } eq_elt(_opa, e1) <= fst_elt(epair(e1, e2), _opa) : No: () ------------------------------------------- Step 1, which took 0.006119 s (model generation: 0.006086, model checking: 0.000033): Clauses: { fst_elt(epair(e1, e2), e1) <= True -> 0 eq_elt(_opa, e1) <= fst_elt(epair(e1, e2), _opa) -> 0 } Accumulated learning constraints: { fst_elt(epair(b, a), b) <= True } Current best model: |_ name: None fst_elt -> [ fst_elt : { fst_elt(epair(x_0_0, x_0_1), b) <= True } ] -- Equality automata are defined for: {elist, elt, epair, nat} _| Answer of teacher: fst_elt(epair(e1, e2), e1) <= True : Yes: { e1 -> a } eq_elt(_opa, e1) <= fst_elt(epair(e1, e2), _opa) : Yes: { _opa -> b ; e1 -> a } ------------------------------------------- Step 2, which took 0.008009 s (model generation: 0.007971, model checking: 0.000038): Clauses: { fst_elt(epair(e1, e2), e1) <= True -> 0 eq_elt(_opa, e1) <= fst_elt(epair(e1, e2), _opa) -> 0 } Accumulated learning constraints: { fst_elt(epair(a, a), a) <= True fst_elt(epair(b, a), b) <= True False <= fst_elt(epair(a, a), b) } Current best model: |_ name: None fst_elt -> [ fst_elt : { _r_1(b) <= True fst_elt(epair(x_0_0, x_0_1), a) <= True fst_elt(epair(x_0_0, x_0_1), b) <= _r_1(x_0_0) } ] -- Equality automata are defined for: {elist, elt, epair, nat} _| Answer of teacher: fst_elt(epair(e1, e2), e1) <= True : No: () eq_elt(_opa, e1) <= fst_elt(epair(e1, e2), _opa) : Yes: { _opa -> a ; e1 -> b } Total time: 0.031543 Learner time: 0.020411 Teacher time: 0.000102 Reasons for stopping: Yes: |_ name: None fst_elt -> [ fst_elt : { _r_1(b) <= True _r_2(a) <= True fst_elt(epair(x_0_0, x_0_1), a) <= _r_2(x_0_0) fst_elt(epair(x_0_0, x_0_1), b) <= _r_1(x_0_0) } ] -- Equality automata are defined for: {elist, elt, epair, nat} _|