Solving ../../benchmarks/false/plus_le.smt2... Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: right Learning problem is: env: { nat -> {s, z} } definition: { (plus, F: {() -> plus([n, z, n]) (plus([n, mm, _sla])) -> plus([n, s(mm), s(_sla)])} (plus([_tla, _ula, _vla]) /\ plus([_tla, _ula, _wla])) -> eq_nat([_vla, _wla]) ) (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} ) } properties: {(plus([n, m, _xla])) -> le([n, _xla])} over-approximation: {plus} under-approximation: {le} Clause system for inference is: { () -> le([z, s(nn2)]) -> 0 () -> plus([n, z, n]) -> 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 (plus([n, m, _xla])) -> le([n, _xla]) -> 0 (plus([n, mm, _sla])) -> plus([n, s(mm), s(_sla)]) -> 0 } Solving took 0.063447 seconds. Disproved ------------------- STEPS: ------------------------------------------- Step 0, which took 0.010213 s (model generation: 0.009827, model checking: 0.000386): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; plus -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 0 () -> plus([n, z, n]) -> 3 (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 (plus([n, m, _xla])) -> le([n, _xla]) -> 1 (plus([n, mm, _sla])) -> plus([n, s(mm), s(_sla)]) -> 1 } Sat witness: Found: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.010222 s (model generation: 0.010102, model checking: 0.000120): Model: |_ { le -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_6841}, Q_f={q_gen_6841}, Delta= { () -> q_gen_6841 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 () -> plus([n, z, n]) -> 3 (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 (plus([n, m, _xla])) -> le([n, _xla]) -> 1 (plus([n, mm, _sla])) -> plus([n, s(mm), s(_sla)]) -> 1 } Sat witness: Found: (() -> le([z, s(nn2)]), { nn2 -> z }) ------------------------------------------- Step 2, which took 0.010371 s (model generation: 0.010183, model checking: 0.000188): Model: |_ { le -> {{{ Q={q_gen_6842, q_gen_6843}, Q_f={q_gen_6842}, Delta= { () -> q_gen_6843 (q_gen_6843) -> q_gen_6842 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_6841}, Q_f={q_gen_6841}, Delta= { () -> q_gen_6841 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 () -> plus([n, z, n]) -> 3 (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 (plus([n, m, _xla])) -> le([n, _xla]) -> 1 (plus([n, mm, _sla])) -> plus([n, s(mm), s(_sla)]) -> 4 } Sat witness: Found: ((plus([n, mm, _sla])) -> plus([n, s(mm), s(_sla)]), { _sla -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.011284 s (model generation: 0.010584, model checking: 0.000700): Model: |_ { le -> {{{ Q={q_gen_6842, q_gen_6843}, Q_f={q_gen_6842}, Delta= { () -> q_gen_6843 (q_gen_6843) -> q_gen_6842 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_6841, q_gen_6845}, Q_f={q_gen_6841}, Delta= { () -> q_gen_6845 (q_gen_6845) -> q_gen_6841 () -> q_gen_6841 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 () -> plus([n, z, n]) -> 3 (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 (plus([n, m, _xla])) -> le([n, _xla]) -> 4 (plus([n, mm, _sla])) -> plus([n, s(mm), s(_sla)]) -> 4 } Sat witness: Found: ((plus([n, m, _xla])) -> le([n, _xla]), { _xla -> z ; m -> z ; n -> z }) ------------------------------------------- Step 4, which took 0.010627 s (model generation: 0.010600, model checking: 0.000027): Model: |_ { le -> {{{ Q={q_gen_6842, q_gen_6843}, Q_f={q_gen_6842}, Delta= { () -> q_gen_6843 (q_gen_6843) -> q_gen_6842 () -> q_gen_6842 } Datatype: Convolution form: right }}} ; plus -> {{{ Q={q_gen_6841, q_gen_6845}, Q_f={q_gen_6841}, Delta= { () -> q_gen_6845 (q_gen_6845) -> q_gen_6841 () -> q_gen_6841 } Datatype: Convolution form: right }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> le([z, s(nn2)]) -> 3 () -> plus([n, z, n]) -> 3 (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 -> 4 (plus([n, m, _xla])) -> le([n, _xla]) -> 4 (plus([n, mm, _sla])) -> plus([n, s(mm), s(_sla)]) -> 4 } Sat witness: Found: ((le([z, z])) -> BOT, { }) Total time: 0.063447 Reason for stopping: Disproved