Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: right 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.174035 seconds. Proved Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { (q_gen_4103, q_gen_4102) -> q_gen_4102 () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4103 (q_gen_4100, q_gen_4099) -> q_gen_4099 (q_gen_4103, q_gen_4102) -> q_gen_4099 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4100 () -> q_gen_4100 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.004146 s (model generation: 0.003956, model checking: 0.000190): Model: |_ { delete -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} } -- 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: Found: (() -> leq([z, z]), { }) ------------------------------------------- Step 1, which took 0.005115 s (model generation: 0.004944, model checking: 0.000171): Model: |_ { delete -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090}, Q_f={q_gen_4090}, Delta= { () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: (() -> leq([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.006792 s (model generation: 0.006686, model checking: 0.000106): Model: |_ { delete -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { () -> q_gen_4092 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: (() -> length([nil, z]), { }) ------------------------------------------- Step 3, which took 0.010562 s (model generation: 0.010346, model checking: 0.000216): Model: |_ { delete -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { () -> q_gen_4092 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: (() -> delete([x, nil, nil]), { x -> b }) ------------------------------------------- Step 4, which took 0.011240 s (model generation: 0.010878, model checking: 0.000362): Model: |_ { delete -> {{{ Q={q_gen_4094}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { () -> q_gen_4092 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 5, which took 0.013039 s (model generation: 0.012738, model checking: 0.000301): Model: |_ { delete -> {{{ Q={q_gen_4094}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: ((length([ll, _tv])) -> length([cons(x, ll), s(_tv)]), { _tv -> z ; ll -> nil ; x -> b }) ------------------------------------------- Step 6, which took 0.007866 s (model generation: 0.007634, model checking: 0.000232): Model: |_ { delete -> {{{ Q={q_gen_4094}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: ((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.008545 s (model generation: 0.008137, model checking: 0.000408): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4099 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> nil ; h -> b ; t -> nil }) ------------------------------------------- Step 8, which took 0.008157 s (model generation: 0.007849, model checking: 0.000308): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4099 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: (() -> leq([z, s(nn2)]), { nn2 -> s(z) }) ------------------------------------------- Step 9, which took 0.010200 s (model generation: 0.008688, model checking: 0.001512): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4099 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: (() -> delete([x, nil, nil]), { x -> a }) ------------------------------------------- Step 10, which took 0.008480 s (model generation: 0.007950, model checking: 0.000530): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: ((length([ll, _tv])) -> length([cons(x, ll), s(_tv)]), { _tv -> z ; ll -> nil ; x -> a }) ------------------------------------------- Step 11, which took 0.008964 s (model generation: 0.007784, model checking: 0.001180): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: ((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.009051 s (model generation: 0.008340, model checking: 0.000711): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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: Found: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> nil ; h -> a ; t -> nil }) ------------------------------------------- Step 13, which took 0.009381 s (model generation: 0.008178, model checking: 0.001203): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4103 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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)]) -> 10 (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 8 (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: Found: ((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 14, which took 0.010613 s (model generation: 0.009528, model checking: 0.001085): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4103 (q_gen_4103, q_gen_4102) -> q_gen_4099 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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]) -> 10 (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)]) -> 8 (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: Found: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> nil ; h -> b ; t -> cons(b, nil) }) ------------------------------------------- Step 15, which took 0.009611 s (model generation: 0.008067, model checking: 0.001544): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { (q_gen_4103, q_gen_4102) -> q_gen_4102 () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4103 (q_gen_4103, q_gen_4102) -> q_gen_4099 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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]) -> 7 () -> leq([z, s(nn2)]) -> 8 () -> 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)]) -> 13 (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 9 (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: Found: ((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 }) ------------------------------------------- Step 16, which took 0.008815 s (model generation: 0.007849, model checking: 0.000966): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { (q_gen_4103, q_gen_4102) -> q_gen_4102 () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4103 (q_gen_4100, q_gen_4099) -> q_gen_4099 (q_gen_4103, q_gen_4102) -> q_gen_4099 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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]) -> 8 () -> leq([z, s(nn2)]) -> 9 () -> leq([z, z]) -> 8 (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 13 (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)]) -> 13 (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 10 (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: Found: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> cons(b, nil) ; h -> a ; t -> cons(b, nil) }) ------------------------------------------- Step 17, which took 0.011467 s (model generation: 0.008706, model checking: 0.002761): Model: |_ { delete -> {{{ Q={q_gen_4094, q_gen_4099, q_gen_4100, q_gen_4102, q_gen_4103}, Q_f={q_gen_4094}, Delta= { (q_gen_4103, q_gen_4102) -> q_gen_4102 () -> q_gen_4102 () -> q_gen_4103 () -> q_gen_4103 (q_gen_4100, q_gen_4099) -> q_gen_4099 (q_gen_4103, q_gen_4102) -> q_gen_4099 () -> q_gen_4099 () -> q_gen_4100 () -> q_gen_4100 () -> q_gen_4100 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 (q_gen_4100, q_gen_4099) -> q_gen_4094 (q_gen_4103, q_gen_4102) -> q_gen_4094 () -> q_gen_4094 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_4093, q_gen_4097}, Q_f={q_gen_4093}, Delta= { () -> q_gen_4097 () -> q_gen_4097 (q_gen_4097, q_gen_4093) -> q_gen_4093 () -> q_gen_4093 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_4090, q_gen_4092}, Q_f={q_gen_4090}, Delta= { (q_gen_4092) -> q_gen_4092 () -> q_gen_4092 (q_gen_4090) -> q_gen_4090 (q_gen_4092) -> q_gen_4090 () -> q_gen_4090 } Datatype: Convolution form: right }}} } -- 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]) -> 9 () -> leq([z, s(nn2)]) -> 10 () -> leq([z, z]) -> 9 (delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]) -> 16 (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)]) -> 14 (length([ll, _tv])) -> length([cons(x, ll), s(_tv)]) -> 11 (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: Found: ((delete([h, t, _xv])) -> delete([h, cons(h, t), _xv]), { _xv -> cons(a, nil) ; h -> b ; t -> cons(a, nil) }) Total time: 0.174035 Reason for stopping: Proved