Solving ../../benchmarks/true/length_delete.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 30s Convolution: complete Learning problem is: env: { elt -> {a, b} ; eltlist -> {cons, nil} ; nat -> {s, z} } definition: { (leq, P: {() -> leq([z, s(nn2)]) () -> leq([z, z]) (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) (leq([s(nn1), z])) -> BOT} ) (length, F: {() -> length([nil, z]) (length([ll, _tv])) -> length([cons(x, ll), s(_tv)])} (length([_uv, _vv]) /\ length([_uv, _wv])) -> eq_nat([_vv, _wv]) ) (delete, F: {() -> delete([x, nil, nil]) (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)])} (delete([_zv, _aw, _bw]) /\ delete([_zv, _aw, _cw])) -> eq_eltlist([_bw, _cw]) ) } properties: {(delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw])} over-approximation: {delete, length} under-approximation: {leq} Clause system for inference is: { () -> delete([x, nil, nil]) -> 0 ; () -> length([nil, z]) -> 0 ; () -> leq([z, s(nn2)]) -> 0 ; () -> leq([z, z]) -> 0 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 0 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 0 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 0 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 0 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 0 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 0 ; (leq([s(nn1), z])) -> BOT -> 0 } Solving took 0.376270 seconds. Proved Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { (q_gen_3167, q_gen_3166) -> q_gen_3166 () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3163 () -> q_gen_3163 (q_gen_3167, q_gen_3166) -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { (q_gen_3181) -> q_gen_3181 () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.010570 s (model generation: 0.009740, model checking: 0.000830): Model: |_ { delete -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 0 ; () -> length([nil, z]) -> 0 ; () -> leq([z, s(nn2)]) -> 0 ; () -> leq([z, z]) -> 3 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 1 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 1 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 1 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 1 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 ; (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Yes: (() -> leq([z, z]), { }) ------------------------------------------- Step 1, which took 0.010170 s (model generation: 0.010036, model checking: 0.000134): Model: |_ { delete -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152}, Q_f={q_gen_3152}, Delta= { () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 0 ; () -> length([nil, z]) -> 0 ; () -> leq([z, s(nn2)]) -> 3 ; () -> leq([z, z]) -> 3 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 1 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 1 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 1 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 1 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 ; (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Yes: (() -> leq([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.006483 s (model generation: 0.006229, model checking: 0.000254): Model: |_ { delete -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { () -> q_gen_3154 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 0 ; () -> length([nil, z]) -> 3 ; () -> leq([z, s(nn2)]) -> 3 ; () -> leq([z, z]) -> 3 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 1 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 1 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 1 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 1 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 ; (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Yes: (() -> length([nil, z]), { }) ------------------------------------------- Step 3, which took 0.003637 s (model generation: 0.003538, model checking: 0.000099): Model: |_ { delete -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3155 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { () -> q_gen_3154 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 3 ; () -> length([nil, z]) -> 3 ; () -> leq([z, s(nn2)]) -> 3 ; () -> leq([z, z]) -> 3 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 1 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 1 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 1 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 1 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 ; (leq([s(nn1), z])) -> BOT -> 1 } Sat witness: Yes: (() -> delete([x, nil, nil]), { x -> b }) ------------------------------------------- Step 4, which took 0.005757 s (model generation: 0.005411, model checking: 0.000346): Model: |_ { delete -> {{{ Q={q_gen_3156}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3155 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { () -> q_gen_3154 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 3 ; () -> length([nil, z]) -> 3 ; () -> leq([z, s(nn2)]) -> 3 ; () -> leq([z, z]) -> 3 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 1 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 1 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 1 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 1 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 ; (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Yes: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 5, which took 0.011226 s (model generation: 0.010981, model checking: 0.000245): Model: |_ { delete -> {{{ Q={q_gen_3156}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3155 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 3 ; () -> length([nil, z]) -> 3 ; () -> leq([z, s(nn2)]) -> 3 ; () -> leq([z, z]) -> 3 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 1 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 1 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 1 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 4 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 ; (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Yes: ((length([ll, _tv])) -> length([cons(x, ll), s(_tv)]), { _tv -> z ; ll -> nil ; x -> b }) ------------------------------------------- Step 6, which took 0.012167 s (model generation: 0.011019, model checking: 0.001148): Model: |_ { delete -> {{{ Q={q_gen_3156}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159}, Q_f={q_gen_3155}, Delta= { (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 3 ; () -> length([nil, z]) -> 3 ; () -> leq([z, s(nn2)]) -> 3 ; () -> leq([z, z]) -> 3 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 1 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 1 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 4 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 4 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 ; (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Yes: ((delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]), { _yv -> nil ; h -> a ; t -> nil ; x -> b }) ------------------------------------------- Step 7, which took 0.013435 s (model generation: 0.011557, model checking: 0.001878): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3161 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159}, Q_f={q_gen_3155}, Delta= { (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 3 ; () -> length([nil, z]) -> 3 ; () -> leq([z, s(nn2)]) -> 3 ; () -> leq([z, z]) -> 3 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 4 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 2 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 4 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 4 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 ; (leq([s(nn1), z])) -> BOT -> 2 } Sat witness: Yes: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> nil ; h -> b ; t -> nil }) ------------------------------------------- Step 8, which took 0.012600 s (model generation: 0.011947, model checking: 0.000653): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3161 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159}, Q_f={q_gen_3155}, Delta= { (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 3 ; () -> length([nil, z]) -> 3 ; () -> leq([z, s(nn2)]) -> 6 ; () -> leq([z, z]) -> 4 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 4 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 3 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 4 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 4 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 ; (leq([s(nn1), z])) -> BOT -> 3 } Sat witness: Yes: (() -> leq([z, s(nn2)]), { nn2 -> s(z) }) ------------------------------------------- Step 9, which took 0.014078 s (model generation: 0.012548, model checking: 0.001530): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3161 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159}, Q_f={q_gen_3155}, Delta= { (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 6 ; () -> length([nil, z]) -> 4 ; () -> leq([z, s(nn2)]) -> 6 ; () -> leq([z, z]) -> 4 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 4 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 4 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 4 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 4 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 ; (leq([s(nn1), z])) -> BOT -> 4 } Sat witness: Yes: (() -> delete([x, nil, nil]), { x -> a }) ------------------------------------------- Step 10, which took 0.013016 s (model generation: 0.012439, model checking: 0.000577): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3161 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159}, Q_f={q_gen_3155}, Delta= { (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 6 ; () -> length([nil, z]) -> 4 ; () -> leq([z, s(nn2)]) -> 6 ; () -> leq([z, z]) -> 4 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 4 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 4 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 4 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 7 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 5 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 5 ; (leq([s(nn1), z])) -> BOT -> 5 } Sat witness: Yes: ((length([ll, _tv])) -> length([cons(x, ll), s(_tv)]), { _tv -> z ; ll -> nil ; x -> a }) ------------------------------------------- Step 11, which took 0.016487 s (model generation: 0.012742, model checking: 0.003745): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3161 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159}, Q_f={q_gen_3155}, Delta= { (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 6 ; () -> length([nil, z]) -> 4 ; () -> leq([z, s(nn2)]) -> 6 ; () -> leq([z, z]) -> 4 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 4 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 4 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 7 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 7 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 5 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 5 ; (leq([s(nn1), z])) -> BOT -> 5 } Sat witness: Yes: ((delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]), { _yv -> nil ; h -> b ; t -> nil ; x -> a }) ------------------------------------------- Step 12, which took 0.015497 s (model generation: 0.012781, model checking: 0.002716): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3161 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159}, Q_f={q_gen_3155}, Delta= { (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 6 ; () -> length([nil, z]) -> 4 ; () -> leq([z, s(nn2)]) -> 6 ; () -> leq([z, z]) -> 4 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 7 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 5 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 7 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 7 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 5 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 5 ; (leq([s(nn1), z])) -> BOT -> 5 } Sat witness: Yes: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> nil ; h -> a ; t -> nil }) ------------------------------------------- Step 13, which took 0.015502 s (model generation: 0.013396, model checking: 0.002106): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 () -> q_gen_3161 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159}, Q_f={q_gen_3155}, Delta= { (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 7 ; () -> length([nil, z]) -> 5 ; () -> leq([z, s(nn2)]) -> 7 ; () -> leq([z, z]) -> 5 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 7 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 6 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 7 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 10 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 6 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 6 ; (leq([s(nn1), z])) -> BOT -> 6 } Sat witness: Yes: ((length([ll, _tv])) -> length([cons(x, ll), s(_tv)]), { _tv -> s(z) ; ll -> cons(a, nil) ; x -> b }) ------------------------------------------- Step 14, which took 0.019123 s (model generation: 0.014068, model checking: 0.005055): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 () -> q_gen_3161 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 7 ; () -> length([nil, z]) -> 6 ; () -> leq([z, s(nn2)]) -> 7 ; () -> leq([z, z]) -> 6 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 7 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 7 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 10 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 10 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 7 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 7 ; (leq([s(nn1), z])) -> BOT -> 7 } Sat witness: Yes: ((delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]), { _yv -> nil ; h -> b ; t -> cons(a, nil) ; x -> a }) ------------------------------------------- Step 15, which took 0.010499 s (model generation: 0.009484, model checking: 0.001015): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 7 ; () -> length([nil, z]) -> 7 ; () -> leq([z, s(nn2)]) -> 7 ; () -> leq([z, z]) -> 7 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 10 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 8 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 10 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 10 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 8 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 8 ; (leq([s(nn1), z])) -> BOT -> 8 } Sat witness: Yes: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> nil ; h -> b ; t -> cons(b, nil) }) ------------------------------------------- Step 16, which took 0.010375 s (model generation: 0.009677, model checking: 0.000698): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { (q_gen_3167, q_gen_3166) -> q_gen_3166 () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 8 ; () -> length([nil, z]) -> 8 ; () -> leq([z, s(nn2)]) -> 8 ; () -> leq([z, z]) -> 8 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 10 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 9 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 10 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 13 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 9 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 9 ; (leq([s(nn1), z])) -> BOT -> 9 } Sat witness: Yes: ((length([ll, _tv])) -> length([cons(x, ll), s(_tv)]), { _tv -> s(z) ; ll -> cons(b, nil) ; x -> a }) ------------------------------------------- Step 17, which took 0.019316 s (model generation: 0.012338, model checking: 0.006978): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { (q_gen_3167, q_gen_3166) -> q_gen_3166 () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 9 ; () -> length([nil, z]) -> 9 ; () -> leq([z, s(nn2)]) -> 9 ; () -> leq([z, z]) -> 9 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 10 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 10 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 13 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 13 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 10 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 10 ; (leq([s(nn1), z])) -> BOT -> 10 } Sat witness: Yes: ((delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]), { _yv -> nil ; h -> a ; t -> cons(a, nil) ; x -> b }) ------------------------------------------- Step 18, which took 0.021002 s (model generation: 0.017873, model checking: 0.003129): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { (q_gen_3167, q_gen_3166) -> q_gen_3166 () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 10 ; () -> length([nil, z]) -> 10 ; () -> leq([z, s(nn2)]) -> 10 ; () -> leq([z, z]) -> 10 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 13 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 11 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 13 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 13 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 11 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 11 ; (leq([s(nn1), z])) -> BOT -> 11 } Sat witness: Yes: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> cons(b, nil) ; h -> a ; t -> cons(b, nil) }) ------------------------------------------- Step 19, which took 0.021203 s (model generation: 0.019482, model checking: 0.001721): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { (q_gen_3167, q_gen_3166) -> q_gen_3166 () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 11 ; () -> length([nil, z]) -> 11 ; () -> leq([z, s(nn2)]) -> 11 ; () -> leq([z, z]) -> 11 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 13 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 12 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 13 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 16 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 12 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 12 ; (leq([s(nn1), z])) -> BOT -> 12 } Sat witness: Yes: ((length([ll, _tv])) -> length([cons(x, ll), s(_tv)]), { _tv -> s(s(z)) ; ll -> cons(b, cons(b, nil)) ; x -> b }) ------------------------------------------- Step 20, which took 0.025709 s (model generation: 0.020292, model checking: 0.005417): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { (q_gen_3167, q_gen_3166) -> q_gen_3166 () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { (q_gen_3181) -> q_gen_3181 () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 12 ; () -> length([nil, z]) -> 12 ; () -> leq([z, s(nn2)]) -> 12 ; () -> leq([z, z]) -> 12 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 13 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 13 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 16 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 16 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 13 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 13 ; (leq([s(nn1), z])) -> BOT -> 13 } Sat witness: Yes: ((delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]), { _yv -> cons(b, nil) ; h -> a ; t -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 21, which took 0.023733 s (model generation: 0.021503, model checking: 0.002230): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { (q_gen_3167, q_gen_3166) -> q_gen_3166 () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { (q_gen_3181) -> q_gen_3181 () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 13 ; () -> length([nil, z]) -> 13 ; () -> leq([z, s(nn2)]) -> 13 ; () -> leq([z, z]) -> 13 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 16 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 14 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 16 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 16 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 14 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 14 ; (leq([s(nn1), z])) -> BOT -> 14 } Sat witness: Yes: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> cons(a, nil) ; h -> b ; t -> cons(a, nil) }) ------------------------------------------- Step 22, which took 0.025057 s (model generation: 0.022156, model checking: 0.002901): Model: |_ { delete -> {{{ Q={q_gen_3156, q_gen_3161, q_gen_3162, q_gen_3163, q_gen_3164, q_gen_3166, q_gen_3167}, Q_f={q_gen_3156}, Delta= { (q_gen_3167, q_gen_3166) -> q_gen_3166 () -> q_gen_3166 () -> q_gen_3167 () -> q_gen_3167 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3161 () -> q_gen_3161 (q_gen_3167, q_gen_3166) -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3162 () -> q_gen_3162 () -> q_gen_3162 (q_gen_3167, q_gen_3166) -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3163 () -> q_gen_3164 () -> q_gen_3164 () -> q_gen_3164 () -> q_gen_3164 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 (q_gen_3164, q_gen_3163, q_gen_3162, q_gen_3161) -> q_gen_3156 (q_gen_3167, q_gen_3166) -> q_gen_3156 () -> q_gen_3156 } Datatype: Convolution form: complete }}} ; length -> {{{ Q={q_gen_3155, q_gen_3159, q_gen_3181}, Q_f={q_gen_3155}, Delta= { (q_gen_3181) -> q_gen_3181 () -> q_gen_3181 (q_gen_3159, q_gen_3155) -> q_gen_3155 () -> q_gen_3155 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 (q_gen_3181) -> q_gen_3159 () -> q_gen_3159 } Datatype: Convolution form: complete }}} ; leq -> {{{ Q={q_gen_3152, q_gen_3154}, Q_f={q_gen_3152}, Delta= { (q_gen_3154) -> q_gen_3154 () -> q_gen_3154 (q_gen_3152) -> q_gen_3152 (q_gen_3154) -> q_gen_3152 () -> q_gen_3152 } Datatype: Convolution form: complete }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> delete([x, nil, nil]) -> 14 ; () -> length([nil, z]) -> 14 ; () -> leq([z, s(nn2)]) -> 14 ; () -> leq([z, z]) -> 14 ; (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 16 ; (delete([i, l, _dw]) /\ length([_dw, _ew]) /\ length([l, _fw])) -> leq([_ew, _fw]) -> 15 ; (delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]) -> 19 ; (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 17 ; (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 15 ; (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 15 ; (leq([s(nn1), z])) -> BOT -> 15 } Sat witness: Yes: ((delete([x, t, _yv]) /\ not eq_elt([x, h])) -> delete([x, cons(h, t), cons(h, _yv)]), { _yv -> cons(b, nil) ; h -> b ; t -> cons(b, nil) ; x -> a }) Total time: 0.376270 Reason for stopping: Proved