Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { elt -> {a, b} ; eltlist -> {cons, nil} ; nat -> {s, z} } definition: { (le, P: {() -> le([z, s(nn2)]) (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) (le([s(nn1), z])) -> BOT (le([z, z])) -> BOT} ) (length, F: {() -> length([nil, z]) (length([ll, _wf])) -> length([cons(x, ll), s(_wf)])} (length([_xf, _yf]) /\ length([_xf, _zf])) -> eq_nat([_yf, _zf]) ) (append, F: {() -> append([nil, l2, l2]) (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)])} (append([_bg, _cg, _dg]) /\ append([_bg, _cg, _eg])) -> eq_eltlist([_dg, _eg]) ) } properties: {(append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg])} over-approximation: {append, length} under-approximation: {} Clause system for inference is: { () -> append([nil, l2, l2]) -> 0 () -> le([z, s(nn2)]) -> 0 () -> length([nil, z]) -> 0 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 0 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 0 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 0 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 0 (le([s(nn1), z])) -> BOT -> 0 (le([z, z])) -> BOT -> 0 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 0 } Solving took 0.314638 seconds. Proved Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { (q_gen_1534, q_gen_1533) -> q_gen_1533 () -> q_gen_1533 () -> q_gen_1534 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 (q_gen_1540) -> q_gen_1540 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.007326 s (model generation: 0.007073, model checking: 0.000253): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> le([z, s(nn2)]) -> 0 () -> length([nil, z]) -> 3 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 1 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 1 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 (le([s(nn1), z])) -> BOT -> 1 (le([z, z])) -> BOT -> 1 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 1 } Sat witness: Found: (() -> length([nil, z]), { }) ------------------------------------------- Step 1, which took 0.007155 s (model generation: 0.006845, model checking: 0.000310): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1512 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> le([z, s(nn2)]) -> 3 () -> length([nil, z]) -> 3 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 1 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 1 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 (le([s(nn1), z])) -> BOT -> 1 (le([z, z])) -> BOT -> 1 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 1 } Sat witness: Found: (() -> le([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.007877 s (model generation: 0.007745, model checking: 0.000132): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { () -> q_gen_1514 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1512 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> le([z, s(nn2)]) -> 3 () -> length([nil, z]) -> 3 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 1 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 1 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 (le([s(nn1), z])) -> BOT -> 1 (le([z, z])) -> BOT -> 1 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 1 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> nil }) ------------------------------------------- Step 3, which took 0.007673 s (model generation: 0.007577, model checking: 0.000096): Model: |_ { append -> {{{ Q={q_gen_1515}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1515 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { () -> q_gen_1514 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1512 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> le([z, s(nn2)]) -> 3 () -> length([nil, z]) -> 3 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 1 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 1 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 1 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 1 (le([s(nn1), z])) -> BOT -> 1 (le([z, z])) -> BOT -> 1 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 4 } Sat witness: Found: ((length([ll, _wf])) -> length([cons(x, ll), s(_wf)]), { _wf -> z ; ll -> nil ; x -> b }) ------------------------------------------- Step 4, which took 0.008184 s (model generation: 0.007950, model checking: 0.000234): Model: |_ { append -> {{{ Q={q_gen_1515}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1515 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { () -> q_gen_1514 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1517 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> le([z, s(nn2)]) -> 3 () -> length([nil, z]) -> 3 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 1 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 1 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 2 (le([s(nn1), z])) -> BOT -> 2 (le([z, z])) -> BOT -> 2 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 4 } Sat witness: Found: ((le([nn1, nn2])) -> le([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> s(z) }) ------------------------------------------- Step 5, which took 0.007855 s (model generation: 0.007684, model checking: 0.000171): Model: |_ { append -> {{{ Q={q_gen_1515}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1515 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1517 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> le([z, s(nn2)]) -> 3 () -> length([nil, z]) -> 3 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 1 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 4 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 2 (le([s(nn1), z])) -> BOT -> 2 (le([z, z])) -> BOT -> 2 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 4 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> nil ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 6, which took 0.009097 s (model generation: 0.008780, model checking: 0.000317): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1521 () -> q_gen_1522 (q_gen_1522, q_gen_1521) -> q_gen_1515 () -> q_gen_1515 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1517 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> le([z, s(nn2)]) -> 6 () -> length([nil, z]) -> 4 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 2 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 4 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 3 (le([s(nn1), z])) -> BOT -> 3 (le([z, z])) -> BOT -> 3 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 4 } Sat witness: Found: (() -> le([z, s(nn2)]), { nn2 -> s(z) }) ------------------------------------------- Step 7, which took 0.008940 s (model generation: 0.008569, model checking: 0.000371): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1521 () -> q_gen_1522 (q_gen_1522, q_gen_1521) -> q_gen_1515 () -> q_gen_1515 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1517 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> le([z, s(nn2)]) -> 6 () -> length([nil, z]) -> 4 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 3 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 4 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 4 (le([s(nn1), z])) -> BOT -> 4 (le([z, z])) -> BOT -> 4 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 4 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 8, which took 0.009217 s (model generation: 0.009013, model checking: 0.000204): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522}, Q_f={q_gen_1515}, Delta= { (q_gen_1522, q_gen_1521) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 () -> q_gen_1515 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1517 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> le([z, s(nn2)]) -> 6 () -> length([nil, z]) -> 4 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 4 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 4 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 4 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 4 (le([s(nn1), z])) -> BOT -> 4 (le([z, z])) -> BOT -> 4 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 7 } Sat witness: Found: ((length([ll, _wf])) -> length([cons(x, ll), s(_wf)]), { _wf -> z ; ll -> nil ; x -> a }) ------------------------------------------- Step 9, which took 0.010646 s (model generation: 0.009181, model checking: 0.001465): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522}, Q_f={q_gen_1515}, Delta= { (q_gen_1522, q_gen_1521) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 () -> q_gen_1515 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1517 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> le([z, s(nn2)]) -> 6 () -> length([nil, z]) -> 4 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 4 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 7 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 5 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 5 (le([s(nn1), z])) -> BOT -> 5 (le([z, z])) -> BOT -> 5 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 7 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> cons(b, nil) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 10, which took 0.011395 s (model generation: 0.010409, model checking: 0.000986): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518}, Q_f={q_gen_1512}, Delta= { () -> q_gen_1517 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> le([z, s(nn2)]) -> 7 () -> length([nil, z]) -> 5 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 5 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 7 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 6 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 6 (le([s(nn1), z])) -> BOT -> 6 (le([z, z])) -> BOT -> 6 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 10 } Sat witness: Found: ((length([ll, _wf])) -> length([cons(x, ll), s(_wf)]), { _wf -> s(z) ; ll -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 11, which took 0.011710 s (model generation: 0.010806, model checking: 0.000904): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> le([z, s(nn2)]) -> 7 () -> length([nil, z]) -> 6 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 6 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 10 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 7 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 7 (le([s(nn1), z])) -> BOT -> 7 (le([z, z])) -> BOT -> 7 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 10 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> cons(b, nil) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 12, which took 0.012675 s (model generation: 0.011647, model checking: 0.001028): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 8 () -> le([z, s(nn2)]) -> 8 () -> length([nil, z]) -> 7 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 7 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 10 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 8 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 8 (le([s(nn1), z])) -> BOT -> 8 (le([z, z])) -> BOT -> 8 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 13 } Sat witness: Found: ((length([ll, _wf])) -> length([cons(x, ll), s(_wf)]), { _wf -> s(z) ; ll -> cons(a, nil) ; x -> b }) ------------------------------------------- Step 13, which took 0.014588 s (model generation: 0.012347, model checking: 0.002241): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 9 () -> le([z, s(nn2)]) -> 9 () -> length([nil, z]) -> 8 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 8 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 13 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 9 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 9 (le([s(nn1), z])) -> BOT -> 9 (le([z, z])) -> BOT -> 9 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 13 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> cons(b, nil) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 14, which took 0.013887 s (model generation: 0.012609, model checking: 0.001278): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> le([z, s(nn2)]) -> 10 () -> length([nil, z]) -> 9 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 9 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 13 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 10 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 10 (le([s(nn1), z])) -> BOT -> 10 (le([z, z])) -> BOT -> 10 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 16 } Sat witness: Found: ((length([ll, _wf])) -> length([cons(x, ll), s(_wf)]), { _wf -> s(z) ; ll -> cons(b, nil) ; x -> a }) ------------------------------------------- Step 15, which took 0.015037 s (model generation: 0.012768, model checking: 0.002269): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> le([z, s(nn2)]) -> 11 () -> length([nil, z]) -> 10 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 10 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 16 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 11 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 11 (le([s(nn1), z])) -> BOT -> 11 (le([z, z])) -> BOT -> 11 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 16 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> cons(a, nil) ; h1 -> b ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 16, which took 0.017024 s (model generation: 0.015745, model checking: 0.001279): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 12 () -> le([z, s(nn2)]) -> 12 () -> length([nil, z]) -> 11 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 11 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 16 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 12 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 12 (le([s(nn1), z])) -> BOT -> 12 (le([z, z])) -> BOT -> 12 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 19 } Sat witness: Found: ((length([ll, _wf])) -> length([cons(x, ll), s(_wf)]), { _wf -> s(s(z)) ; ll -> cons(a, nil) ; x -> b }) ------------------------------------------- Step 17, which took 0.019166 s (model generation: 0.017627, model checking: 0.001539): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 (q_gen_1540) -> q_gen_1540 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> le([z, s(nn2)]) -> 13 () -> length([nil, z]) -> 12 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 12 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 19 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 13 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 13 (le([s(nn1), z])) -> BOT -> 13 (le([z, z])) -> BOT -> 13 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 19 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> cons(a, nil) ; h1 -> a ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 18, which took 0.020578 s (model generation: 0.018028, model checking: 0.002550): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { () -> q_gen_1533 () -> q_gen_1534 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 (q_gen_1540) -> q_gen_1540 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 14 () -> le([z, s(nn2)]) -> 14 () -> length([nil, z]) -> 13 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 13 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 22 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 14 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 14 (le([s(nn1), z])) -> BOT -> 14 (le([z, z])) -> BOT -> 14 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 20 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> cons(b, cons(b, nil)) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 19, which took 0.025733 s (model generation: 0.020725, model checking: 0.005008): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { (q_gen_1534, q_gen_1533) -> q_gen_1533 () -> q_gen_1533 () -> q_gen_1534 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 (q_gen_1540) -> q_gen_1540 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 15 () -> le([z, s(nn2)]) -> 15 () -> length([nil, z]) -> 14 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 14 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 25 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 15 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 15 (le([s(nn1), z])) -> BOT -> 15 (le([z, z])) -> BOT -> 15 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 21 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> cons(a, cons(b, nil)) ; h1 -> a ; l2 -> cons(a, cons(b, nil)) ; t1 -> nil }) ------------------------------------------- Step 20, which took 0.029936 s (model generation: 0.024220, model checking: 0.005716): Model: |_ { append -> {{{ Q={q_gen_1515, q_gen_1521, q_gen_1522, q_gen_1533, q_gen_1534, q_gen_1535}, Q_f={q_gen_1515}, Delta= { (q_gen_1534, q_gen_1533) -> q_gen_1533 () -> q_gen_1533 () -> q_gen_1534 () -> q_gen_1534 (q_gen_1522, q_gen_1521) -> q_gen_1521 (q_gen_1534, q_gen_1533) -> q_gen_1521 () -> q_gen_1521 () -> q_gen_1522 () -> q_gen_1522 () -> q_gen_1522 (q_gen_1535, q_gen_1515) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1522, q_gen_1521) -> q_gen_1515 (q_gen_1534, q_gen_1533) -> q_gen_1515 () -> q_gen_1515 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 () -> q_gen_1535 } Datatype: Convolution form: left }}} ; le -> {{{ Q={q_gen_1513, q_gen_1514}, Q_f={q_gen_1513}, Delta= { (q_gen_1514) -> q_gen_1514 () -> q_gen_1514 (q_gen_1513) -> q_gen_1513 (q_gen_1514) -> q_gen_1513 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_1512, q_gen_1517, q_gen_1518, q_gen_1538, q_gen_1540}, Q_f={q_gen_1512}, Delta= { (q_gen_1538, q_gen_1517) -> q_gen_1517 () -> q_gen_1517 () -> q_gen_1538 () -> q_gen_1538 (q_gen_1540) -> q_gen_1540 () -> q_gen_1540 (q_gen_1518, q_gen_1517) -> q_gen_1512 () -> q_gen_1512 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 (q_gen_1540) -> q_gen_1518 () -> q_gen_1518 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> le([z, s(nn2)]) -> 16 () -> length([nil, z]) -> 15 (append([l1, l2, _gg]) /\ le([z, _fg]) /\ length([_gg, _hg]) /\ length([l1, _fg])) -> le([z, _hg]) -> 15 (append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]) -> 28 (le([nn1, nn2])) -> le([s(nn1), s(nn2)]) -> 16 (le([s(nn1), s(nn2)])) -> le([nn1, nn2]) -> 16 (le([s(nn1), z])) -> BOT -> 16 (le([z, z])) -> BOT -> 16 (length([ll, _wf])) -> length([cons(x, ll), s(_wf)]) -> 22 } Sat witness: Found: ((append([t1, l2, _ag])) -> append([cons(h1, t1), l2, cons(h1, _ag)]), { _ag -> cons(b, cons(a, nil)) ; h1 -> b ; l2 -> cons(b, cons(a, nil)) ; t1 -> nil }) Total time: 0.314638 Reason for stopping: Proved