Solving ../../benchmarks/false/plus_odd_odd.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { nat -> {s, z} } definition: { (is_odd, P: {() -> is_odd([s(z)]) (is_odd([n3])) -> is_odd([s(s(n3))]) (is_odd([s(s(n3))])) -> is_odd([n3]) (is_odd([z])) -> BOT} ) (plus, F: {() -> plus([n, z, n]) (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)])} (plus([_rla, _sla, _tla]) /\ plus([_rla, _sla, _ula])) -> eq_nat([_tla, _ula]) ) } properties: {(is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla])} over-approximation: {plus} under-approximation: {} Clause system for inference is: { () -> is_odd([s(z)]) -> 0 () -> plus([n, z, n]) -> 0 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 0 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 0 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 0 (is_odd([z])) -> BOT -> 0 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 0 } Solving took 0.218514 seconds. Disproved ------------------- STEPS: ------------------------------------------- Step 0, which took 0.016168 s (model generation: 0.015848, model checking: 0.000320): Model: |_ { is_odd -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; plus -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 0 () -> plus([n, z, n]) -> 3 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 1 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 1 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 1 (is_odd([z])) -> BOT -> 1 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 1 } Sat witness: Found: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.016238 s (model generation: 0.016171, model checking: 0.000067): Model: |_ { is_odd -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027}, Q_f={q_gen_9027}, Delta= { () -> q_gen_9027 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 3 () -> plus([n, z, n]) -> 3 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 1 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 1 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 1 (is_odd([z])) -> BOT -> 1 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 1 } Sat witness: Found: (() -> is_odd([s(z)]), { }) ------------------------------------------- Step 2, which took 0.017306 s (model generation: 0.017098, model checking: 0.000208): Model: |_ { is_odd -> {{{ Q={q_gen_9028}, Q_f={q_gen_9028}, Delta= { (q_gen_9028) -> q_gen_9028 () -> q_gen_9028 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027}, Q_f={q_gen_9027}, Delta= { () -> q_gen_9027 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 3 () -> plus([n, z, n]) -> 3 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 1 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 1 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 1 (is_odd([z])) -> BOT -> 1 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 4 } Sat witness: Found: ((plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]), { _qla -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.017580 s (model generation: 0.017546, model checking: 0.000034): Model: |_ { is_odd -> {{{ Q={q_gen_9028}, Q_f={q_gen_9028}, Delta= { (q_gen_9028) -> q_gen_9028 () -> q_gen_9028 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027, q_gen_9031}, Q_f={q_gen_9027}, Delta= { () -> q_gen_9031 (q_gen_9031) -> q_gen_9027 () -> q_gen_9027 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 3 () -> plus([n, z, n]) -> 3 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 1 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 1 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 1 (is_odd([z])) -> BOT -> 4 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 4 } Sat witness: Found: ((is_odd([z])) -> BOT, { }) ------------------------------------------- Step 4, which took 0.019382 s (model generation: 0.019056, model checking: 0.000326): Model: |_ { is_odd -> {{{ Q={q_gen_9028, q_gen_9029}, Q_f={q_gen_9028}, Delta= { (q_gen_9029) -> q_gen_9028 () -> q_gen_9029 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027, q_gen_9031}, Q_f={q_gen_9027}, Delta= { () -> q_gen_9031 (q_gen_9031) -> q_gen_9027 () -> q_gen_9027 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 3 () -> plus([n, z, n]) -> 3 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 4 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 2 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 2 (is_odd([z])) -> BOT -> 4 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 4 } Sat witness: Found: ((is_odd([n3])) -> is_odd([s(s(n3))]), { n3 -> s(z) }) ------------------------------------------- Step 5, which took 0.021411 s (model generation: 0.020674, model checking: 0.000737): Model: |_ { is_odd -> {{{ Q={q_gen_9028, q_gen_9029}, Q_f={q_gen_9028}, Delta= { (q_gen_9029) -> q_gen_9028 (q_gen_9028) -> q_gen_9029 () -> q_gen_9029 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027, q_gen_9031}, Q_f={q_gen_9027}, Delta= { () -> q_gen_9031 (q_gen_9031) -> q_gen_9027 () -> q_gen_9027 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 3 () -> plus([n, z, n]) -> 6 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 4 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 3 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 3 (is_odd([z])) -> BOT -> 4 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 4 } Sat witness: Found: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 6, which took 0.021997 s (model generation: 0.021504, model checking: 0.000493): Model: |_ { is_odd -> {{{ Q={q_gen_9028, q_gen_9029}, Q_f={q_gen_9028}, Delta= { (q_gen_9029) -> q_gen_9028 (q_gen_9028) -> q_gen_9029 () -> q_gen_9029 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027, q_gen_9031}, Q_f={q_gen_9027}, Delta= { (q_gen_9031) -> q_gen_9031 () -> q_gen_9031 (q_gen_9031) -> q_gen_9027 (q_gen_9031) -> q_gen_9027 () -> q_gen_9027 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 4 () -> plus([n, z, n]) -> 6 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 4 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 4 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 4 (is_odd([z])) -> BOT -> 4 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 7 } Sat witness: Found: ((plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]), { _qla -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 7, which took 0.024018 s (model generation: 0.023704, model checking: 0.000314): Model: |_ { is_odd -> {{{ Q={q_gen_9028, q_gen_9029}, Q_f={q_gen_9028}, Delta= { (q_gen_9029) -> q_gen_9028 (q_gen_9028) -> q_gen_9029 () -> q_gen_9029 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027, q_gen_9031, q_gen_9039}, Q_f={q_gen_9027}, Delta= { () -> q_gen_9039 (q_gen_9031) -> q_gen_9031 () -> q_gen_9031 (q_gen_9027) -> q_gen_9027 (q_gen_9031) -> q_gen_9027 (q_gen_9031) -> q_gen_9027 (q_gen_9039) -> q_gen_9027 () -> q_gen_9027 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 4 () -> plus([n, z, n]) -> 6 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 4 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 7 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 5 (is_odd([z])) -> BOT -> 5 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 7 } Sat witness: Found: ((is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]), { _vla -> s(s(z)) ; x -> s(z) ; y -> s(z) }) ------------------------------------------- Step 8, which took 0.022102 s (model generation: 0.021945, model checking: 0.000157): Model: |_ { is_odd -> {{{ Q={q_gen_9028, q_gen_9029}, Q_f={q_gen_9028}, Delta= { (q_gen_9028) -> q_gen_9028 (q_gen_9029) -> q_gen_9028 () -> q_gen_9029 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027, q_gen_9031, q_gen_9039}, Q_f={q_gen_9027}, Delta= { () -> q_gen_9039 (q_gen_9031) -> q_gen_9031 () -> q_gen_9031 (q_gen_9027) -> q_gen_9027 (q_gen_9031) -> q_gen_9027 (q_gen_9031) -> q_gen_9027 (q_gen_9039) -> q_gen_9027 () -> q_gen_9027 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 5 () -> plus([n, z, n]) -> 6 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 5 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 7 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 8 (is_odd([z])) -> BOT -> 6 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 7 } Sat witness: Found: ((is_odd([s(s(n3))])) -> is_odd([n3]), { n3 -> z }) ------------------------------------------- Step 9, which took 0.021765 s (model generation: 0.021373, model checking: 0.000392): Model: |_ { is_odd -> {{{ Q={q_gen_9028, q_gen_9029}, Q_f={q_gen_9028}, Delta= { (q_gen_9029) -> q_gen_9028 (q_gen_9028) -> q_gen_9029 () -> q_gen_9029 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_9027, q_gen_9031, q_gen_9035, q_gen_9036, q_gen_9039}, Q_f={q_gen_9027}, Delta= { () -> q_gen_9039 () -> q_gen_9031 (q_gen_9031) -> q_gen_9035 (q_gen_9035) -> q_gen_9027 (q_gen_9031) -> q_gen_9027 () -> q_gen_9027 (q_gen_9036) -> q_gen_9036 (q_gen_9031) -> q_gen_9036 (q_gen_9039) -> q_gen_9036 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> is_odd([s(z)]) -> 6 () -> plus([n, z, n]) -> 9 (is_odd([n3])) -> is_odd([s(s(n3))]) -> 6 (is_odd([x]) /\ is_odd([y]) /\ plus([x, y, _vla])) -> is_odd([_vla]) -> 7 (is_odd([s(s(n3))])) -> is_odd([n3]) -> 8 (is_odd([z])) -> BOT -> 7 (plus([n, mm, _qla])) -> plus([n, s(mm), s(_qla)]) -> 7 } Sat witness: Found: (() -> plus([n, z, n]), { n -> s(z) }) Total time: 0.218514 Reason for stopping: Disproved