Solving ../../benchmarks/false/prefix_count.smt2... 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} ) (prefix, P: {() -> prefix([nil, y]) (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT (prefix([cons(z, zs), nil])) -> BOT} ) (count, F: {() -> count([x, nil, z]) (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia])} (count([_pia, _qia, _ria]) /\ count([_pia, _qia, _sia])) -> eq_nat([_ria, _sia]) ) } properties: {(count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia])} over-approximation: {count, prefix} under-approximation: {leq} Clause system for inference is: { () -> count([x, nil, z]) -> 0 () -> leq([z, s(nn2)]) -> 0 () -> leq([z, z]) -> 0 () -> prefix([nil, y]) -> 0 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 0 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 0 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 0 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 0 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 0 (prefix([cons(z, zs), nil])) -> BOT -> 0 } Solving took 0.243719 seconds. Disproved ------------------- STEPS: ------------------------------------------- Step 0, which took 0.010600 s (model generation: 0.009812, model checking: 0.000788): Model: |_ { count -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; prefix -> {{{ 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: { () -> count([x, nil, z]) -> 0 () -> leq([z, s(nn2)]) -> 0 () -> leq([z, z]) -> 0 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 1 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 1 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 1 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 1 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 1 (prefix([cons(z, zs), nil])) -> BOT -> 1 } Sat witness: Found: (() -> prefix([nil, y]), { y -> nil }) ------------------------------------------- Step 1, which took 0.010199 s (model generation: 0.010110, model checking: 0.000089): Model: |_ { count -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6573 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 0 () -> leq([z, s(nn2)]) -> 0 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 1 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 1 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 1 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 1 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 1 (prefix([cons(z, zs), nil])) -> BOT -> 1 } Sat witness: Found: (() -> leq([z, z]), { }) ------------------------------------------- Step 2, which took 0.010622 s (model generation: 0.010494, model checking: 0.000128): Model: |_ { count -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6574 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6573 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 0 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 1 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 1 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 1 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 1 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 1 (prefix([cons(z, zs), nil])) -> BOT -> 1 } Sat witness: Found: (() -> leq([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 3, which took 0.010656 s (model generation: 0.010457, model checking: 0.000199): Model: |_ { count -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6573 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 1 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 1 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 1 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 1 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 1 (prefix([cons(z, zs), nil])) -> BOT -> 1 } Sat witness: Found: (() -> count([x, nil, z]), { x -> b }) ------------------------------------------- Step 4, which took 0.016581 s (model generation: 0.010556, model checking: 0.006025): Model: |_ { count -> {{{ Q={q_gen_6577}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6577 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6573 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 1 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 1 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 2 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 2 (prefix([cons(z, zs), nil])) -> BOT -> 2 } Sat witness: Found: ((prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]), { y2 -> b ; ys -> nil ; zs -> nil }) ------------------------------------------- Step 5, which took 0.011126 s (model generation: 0.010874, model checking: 0.000252): Model: |_ { count -> {{{ Q={q_gen_6577}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6577 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579}, Q_f={q_gen_6573}, Delta= { (q_gen_6579, q_gen_6573) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 1 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 1 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 2 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 2 (prefix([cons(z, zs), nil])) -> BOT -> 2 } Sat witness: Found: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 6, which took 0.011491 s (model generation: 0.011116, model checking: 0.000375): Model: |_ { count -> {{{ Q={q_gen_6577}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6577 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579}, Q_f={q_gen_6573}, Delta= { (q_gen_6579, q_gen_6573) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 1 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 1 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 2 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 2 (prefix([cons(z, zs), nil])) -> BOT -> 2 } Sat witness: Found: ((count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]), { _oia -> z ; h1 -> a ; t1 -> nil ; x -> b }) ------------------------------------------- Step 7, which took 0.011728 s (model generation: 0.011345, model checking: 0.000383): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579}, Q_f={q_gen_6573}, Delta= { (q_gen_6579, q_gen_6573) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 1 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 4 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 2 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 2 (prefix([cons(z, zs), nil])) -> BOT -> 2 } Sat witness: Found: ((count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]), { _nia -> z ; t1 -> nil ; x -> b }) ------------------------------------------- Step 8, which took 0.014288 s (model generation: 0.013852, model checking: 0.000436): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6583 () -> q_gen_6585 (q_gen_6583, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579}, Q_f={q_gen_6573}, Delta= { (q_gen_6579, q_gen_6573) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 4 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 4 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 2 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 2 (prefix([cons(z, zs), nil])) -> BOT -> 2 } Sat witness: Found: ((count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]), { _tia -> s(z) ; _uia -> z ; l1 -> cons(b, nil) ; l2 -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 9, which took 0.015235 s (model generation: 0.012478, model checking: 0.002757): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6583 () -> q_gen_6585 (q_gen_6583, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579}, Q_f={q_gen_6573}, Delta= { (q_gen_6579, q_gen_6573) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 3 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 4 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 4 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 (leq([s(nn1), z])) -> BOT -> 5 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 3 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 3 (prefix([cons(z, zs), nil])) -> BOT -> 3 } Sat witness: Found: ((leq([s(nn1), z])) -> BOT, { nn1 -> z }) ------------------------------------------- Step 10, which took 0.014924 s (model generation: 0.012455, model checking: 0.002469): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585, q_gen_6586, q_gen_6587}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6586 () -> q_gen_6585 (q_gen_6586, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6582) -> q_gen_6587 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576, q_gen_6588}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 (q_gen_6576) -> q_gen_6588 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579}, Q_f={q_gen_6573}, Delta= { (q_gen_6579, q_gen_6573) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 3 () -> leq([z, z]) -> 3 () -> prefix([nil, y]) -> 6 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 4 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 4 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 (leq([s(nn1), z])) -> BOT -> 5 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 4 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 4 (prefix([cons(z, zs), nil])) -> BOT -> 4 } Sat witness: Found: (() -> prefix([nil, y]), { y -> cons(b, nil) }) ------------------------------------------- Step 11, which took 0.013262 s (model generation: 0.012833, model checking: 0.000429): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585, q_gen_6586, q_gen_6587}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6586 () -> q_gen_6585 (q_gen_6586, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6582) -> q_gen_6587 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576, q_gen_6588}, Q_f={q_gen_6574}, Delta= { () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 (q_gen_6576) -> q_gen_6588 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579, q_gen_6590, q_gen_6591}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6590 () -> q_gen_6591 (q_gen_6579, q_gen_6573) -> q_gen_6573 (q_gen_6591, q_gen_6590) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 3 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> prefix([nil, y]) -> 6 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 4 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 4 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 5 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 4 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 4 (prefix([cons(z, zs), nil])) -> BOT -> 4 } Sat witness: Found: (() -> leq([z, s(nn2)]), { nn2 -> s(z) }) ------------------------------------------- Step 12, which took 0.014323 s (model generation: 0.013961, model checking: 0.000362): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585, q_gen_6586, q_gen_6587}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6586 () -> q_gen_6585 (q_gen_6586, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6582) -> q_gen_6587 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576, q_gen_6588}, Q_f={q_gen_6574}, Delta= { (q_gen_6576) -> q_gen_6576 () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 (q_gen_6576) -> q_gen_6588 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579, q_gen_6590, q_gen_6591}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6590 () -> q_gen_6591 (q_gen_6579, q_gen_6573) -> q_gen_6573 (q_gen_6591, q_gen_6590) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 6 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> prefix([nil, y]) -> 6 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 4 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 4 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 5 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 4 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 4 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 4 (prefix([cons(z, zs), nil])) -> BOT -> 4 } Sat witness: Found: (() -> count([x, nil, z]), { x -> a }) ------------------------------------------- Step 13, which took 0.017893 s (model generation: 0.013460, model checking: 0.004433): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585, q_gen_6586, q_gen_6587}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6586 () -> q_gen_6585 () -> q_gen_6577 (q_gen_6586, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6582) -> q_gen_6587 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576, q_gen_6588}, Q_f={q_gen_6574}, Delta= { (q_gen_6576) -> q_gen_6576 () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 (q_gen_6576) -> q_gen_6588 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579, q_gen_6590, q_gen_6591}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6590 () -> q_gen_6591 (q_gen_6579, q_gen_6573) -> q_gen_6573 (q_gen_6591, q_gen_6590) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 6 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> prefix([nil, y]) -> 6 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 4 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 4 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 4 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 5 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 7 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 5 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 5 (prefix([cons(z, zs), nil])) -> BOT -> 5 } Sat witness: Found: ((prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]), { y2 -> a ; ys -> nil ; zs -> nil }) ------------------------------------------- Step 14, which took 0.015831 s (model generation: 0.014010, model checking: 0.001821): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585, q_gen_6586, q_gen_6587}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6586 () -> q_gen_6585 () -> q_gen_6577 (q_gen_6586, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6582) -> q_gen_6587 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576, q_gen_6588}, Q_f={q_gen_6574}, Delta= { (q_gen_6576) -> q_gen_6576 () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 (q_gen_6576) -> q_gen_6588 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579, q_gen_6590, q_gen_6591}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6590 () -> q_gen_6591 (q_gen_6579, q_gen_6573) -> q_gen_6573 (q_gen_6591, q_gen_6590) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 6 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> prefix([nil, y]) -> 6 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 4 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 4 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 7 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 5 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 5 (prefix([cons(z, zs), nil])) -> BOT -> 5 } Sat witness: Found: ((count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]), { _oia -> z ; h1 -> b ; t1 -> nil ; x -> a }) ------------------------------------------- Step 15, which took 0.015946 s (model generation: 0.014443, model checking: 0.001503): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585, q_gen_6586, q_gen_6587}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6586 () -> q_gen_6585 (q_gen_6586, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6582) -> q_gen_6587 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576, q_gen_6588}, Q_f={q_gen_6574}, Delta= { (q_gen_6576) -> q_gen_6576 () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 (q_gen_6576) -> q_gen_6588 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579, q_gen_6590, q_gen_6591}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6590 () -> q_gen_6591 (q_gen_6579, q_gen_6573) -> q_gen_6573 (q_gen_6591, q_gen_6590) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 6 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> prefix([nil, y]) -> 6 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 4 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 7 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 7 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 5 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 5 (prefix([cons(z, zs), nil])) -> BOT -> 5 } Sat witness: Found: ((count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]), { _nia -> z ; t1 -> nil ; x -> a }) ------------------------------------------- Step 16, which took 0.015030 s (model generation: 0.014591, model checking: 0.000439): Model: |_ { count -> {{{ Q={q_gen_6577, q_gen_6582, q_gen_6583, q_gen_6585, q_gen_6586, q_gen_6587}, Q_f={q_gen_6577}, Delta= { () -> q_gen_6582 () -> q_gen_6583 () -> q_gen_6586 () -> q_gen_6585 (q_gen_6583, q_gen_6585) -> q_gen_6577 (q_gen_6586, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6585) -> q_gen_6577 (q_gen_6583, q_gen_6582) -> q_gen_6577 () -> q_gen_6577 (q_gen_6586, q_gen_6582) -> q_gen_6587 } Datatype: Convolution form: right }}} ; leq -> {{{ Q={q_gen_6574, q_gen_6576, q_gen_6588}, Q_f={q_gen_6574}, Delta= { (q_gen_6576) -> q_gen_6576 () -> q_gen_6576 (q_gen_6574) -> q_gen_6574 (q_gen_6576) -> q_gen_6574 () -> q_gen_6574 (q_gen_6576) -> q_gen_6588 } Datatype: Convolution form: right }}} ; prefix -> {{{ Q={q_gen_6573, q_gen_6579, q_gen_6590, q_gen_6591}, Q_f={q_gen_6573}, Delta= { () -> q_gen_6590 () -> q_gen_6591 (q_gen_6579, q_gen_6573) -> q_gen_6573 (q_gen_6591, q_gen_6590) -> q_gen_6573 () -> q_gen_6573 () -> q_gen_6579 () -> q_gen_6579 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> count([x, nil, z]) -> 6 () -> leq([z, s(nn2)]) -> 6 () -> leq([z, z]) -> 4 () -> prefix([nil, y]) -> 6 (count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]) -> 7 (count([x, t1, _nia])) -> count([x, cons(x, t1), s(_nia)]) -> 7 (count([x, t1, _oia]) /\ not eq_elt([h1, x])) -> count([x, cons(h1, t1), _oia]) -> 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 (prefix([zs, ys])) -> prefix([cons(y2, zs), cons(y2, ys)]) -> 7 (prefix([cons(y2, zs), cons(y2, ys)])) -> prefix([zs, ys]) -> 5 (prefix([cons(z, zs), cons(y2, ys)]) /\ not eq_elt([z, y2])) -> BOT -> 5 (prefix([cons(z, zs), nil])) -> BOT -> 5 } Sat witness: Found: ((count([x, l1, _uia]) /\ count([x, l2, _tia]) /\ prefix([l1, l2])) -> leq([_tia, _uia]), { _tia -> s(z) ; _uia -> z ; l1 -> nil ; l2 -> cons(b, nil) ; x -> b }) Total time: 0.243719 Reason for stopping: Disproved