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: { (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, _es])) -> length([cons(x, ll), s(_es)])} (length([_fs, _gs]) /\ length([_fs, _hs])) -> eq_nat([_gs, _hs]) ) (append, F: {() -> append([nil, l2, l2]) (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)])} (append([_js, _ks, _ls]) /\ append([_js, _ks, _ms])) -> eq_eltlist([_ls, _ms]) ) } properties: {(append([l1, l2, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps])} 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 0 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 0 } Solving took 0.277456 seconds. Proved Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548, q_gen_3559, q_gen_3560, q_gen_3561}, Q_f={q_gen_3542}, Delta= { (q_gen_3560, q_gen_3559) -> q_gen_3559 () -> q_gen_3559 () -> q_gen_3560 () -> q_gen_3560 (q_gen_3548, q_gen_3547) -> q_gen_3547 (q_gen_3560, q_gen_3559) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3561, q_gen_3542) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3560, q_gen_3559) -> q_gen_3542 () -> q_gen_3542 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.005541 s (model generation: 0.005061, model checking: 0.000480): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; length -> {{{ 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: { () -> append([nil, l2, l2]) -> 0 () -> le([z, s(nn2)]) -> 0 () -> length([nil, z]) -> 3 (append([l1, l2, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 1 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 1 } Sat witness: Found: (() -> length([nil, z]), { }) ------------------------------------------- Step 1, which took 0.004623 s (model generation: 0.004466, model checking: 0.000157): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 1 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 1 } Sat witness: Found: (() -> le([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.005170 s (model generation: 0.004780, model checking: 0.000390): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { () -> q_gen_3541 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 1 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 1 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> nil }) ------------------------------------------- Step 3, which took 0.004995 s (model generation: 0.004725, model checking: 0.000270): Model: |_ { append -> {{{ Q={q_gen_3542}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3542 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { () -> q_gen_3541 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 1 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 4 } Sat witness: Found: ((length([ll, _es])) -> length([cons(x, ll), s(_es)]), { _es -> z ; ll -> nil ; x -> b }) ------------------------------------------- Step 4, which took 0.005627 s (model generation: 0.005513, model checking: 0.000114): Model: |_ { append -> {{{ Q={q_gen_3542}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3542 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { () -> q_gen_3541 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 1 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 4 } Sat witness: Found: ((le([nn1, nn2])) -> le([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> s(z) }) ------------------------------------------- Step 5, which took 0.005545 s (model generation: 0.005316, model checking: 0.000229): Model: |_ { append -> {{{ Q={q_gen_3542}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3542 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 1 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 4 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> nil ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 6, which took 0.008604 s (model generation: 0.008035, model checking: 0.000569): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3547 () -> q_gen_3548 (q_gen_3548, q_gen_3547) -> q_gen_3542 () -> q_gen_3542 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 2 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 4 } Sat witness: Found: (() -> le([z, s(nn2)]), { nn2 -> s(z) }) ------------------------------------------- Step 7, which took 0.009570 s (model generation: 0.009118, model checking: 0.000452): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3547 () -> q_gen_3548 (q_gen_3548, q_gen_3547) -> q_gen_3542 () -> q_gen_3542 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 3 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 4 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 8, which took 0.005068 s (model generation: 0.004921, model checking: 0.000147): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548}, Q_f={q_gen_3542}, Delta= { (q_gen_3548, q_gen_3547) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 () -> q_gen_3542 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 4 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 7 } Sat witness: Found: ((length([ll, _es])) -> length([cons(x, ll), s(_es)]), { _es -> z ; ll -> nil ; x -> a }) ------------------------------------------- Step 9, which took 0.013021 s (model generation: 0.012381, model checking: 0.000640): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548}, Q_f={q_gen_3542}, Delta= { (q_gen_3548, q_gen_3547) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 () -> q_gen_3542 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 4 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 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, _es])) -> length([cons(x, ll), s(_es)]) -> 7 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> cons(b, nil) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 10, which took 0.013035 s (model generation: 0.011933, model checking: 0.001102): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548, q_gen_3559, q_gen_3560, q_gen_3561}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3559 () -> q_gen_3560 (q_gen_3548, q_gen_3547) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3561, q_gen_3542) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3560, q_gen_3559) -> q_gen_3542 () -> q_gen_3542 () -> q_gen_3561 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 5 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 10 (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, _es])) -> length([cons(x, ll), s(_es)]) -> 8 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> cons(b, nil) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 11, which took 0.013207 s (model generation: 0.009657, model checking: 0.003550): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548, q_gen_3559, q_gen_3560, q_gen_3561}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3559 () -> q_gen_3560 (q_gen_3548, q_gen_3547) -> q_gen_3547 (q_gen_3560, q_gen_3559) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3561, q_gen_3542) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3560, q_gen_3559) -> q_gen_3542 () -> q_gen_3542 () -> q_gen_3561 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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]) -> 6 (append([l1, l2, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 6 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 13 (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, _es])) -> length([cons(x, ll), s(_es)]) -> 9 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> cons(b, nil) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 12, which took 0.019151 s (model generation: 0.014934, model checking: 0.004217): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548, q_gen_3559, q_gen_3560, q_gen_3561}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3559 () -> q_gen_3560 (q_gen_3548, q_gen_3547) -> q_gen_3547 (q_gen_3560, q_gen_3559) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3561, q_gen_3542) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3560, q_gen_3559) -> q_gen_3542 () -> q_gen_3542 () -> q_gen_3561 () -> q_gen_3561 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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]) -> 7 (append([l1, l2, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 7 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 16 (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, _es])) -> length([cons(x, ll), s(_es)]) -> 10 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> cons(a, nil) ; h1 -> b ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 13, which took 0.020869 s (model generation: 0.017674, model checking: 0.003195): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548, q_gen_3559, q_gen_3560, q_gen_3561}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3559 () -> q_gen_3560 () -> q_gen_3560 (q_gen_3548, q_gen_3547) -> q_gen_3547 (q_gen_3560, q_gen_3559) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3561, q_gen_3542) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3560, q_gen_3559) -> q_gen_3542 () -> q_gen_3542 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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]) -> 8 (append([l1, l2, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 8 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 19 (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, _es])) -> length([cons(x, ll), s(_es)]) -> 11 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> cons(a, nil) ; h1 -> a ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 14, which took 0.022780 s (model generation: 0.018618, model checking: 0.004162): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548, q_gen_3559, q_gen_3560, q_gen_3561}, Q_f={q_gen_3542}, Delta= { () -> q_gen_3559 () -> q_gen_3560 () -> q_gen_3560 (q_gen_3548, q_gen_3547) -> q_gen_3547 (q_gen_3560, q_gen_3559) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3561, q_gen_3542) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3560, q_gen_3559) -> q_gen_3542 () -> q_gen_3542 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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]) -> 9 (append([l1, l2, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 9 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 22 (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, _es])) -> length([cons(x, ll), s(_es)]) -> 12 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> cons(b, cons(b, nil)) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 15, which took 0.032313 s (model generation: 0.022460, model checking: 0.009853): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548, q_gen_3559, q_gen_3560, q_gen_3561}, Q_f={q_gen_3542}, Delta= { (q_gen_3560, q_gen_3559) -> q_gen_3559 () -> q_gen_3559 () -> q_gen_3560 () -> q_gen_3560 (q_gen_3548, q_gen_3547) -> q_gen_3547 (q_gen_3560, q_gen_3559) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3561, q_gen_3542) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3560, q_gen_3559) -> q_gen_3542 () -> q_gen_3542 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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]) -> 10 (append([l1, l2, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 10 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 25 (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, _es])) -> length([cons(x, ll), s(_es)]) -> 13 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> cons(a, cons(b, nil)) ; h1 -> b ; l2 -> cons(a, cons(b, nil)) ; t1 -> nil }) ------------------------------------------- Step 16, which took 0.038456 s (model generation: 0.027507, model checking: 0.010949): Model: |_ { append -> {{{ Q={q_gen_3542, q_gen_3547, q_gen_3548, q_gen_3559, q_gen_3560, q_gen_3561}, Q_f={q_gen_3542}, Delta= { (q_gen_3560, q_gen_3559) -> q_gen_3559 () -> q_gen_3559 () -> q_gen_3560 () -> q_gen_3560 (q_gen_3548, q_gen_3547) -> q_gen_3547 (q_gen_3560, q_gen_3559) -> q_gen_3547 () -> q_gen_3547 () -> q_gen_3548 () -> q_gen_3548 () -> q_gen_3548 (q_gen_3561, q_gen_3542) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3548, q_gen_3547) -> q_gen_3542 (q_gen_3560, q_gen_3559) -> q_gen_3542 () -> q_gen_3542 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 () -> q_gen_3561 } Datatype: Convolution form: right }}} ; le -> {{{ Q={q_gen_3540, q_gen_3541}, Q_f={q_gen_3540}, Delta= { (q_gen_3541) -> q_gen_3541 () -> q_gen_3541 (q_gen_3540) -> q_gen_3540 (q_gen_3541) -> q_gen_3540 } Datatype: Convolution form: right }}} ; length -> {{{ Q={q_gen_3539, q_gen_3544}, Q_f={q_gen_3539}, Delta= { () -> q_gen_3544 () -> q_gen_3544 (q_gen_3544, q_gen_3539) -> q_gen_3539 () -> q_gen_3539 } Datatype: Convolution form: right }}} } -- 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]) -> 11 (append([l1, l2, _os]) /\ le([z, _ns]) /\ length([_os, _ps]) /\ length([l1, _ns])) -> le([z, _ps]) -> 11 (append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]) -> 28 (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, _es])) -> length([cons(x, ll), s(_es)]) -> 14 } Sat witness: Found: ((append([t1, l2, _is])) -> append([cons(h1, t1), l2, cons(h1, _is)]), { _is -> cons(b, cons(a, nil)) ; h1 -> a ; l2 -> cons(b, cons(a, nil)) ; t1 -> nil }) Total time: 0.277456 Reason for stopping: Proved