Solving ../../benchmarks/false/reverse_not_null.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { nat -> {s, z} ; natlist -> {cons, nil} } definition: { (append, F: {() -> append([nil, l2, l2]) (append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)])} (append([_sia, _tia, _uia]) /\ append([_sia, _tia, _via])) -> eq_natlist([_uia, _via]) ) (reverse, F: {() -> reverse([nil, nil]) (append([_wia, cons(h1, nil), _xia]) /\ reverse([t1, _wia])) -> reverse([cons(h1, t1), _xia])} (reverse([_yia, _aja]) /\ reverse([_yia, _zia])) -> eq_natlist([_zia, _aja]) ) (not_null, P: {() -> not_null([cons(x, ll)]) (not_null([nil])) -> BOT} ) } properties: {(reverse([l1, _bja])) -> not_null([_bja])} over-approximation: {append, reverse} under-approximation: {not_null} Clause system for inference is: { () -> append([nil, l2, l2]) -> 0 () -> not_null([cons(x, ll)]) -> 0 () -> reverse([nil, nil]) -> 0 (append([_wia, cons(h1, nil), _xia]) /\ reverse([t1, _wia])) -> reverse([cons(h1, t1), _xia]) -> 0 (append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)]) -> 0 (not_null([nil])) -> BOT -> 0 (reverse([l1, _bja])) -> not_null([_bja]) -> 0 } Solving took 0.129427 seconds. Disproved ------------------- STEPS: ------------------------------------------- Step 0, which took 0.017231 s (model generation: 0.016653, model checking: 0.000578): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> not_null([cons(x, ll)]) -> 0 () -> reverse([nil, nil]) -> 3 (append([_wia, cons(h1, nil), _xia]) /\ reverse([t1, _wia])) -> reverse([cons(h1, t1), _xia]) -> 1 (append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)]) -> 1 (not_null([nil])) -> BOT -> 1 (reverse([l1, _bja])) -> not_null([_bja]) -> 1 } Sat witness: Found: (() -> reverse([nil, nil]), { }) ------------------------------------------- Step 1, which took 0.017151 s (model generation: 0.016993, model checking: 0.000158): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_8906}, Q_f={q_gen_8906}, Delta= { () -> q_gen_8906 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> not_null([cons(x, ll)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_wia, cons(h1, nil), _xia]) /\ reverse([t1, _wia])) -> reverse([cons(h1, t1), _xia]) -> 1 (append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)]) -> 1 (not_null([nil])) -> BOT -> 1 (reverse([l1, _bja])) -> not_null([_bja]) -> 1 } Sat witness: Found: (() -> not_null([cons(x, ll)]), { ll -> nil ; x -> z }) ------------------------------------------- Step 2, which took 0.017531 s (model generation: 0.017214, model checking: 0.000317): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={q_gen_8907, q_gen_8909}, Q_f={q_gen_8907}, Delta= { (q_gen_8909, q_gen_8907) -> q_gen_8907 () -> q_gen_8907 () -> q_gen_8909 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_8906}, Q_f={q_gen_8906}, Delta= { () -> q_gen_8906 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> not_null([cons(x, ll)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_wia, cons(h1, nil), _xia]) /\ reverse([t1, _wia])) -> reverse([cons(h1, t1), _xia]) -> 1 (append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)]) -> 1 (not_null([nil])) -> BOT -> 1 (reverse([l1, _bja])) -> not_null([_bja]) -> 1 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> nil }) ------------------------------------------- Step 3, which took 0.022336 s (model generation: 0.017805, model checking: 0.004531): Model: |_ { append -> {{{ Q={q_gen_8910}, Q_f={q_gen_8910}, Delta= { () -> q_gen_8910 } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={q_gen_8907, q_gen_8909}, Q_f={q_gen_8907}, Delta= { (q_gen_8909, q_gen_8907) -> q_gen_8907 () -> q_gen_8907 () -> q_gen_8909 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_8906}, Q_f={q_gen_8906}, Delta= { () -> q_gen_8906 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> not_null([cons(x, ll)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_wia, cons(h1, nil), _xia]) /\ reverse([t1, _wia])) -> reverse([cons(h1, t1), _xia]) -> 1 (append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)]) -> 1 (not_null([nil])) -> BOT -> 4 (reverse([l1, _bja])) -> not_null([_bja]) -> 2 } Sat witness: Found: ((not_null([nil])) -> BOT, { }) ------------------------------------------- Step 4, which took 0.018109 s (model generation: 0.017640, model checking: 0.000469): Model: |_ { append -> {{{ Q={q_gen_8910}, Q_f={q_gen_8910}, Delta= { () -> q_gen_8910 } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={q_gen_8907, q_gen_8908, q_gen_8909}, Q_f={q_gen_8907}, Delta= { (q_gen_8909, q_gen_8908) -> q_gen_8907 () -> q_gen_8908 () -> q_gen_8909 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_8906}, Q_f={q_gen_8906}, Delta= { () -> q_gen_8906 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> not_null([cons(x, ll)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_wia, cons(h1, nil), _xia]) /\ reverse([t1, _wia])) -> reverse([cons(h1, t1), _xia]) -> 1 (append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)]) -> 4 (not_null([nil])) -> BOT -> 4 (reverse([l1, _bja])) -> not_null([_bja]) -> 2 } Sat witness: Found: ((append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)]), { _ria -> nil ; h1 -> z ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 5, which took 0.018694 s (model generation: 0.018406, model checking: 0.000288): Model: |_ { append -> {{{ Q={q_gen_8910, q_gen_8912, q_gen_8913}, Q_f={q_gen_8910}, Delta= { () -> q_gen_8912 () -> q_gen_8913 (q_gen_8913, q_gen_8912) -> q_gen_8910 () -> q_gen_8910 } Datatype: Convolution form: left }}} ; not_null -> {{{ Q={q_gen_8907, q_gen_8908, q_gen_8909}, Q_f={q_gen_8907}, Delta= { (q_gen_8909, q_gen_8908) -> q_gen_8907 () -> q_gen_8908 () -> q_gen_8909 } Datatype: Convolution form: left }}} ; reverse -> {{{ Q={q_gen_8906}, Q_f={q_gen_8906}, Delta= { () -> q_gen_8906 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat, eq_natlist} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> not_null([cons(x, ll)]) -> 3 () -> reverse([nil, nil]) -> 3 (append([_wia, cons(h1, nil), _xia]) /\ reverse([t1, _wia])) -> reverse([cons(h1, t1), _xia]) -> 2 (append([t1, l2, _ria])) -> append([cons(h1, t1), l2, cons(h1, _ria)]) -> 4 (not_null([nil])) -> BOT -> 4 (reverse([l1, _bja])) -> not_null([_bja]) -> 5 } Sat witness: Found: ((reverse([l1, _bja])) -> not_null([_bja]), { _bja -> nil ; l1 -> nil }) Total time: 0.129427 Reason for stopping: Disproved