Solving ../../benchmarks/smtlib/true/delete_one_insert.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} } definition: { (leq_elt, P: { leq_elt(a, e2) <= True leq_elt(b, b) <= True False <= leq_elt(b, a) } ) (insert_elt, F: { insert_elt(x, enil, econs(x, enil)) <= True insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) } eq_elist(_ip, _jp) <= insert_elt(_gp, _hp, _ip) /\ insert_elt(_gp, _hp, _jp) ) (delete_one_elt, F: { delete_one_elt(h, econs(h, t), t) <= True delete_one_elt(x, enil, enil) <= True eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) } eq_elist(_np, _op) <= delete_one_elt(_lp, _mp, _np) /\ delete_one_elt(_lp, _mp, _op) ) } properties: { eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) } over-approximation: {delete_one_elt, insert_elt} under-approximation: {} Clause system for inference is: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Solving took 60.961357 seconds. Maybe: timeout during learnerLast solver state: Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, econs(a, econs(a, enil)))), econs(a, econs(a, econs(a, enil)))) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, econs(a, econs(a, enil))), econs(b, econs(b, econs(a, econs(a, enil))))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, econs(b, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(b, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, econs(a, enil))), econs(b, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, econs(a, enil)))) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, econs(a, econs(a, enil))))) <= insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) False <= insert_elt(b, econs(a, econs(a, enil)), econs(b, enil)) False <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= insert_elt(b, enil, econs(b, econs(b, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_4(x_1_1) _r_1(econs(x_0_0, x_0_1), enil) <= _r_2(x_0_0) _r_1(enil, econs(x_1_0, x_1_1)) <= _r_2(x_1_0) _r_2(b) <= True _r_3(a) <= True _r_4(econs(x_0_0, x_0_1)) <= True _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) /\ _r_3(x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_4(x_1_1) _r_1(econs(x_0_0, x_0_1), enil) <= _r_2(x_0_0) _r_1(enil, econs(x_1_0, x_1_1)) <= _r_2(x_1_0) _r_2(b) <= True _r_3(a) <= True _r_4(econs(x_0_0, x_0_1)) <= True _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_4(x_2_1) /\ _r_5(x_1_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) /\ _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.005995 s (model generation: 0.005897, model checking: 0.000098): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { } ] ; insert_elt -> [ insert_elt : { } ] ; leq_elt -> [ leq_elt : { } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : Yes: { h -> b ; t -> enil } delete_one_elt(x, enil, enil) <= True : Yes: { x -> b } insert_elt(x, enil, econs(x, enil)) <= True : Yes: { x -> b } leq_elt(a, e2) <= True : Yes: { e2 -> b } leq_elt(b, b) <= True : Yes: { } eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : No: () eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 1, which took 0.006658 s (model generation: 0.006542, model checking: 0.000116): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { insert_elt(b, enil, econs(x_2_0, x_2_1)) <= True } ] ; leq_elt -> [ leq_elt : { leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : Yes: { h -> b ; t -> econs(_odud_0, _odud_1) } delete_one_elt(x, enil, enil) <= True : Yes: { x -> a } insert_elt(x, enil, econs(x, enil)) <= True : Yes: { x -> a } leq_elt(a, e2) <= True : Yes: { e2 -> a } leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : No: () eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : Yes: { _kp -> enil ; h -> a ; t -> enil ; x -> b } insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : Yes: { _fp -> econs(_aeud_0, _aeud_1) ; x -> b ; y -> a ; z -> enil } insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : Yes: { x -> b ; y -> b } False <= leq_elt(b, a) : No: () ------------------------------------------- Step 2, which took 0.010123 s (model generation: 0.010001, model checking: 0.000122): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) \/ leq_elt(b, a) <= insert_elt(b, enil, econs(a, enil)) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True insert_elt(b, enil, econs(x_2_0, x_2_1)) <= True } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, a) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : Yes: { h -> a ; t -> enil } delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_yeud_0, _yeud_1) ; _qp -> enil ; e -> b ; l -> econs(_bfud_0, _bfud_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : Yes: { _kp -> enil ; h -> b ; t -> enil ; x -> a } insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : Yes: { x -> a ; y -> b } False <= leq_elt(b, a) : Yes: { } ------------------------------------------- Step 3, which took 0.026689 s (model generation: 0.026541, model checking: 0.000148): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= True } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_wfud_0, _wfud_1) ; _qp -> enil ; e -> a ; l -> econs(_zfud_0, _zfud_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 4, which took 0.020127 s (model generation: 0.019856, model checking: 0.000271): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= True } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_yhud_0, _yhud_1) ; _qp -> econs(_zhud_0, _zhud_1) ; e -> b ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 5, which took 0.018006 s (model generation: 0.017753, model checking: 0.000253): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(b) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_djud_0, _djud_1) ; _qp -> econs(_ejud_0, _ejud_1) ; e -> a ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : Yes: { _fp -> econs(b, _fkud_1) ; x -> b ; y -> a ; z -> enil } insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : Yes: { x -> a ; y -> a } False <= leq_elt(b, a) : No: () ------------------------------------------- Step 6, which took 0.038796 s (model generation: 0.038337, model checking: 0.000459): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(b) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(b) <= True _r_2(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : Yes: { h -> a ; t -> econs(a, _rkud_1) } delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, _rlud_1) ; _qp -> econs(_slud_0, _slud_1) ; e -> b ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 7, which took 0.037908 s (model generation: 0.037472, model checking: 0.000436): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), enil) <= True _r_1(enil, econs(x_1_0, x_1_1)) <= True _r_2(b) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= leq_elt(x_1_0, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1), enil) <= True _r_1(enil, econs(x_1_0, x_1_1)) <= True _r_2(b) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : Yes: { h -> a ; t -> econs(a, econs(_frud_0, _frud_1)) } delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_onud_0, enil) ; _qp -> econs(_pnud_0, econs(_jrud_0, _jrud_1)) ; e -> a ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : Yes: { _fp -> econs(_qqud_0, econs(_nrud_0, _nrud_1)) ; x -> b ; y -> a ; z -> econs(_tqud_0, enil) } insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : Yes: { x -> a ; y -> a ; z -> econs(_orud_0, _orud_1) } False <= leq_elt(b, a) : No: () ------------------------------------------- Step 8, which took 0.057661 s (model generation: 0.057199, model checking: 0.000462): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(b) <= True _r_2(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= leq_elt(x_1_0, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(b) <= True _r_2(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_csud_0, _csud_1) ; _qp -> econs(b, _dsud_1) ; e -> a ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 9, which took 0.058440 s (model generation: 0.058012, model checking: 0.000428): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(b) <= True _r_2(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= leq_elt(x_1_0, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(b) <= True _r_2(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, _gwud_1) ; _qp -> econs(_hwud_0, _hwud_1) ; e -> a ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 10, which took 0.058471 s (model generation: 0.057753, model checking: 0.000718): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, enil), econs(a, enil)) /\ insert_elt(a, enil, econs(b, enil)) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(b) <= True _r_2(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) /\ _r_1(x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= leq_elt(x_1_0, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(b) <= True _r_2(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= True insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, _mavd_1) ; _qp -> econs(b, _navd_1) ; e -> a ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 11, which took 0.110826 s (model generation: 0.110174, model checking: 0.000652): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, enil, econs(a, enil)) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, econs(_bjvd_0, _bjvd_1)) ; _qp -> econs(_wgvd_0, _wgvd_1) ; e -> b ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 12, which took 0.211360 s (model generation: 0.210794, model checking: 0.000566): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_jlvd_0, econs(_lnvd_0, _lnvd_1)) ; _qp -> enil ; e -> b ; l -> econs(_mlvd_0, _mlvd_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 13, which took 0.192909 s (model generation: 0.192429, model checking: 0.000480): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(b) <= True _r_2(a) <= True _r_3(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_1(x_1_0) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(b) <= True _r_2(a) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= True insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, _vpvd_1) ; _qp -> enil ; e -> b ; l -> econs(_ypvd_0, _ypvd_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 14, which took 0.215393 s (model generation: 0.214642, model checking: 0.000751): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_2(x_1_0) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, econs(_wvvd_0, _wvvd_1)) ; _qp -> enil ; e -> b ; l -> econs(_xtvd_0, _xtvd_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 15, which took 0.240729 s (model generation: 0.239979, model checking: 0.000750): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_2(x_1_0) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, _azvd_1) ; _qp -> enil ; e -> b ; l -> econs(b, _dzvd_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 16, which took 0.243646 s (model generation: 0.242401, model checking: 0.001245): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_4(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_2(x_1_0) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_3(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_ncwd_0, econs(_ehwd_0, _ehwd_1)) ; _qp -> enil ; e -> a ; l -> econs(_qcwd_0, _qcwd_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 17, which took 0.240138 s (model generation: 0.239528, model checking: 0.000610): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_3(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_3(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_3(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(_tlwd_0, _tlwd_1)) ; _qp -> econs(_liwd_0, _liwd_1) ; e -> a ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 18, which took 0.237115 s (model generation: 0.236515, model checking: 0.000600): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(b) <= True _r_2(a) <= True _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_3(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_3(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(b) <= True _r_2(a) <= True _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_3(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(_jqwd_0, _jqwd_1)) ; _qp -> econs(_jnwd_0, enil) ; e -> b ; l -> econs(_lnwd_0, econs(_rqwd_0, _rqwd_1)) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 19, which took 0.252035 s (model generation: 0.251171, model checking: 0.000864): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(b) <= True _r_2(a) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) /\ _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(b) <= True _r_2(a) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_4(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, econs(_hxwd_0, _hxwd_1)) ; _qp -> econs(_lrwd_0, enil) ; e -> a ; l -> econs(_nrwd_0, econs(_rxwd_0, _rxwd_1)) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : Yes: { _kp -> enil ; h -> a ; t -> econs(_evwd_0, enil) ; x -> b } insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 20, which took 0.240880 s (model generation: 0.239955, model checking: 0.000925): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_3(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) /\ _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_2(x_1_0) /\ _r_3(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_4(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_3(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, econs(_ffxd_0, _ffxd_1)) ; _qp -> econs(b, _haxd_1) ; e -> b ; l -> econs(a, _jaxd_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : Yes: { _kp -> econs(_qbxd_0, _qbxd_1) ; h -> a ; t -> econs(a, enil) ; x -> b } insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 21, which took 0.283942 s (model generation: 0.282616, model checking: 0.001326): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) /\ _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_2(x_1_0) /\ _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_2(x_1_0) /\ _r_4(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_4(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : Yes: { h -> b ; t -> econs(b, enil) } delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, enil) ; _qp -> econs(_pixd_0, econs(_apxd_0, _apxd_1)) ; e -> b ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : Yes: { _kp -> enil ; h -> a ; t -> econs(b, enil) ; x -> b } insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 22, which took 0.471573 s (model generation: 0.470589, model checking: 0.000984): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(econs(x_0_0, x_0_1)) <= _r_2(x_0_0) _r_4(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_2(x_1_0) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(econs(x_0_0, x_0_1)) <= _r_2(x_0_0) _r_4(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_4(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_4(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_3(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, econs(_mwxd_0, _mwxd_1)) ; _qp -> enil ; e -> b ; l -> econs(b, _psxd_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : Yes: { _fp -> econs(a, econs(_pwxd_0, _pwxd_1)) ; x -> b ; y -> a ; z -> econs(b, _xuxd_1) } insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 23, which took 0.716501 s (model generation: 0.715475, model checking: 0.001026): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= _r_2(x_0_0) _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_3(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_2(x_1_0) /\ _r_3(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= _r_2(x_0_0) _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_4(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_2(x_2_0) /\ _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_3(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(_sfyd_0, _sfyd_1)) ; _qp -> econs(b, _wxxd_1) ; e -> a ; l -> econs(a, _yxxd_1) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : Yes: { _fp -> econs(a, enil) ; x -> b ; y -> a ; z -> econs(_ccyd_0, _ccyd_1) } insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 24, which took 0.529653 s (model generation: 0.527522, model checking: 0.002131): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(econs(x_0_0, x_0_1)) <= _r_3(x_0_1) _r_4(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(econs(x_0_0, x_0_1)) <= True _r_4(econs(x_0_0, x_0_1)) <= _r_3(x_0_1) _r_4(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_4(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) /\ _r_4(x_1_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_3(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_1) /\ _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : Yes: { h -> a ; t -> econs(b, _ufyd_1) } delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(_ruyd_0, _ruyd_1)) ; _qp -> econs(_shyd_0, enil) ; e -> b ; l -> econs(b, econs(_bvyd_0, _bvyd_1)) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 25, which took 0.812278 s (model generation: 0.811276, model checking: 0.001002): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), a) <= True _r_1(econs(x_0_0, x_0_1), b) <= _r_2(x_0_0) _r_2(b) <= True _r_3(a) <= True _r_4(econs(x_0_0, x_0_1)) <= _r_5(x_0_1) _r_4(enil) <= True _r_5(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_2(b) <= True _r_3(a) <= True _r_4(econs(x_0_0, x_0_1)) <= _r_5(x_0_1) _r_4(enil) <= True _r_5(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_4(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_2_1) /\ _r_5(x_1_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_4(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(_wczd_0, _wczd_1)) ; _qp -> econs(b, _ayyd_1) ; e -> b ; l -> econs(a, enil) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 26, which took 0.932969 s (model generation: 0.931950, model checking: 0.001019): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= True _r_1(econs(x_0_0, x_0_1), enil) <= True _r_3(a) <= True _r_4(b) <= True _r_5(econs(x_0_0, x_0_1)) <= _r_4(x_0_0) _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) /\ _r_3(x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) /\ _r_5(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= True delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_2(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= True _r_2(enil, econs(x_1_0, x_1_1)) <= True _r_3(a) <= True _r_4(b) <= True _r_5(econs(x_0_0, x_0_1)) <= _r_4(x_0_0) _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_3(x_2_0) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_5(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_4(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(_sgzd_0, econs(b, _anzd_1)) ; _qp -> enil ; e -> b ; l -> econs(_vgzd_0, enil) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : Yes: { _fp -> econs(a, econs(b, _xlzd_1)) ; x -> b ; y -> a ; z -> econs(_vkzd_0, enil) } insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 27, which took 1.071386 s (model generation: 1.070502, model checking: 0.000884): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), a) <= True _r_1(econs(x_0_0, x_0_1), b) <= _r_4(x_0_0) _r_4(b) <= True _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_5(x_1_1) /\ leq_elt(x_1_0, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(b, enil, enil) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] ; insert_elt -> [ insert_elt : { _r_2(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_2(x_0_1, x_1_1) _r_2(enil, econs(x_1_0, x_1_1)) <= True _r_3(a) <= True _r_4(b) <= True _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_4(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, econs(_hszd_0, _hszd_1)) ; _qp -> econs(b, _gozd_1) ; e -> a ; l -> econs(a, enil) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 28, which took 2.827763 s (model generation: 2.826755, model checking: 0.001008): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), a) <= True _r_1(econs(x_0_0, x_0_1), b) <= _r_3(x_0_0) _r_3(b) <= True _r_4(a) <= True _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_0) /\ _r_4(x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_2(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_2(x_0_1, x_1_1) _r_2(enil, econs(x_1_0, x_1_1)) <= True _r_3(b) <= True _r_4(a) <= True _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_4(x_2_0) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_4(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(_vyzd_0, _vyzd_1)) ; _qp -> econs(a, _svzd_1) ; e -> b ; l -> econs(b, enil) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 29, which took 1.084801 s (model generation: 1.081363, model checking: 0.003438): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(enil) <= True _r_4(econs(x_0_0, x_0_1)) <= _r_2(x_0_0) _r_5(econs(x_0_0, x_0_1)) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_5(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_3(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_0) /\ _r_3(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_2(x_1_0) /\ _r_5(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_5(x_1_1) /\ _r_5(x_2_1) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_2(x_1_0) /\ _r_3(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(a) <= True _r_2(b) <= True _r_3(enil) <= True _r_5(econs(x_0_0, x_0_1)) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_5(x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_1(x_2_0) /\ _r_3(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_5(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_3(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(b, _etae_1)) ; _qp -> econs(_zbae_0, enil) ; e -> a ; l -> econs(_bcae_0, econs(_osae_0, _osae_1)) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 30, which took 2.731396 s (model generation: 2.730307, model checking: 0.001089): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, econs(b, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(b, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), a) <= True _r_1(econs(x_0_0, x_0_1), b) <= _r_4(x_0_0) _r_3(a) <= True _r_4(b) <= True _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) /\ _r_3(x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_2(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_2(x_0_1, x_1_1) _r_2(enil, econs(x_1_0, x_1_1)) <= True _r_3(a) <= True _r_4(b) <= True _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_3(x_2_0) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_3(x_1_0) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_4(x_2_0) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_4(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(_fdbe_0, _fdbe_1)) ; _qp -> econs(a, econs(_gdbe_0, _gdbe_1)) ; e -> b ; l -> econs(a, enil) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 31, which took 1.786894 s (model generation: 1.784951, model checking: 0.001943): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, econs(b, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(b, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) False <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), enil) <= True _r_1(enil, econs(x_1_0, x_1_1)) <= True _r_2(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_1(x_0_1, x_1_1) _r_2(econs(x_0_0, x_0_1), enil) <= True _r_3(a) <= True _r_4(b) <= True _r_5(econs(x_0_0, x_0_1)) <= _r_4(x_0_0) _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_3(x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_5(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_0) /\ _r_5(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_0) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1), enil) <= True _r_1(enil, econs(x_1_0, x_1_1)) <= True _r_2(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_1(x_0_1, x_1_1) _r_2(econs(x_0_0, x_0_1), enil) <= True _r_3(a) <= True _r_4(b) <= True _r_5(econs(x_0_0, x_0_1)) <= _r_4(x_0_0) _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_4(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : Yes: { h -> b ; t -> econs(_cebe_0, econs(_bqbe_0, econs(_irbe_0, _irbe_1))) } delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, enil) ; _qp -> enil ; e -> b ; l -> econs(_uibe_0, econs(_eqbe_0, _eqbe_1)) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : Yes: { _kp -> enil ; h -> b ; t -> econs(a, enil) ; x -> a } insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : Yes: { _fp -> econs(_zobe_0, econs(_hqbe_0, econs(_arbe_0, _arbe_1))) ; x -> b ; y -> a ; z -> econs(_cpbe_0, econs(_gqbe_0, enil)) } insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : Yes: { x -> b ; y -> b ; z -> econs(_lqbe_0, econs(_tqbe_0, _tqbe_1)) } False <= leq_elt(b, a) : No: () ------------------------------------------- Step 32, which took 2.316229 s (model generation: 2.314276, model checking: 0.001953): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, econs(a, econs(a, enil)))), econs(a, econs(a, econs(a, enil)))) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, econs(a, econs(a, enil))), econs(b, econs(b, econs(a, econs(a, enil))))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, econs(b, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(b, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, econs(a, econs(a, enil))))) <= insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) False <= insert_elt(b, econs(a, econs(a, enil)), econs(b, enil)) False <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), a) <= True _r_1(econs(x_0_0, x_0_1), b) <= True _r_3(a) <= True _r_4(b) <= True _r_5(econs(x_0_0, x_0_1)) <= _r_4(x_0_0) _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) /\ _r_3(x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) /\ _r_4(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) /\ _r_5(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_4(x_1_0) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1), a) <= True _r_1(econs(x_0_0, x_0_1), b) <= True _r_2(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_2(x_0_1, x_1_1) _r_2(enil, econs(x_1_0, x_1_1)) <= True _r_3(a) <= True _r_4(b) <= True _r_5(econs(x_0_0, x_0_1)) <= _r_4(x_0_0) _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_3(x_2_0) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) /\ _r_2(x_1_1, x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_5(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_4(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(a, econs(b, _ogce_1)) ; _qp -> econs(b, _awbe_1) ; e -> b ; l -> econs(a, enil) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 33, which took 24.753063 s (model generation: 24.750927, model checking: 0.002136): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, econs(a, econs(a, enil)))), econs(a, econs(a, econs(a, enil)))) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, econs(a, econs(a, enil))), econs(b, econs(b, econs(a, econs(a, enil))))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, econs(b, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(b, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, econs(a, econs(a, enil))))) <= insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) False <= insert_elt(b, econs(a, econs(a, enil)), econs(b, enil)) False <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), a) <= True _r_1(econs(x_0_0, x_0_1), b) <= True _r_3(b) <= True _r_4(a) <= True _r_5(econs(x_0_0, x_0_1)) <= _r_3(x_0_0) _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) /\ _r_4(x_2_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) /\ _r_5(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) /\ _r_3(x_1_0) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_4(x_1_0) /\ _r_4(x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_3(x_1_0) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1), a) <= True _r_1(econs(x_0_0, x_0_1), b) <= True _r_2(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_2(x_0_1, x_1_1) _r_2(enil, econs(x_1_0, x_1_1)) <= True _r_3(b) <= True _r_4(a) <= True _r_5(econs(x_0_0, x_0_1)) <= _r_3(x_0_0) _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_4(x_2_0) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_4(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_0) /\ _r_2(x_1_1, x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_1, x_2_1) /\ _r_5(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(h, econs(h, t), t) <= True : No: () delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, econs(b, _wvce_1)) ; _qp -> econs(b, _dkce_1) ; e -> b ; l -> enil } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () ------------------------------------------- Step 34, which took 17.100704 s (model generation: 17.098978, model checking: 0.001726): Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, econs(a, econs(a, enil)))), econs(a, econs(a, econs(a, enil)))) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, econs(a, econs(a, enil))), econs(b, econs(b, econs(a, econs(a, enil))))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, econs(b, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(b, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, econs(a, econs(a, enil))))) <= insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) False <= insert_elt(b, econs(a, econs(a, enil)), econs(b, enil)) False <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= insert_elt(b, enil, econs(b, econs(b, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_4(x_1_1) _r_1(econs(x_0_0, x_0_1), enil) <= _r_2(x_0_0) _r_1(enil, econs(x_1_0, x_1_1)) <= _r_2(x_1_0) _r_2(b) <= True _r_3(a) <= True _r_4(econs(x_0_0, x_0_1)) <= True _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) /\ _r_3(x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_4(x_1_1) _r_1(econs(x_0_0, x_0_1), enil) <= _r_2(x_0_0) _r_1(enil, econs(x_1_0, x_1_1)) <= _r_2(x_1_0) _r_2(b) <= True _r_3(a) <= True _r_4(econs(x_0_0, x_0_1)) <= True _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_4(x_2_1) /\ _r_5(x_1_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) /\ _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _| Answer of teacher: delete_one_elt(x, enil, enil) <= True : No: () insert_elt(x, enil, econs(x, enil)) <= True : No: () leq_elt(a, e2) <= True : No: () leq_elt(b, b) <= True : No: () eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) : Yes: { _pp -> econs(b, econs(_cgde_0, econs(_xgde_0, _xgde_1))) ; _qp -> econs(b, _cyce_1) ; e -> a ; l -> econs(a, econs(_bgde_0, _bgde_1)) } eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) : No: () insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) : No: () insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) : No: () False <= leq_elt(b, a) : No: () Total time: 60.961357 Learner time: 59.910438 Teacher time: 0.032620 Reasons for stopping: Maybe: timeout during learnerLast solver state: Clauses: { delete_one_elt(h, econs(h, t), t) <= True -> 0 delete_one_elt(x, enil, enil) <= True -> 0 insert_elt(x, enil, econs(x, enil)) <= True -> 0 leq_elt(a, e2) <= True -> 0 leq_elt(b, b) <= True -> 0 eq_elist(_qp, l) <= delete_one_elt(e, _pp, _qp) /\ insert_elt(e, l, _pp) -> 0 eq_elt(x, h) \/ delete_one_elt(x, econs(h, t), econs(h, _kp)) <= delete_one_elt(x, t, _kp) -> 0 insert_elt(x, econs(y, z), econs(y, _fp)) \/ leq_elt(x, y) <= insert_elt(x, z, _fp) -> 0 insert_elt(x, econs(y, z), econs(x, econs(y, z))) <= leq_elt(x, y) -> 0 False <= leq_elt(b, a) -> 0 } Accumulated learning constraints: { delete_one_elt(a, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, enil))) <= True delete_one_elt(a, econs(a, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(a, econs(a, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(a, enil), enil) <= True delete_one_elt(a, econs(b, econs(a, enil)), econs(b, enil)) <= True delete_one_elt(a, econs(b, enil), econs(b, enil)) <= True delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= True delete_one_elt(b, econs(a, econs(b, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(a, enil), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(a, econs(a, econs(a, enil)))), econs(a, econs(a, econs(a, enil)))) <= True delete_one_elt(b, econs(b, econs(a, enil)), econs(a, enil)) <= True delete_one_elt(b, econs(b, econs(b, enil)), econs(b, enil)) <= True delete_one_elt(b, econs(b, enil), enil) <= True delete_one_elt(b, enil, enil) <= True insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) <= True insert_elt(a, econs(a, enil), econs(a, econs(a, enil))) <= True insert_elt(a, econs(b, enil), econs(a, econs(b, enil))) <= True insert_elt(a, enil, econs(a, enil)) <= True insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(b, enil)))) <= True insert_elt(b, econs(a, enil), econs(a, econs(b, enil))) <= True insert_elt(b, econs(b, econs(a, econs(a, enil))), econs(b, econs(b, econs(a, econs(a, enil))))) <= True insert_elt(b, econs(b, enil), econs(b, econs(b, enil))) <= True insert_elt(b, enil, econs(b, enil)) <= True leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True False <= delete_one_elt(a, econs(a, econs(a, enil)), econs(b, enil)) False <= delete_one_elt(a, econs(a, econs(a, enil)), enil) False <= delete_one_elt(a, econs(a, econs(b, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(a, econs(b, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, econs(a, enil))) False <= delete_one_elt(a, econs(a, enil), econs(a, enil)) False <= delete_one_elt(a, econs(a, enil), econs(b, enil)) False <= delete_one_elt(a, econs(b, econs(a, econs(a, enil))), econs(b, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, econs(a, enil)))) False <= delete_one_elt(a, econs(b, econs(a, enil)), econs(a, enil)) /\ insert_elt(a, econs(a, econs(a, enil)), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, econs(a, enil)), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) /\ insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(a, econs(b, enil)), econs(b, enil)) False <= delete_one_elt(b, econs(a, econs(b, enil)), enil) delete_one_elt(b, econs(a, econs(a, enil)), econs(a, enil)) <= delete_one_elt(b, econs(a, enil), enil) False <= delete_one_elt(b, econs(a, enil), enil) /\ insert_elt(b, econs(a, enil), econs(a, enil)) False <= delete_one_elt(b, econs(b, econs(a, enil)), econs(b, enil)) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(a, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, econs(a, enil)), enil) /\ insert_elt(b, econs(b, enil), econs(b, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= delete_one_elt(b, econs(b, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(a, enil)) False <= insert_elt(a, econs(a, enil), econs(b, econs(a, enil))) False <= insert_elt(a, enil, econs(a, econs(a, enil))) False <= insert_elt(a, enil, econs(b, enil)) insert_elt(b, econs(a, econs(a, econs(a, enil))), econs(a, econs(a, econs(a, econs(a, enil))))) <= insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, econs(a, enil)))) False <= insert_elt(b, econs(a, econs(a, enil)), econs(b, enil)) False <= insert_elt(b, econs(a, enil), econs(a, econs(a, enil))) insert_elt(b, econs(a, econs(a, enil)), econs(a, econs(a, enil))) <= insert_elt(b, econs(a, enil), econs(a, enil)) False <= insert_elt(b, econs(a, enil), econs(b, enil)) insert_elt(b, econs(a, econs(b, enil)), econs(a, econs(a, econs(a, enil)))) <= insert_elt(b, econs(b, enil), econs(a, econs(a, enil))) False <= insert_elt(b, econs(b, enil), econs(b, enil)) False <= insert_elt(b, enil, econs(a, enil)) False <= insert_elt(b, enil, econs(b, econs(a, enil))) False <= insert_elt(b, enil, econs(b, econs(b, enil))) False <= leq_elt(b, a) } Current best model: |_ name: None delete_one_elt -> [ delete_one_elt : { _r_1(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_4(x_1_1) _r_1(econs(x_0_0, x_0_1), enil) <= _r_2(x_0_0) _r_1(enil, econs(x_1_0, x_1_1)) <= _r_2(x_1_0) _r_2(b) <= True _r_3(a) <= True _r_4(econs(x_0_0, x_0_1)) <= True _r_5(enil) <= True delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) delete_one_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_4(x_1_1) delete_one_elt(a, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(a, enil, enil) <= True delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_2(x_1_0) /\ _r_4(x_1_1) delete_one_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_1_0) /\ _r_3(x_2_0) delete_one_elt(b, econs(x_1_0, x_1_1), enil) <= _r_5(x_1_1) delete_one_elt(b, enil, enil) <= True } ] ; insert_elt -> [ insert_elt : { _r_1(econs(x_0_0, x_0_1), econs(x_1_0, x_1_1)) <= _r_4(x_1_1) _r_1(econs(x_0_0, x_0_1), enil) <= _r_2(x_0_0) _r_1(enil, econs(x_1_0, x_1_1)) <= _r_2(x_1_0) _r_2(b) <= True _r_3(a) <= True _r_4(econs(x_0_0, x_0_1)) <= True _r_5(enil) <= True insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) insert_elt(a, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_4(x_2_1) /\ _r_5(x_1_1) insert_elt(a, enil, econs(x_2_0, x_2_1)) <= _r_3(x_2_0) /\ _r_5(x_2_1) insert_elt(b, econs(x_1_0, x_1_1), econs(x_2_0, x_2_1)) <= _r_1(x_1_1, x_2_1) /\ _r_4(x_2_1) insert_elt(b, enil, econs(x_2_0, x_2_1)) <= _r_2(x_2_0) /\ _r_5(x_2_1) } ] ; leq_elt -> [ leq_elt : { leq_elt(a, a) <= True leq_elt(a, b) <= True leq_elt(b, b) <= True } ] -- Equality automata are defined for: {elist, elt, nat} _|