Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { nat -> {s, z} } definition: { (plus, F: {() -> plus([n, z, n]) (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)])} (plus([_fea, _gea, _hea]) /\ plus([_fea, _gea, _iea])) -> eq_nat([_hea, _iea]) ) (leq, P: {() -> leq([z, n2]) (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) (leq([s(nn1), z])) -> BOT} ) } properties: {(plus([n, m, _jea])) -> leq([n, _jea])} over-approximation: {plus} under-approximation: {leq} Clause system for inference is: { () -> leq([z, n2]) -> 0 () -> plus([n, z, n]) -> 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 (plus([n, m, _jea])) -> leq([n, _jea]) -> 0 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 0 } Solving took 1.134633 seconds. Proved Model: |_ { leq -> {{{ Q={q_gen_8228, q_gen_8232}, Q_f={q_gen_8228}, Delta= { (q_gen_8232) -> q_gen_8232 () -> q_gen_8232 (q_gen_8228) -> q_gen_8228 (q_gen_8232) -> q_gen_8228 () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227, q_gen_8230, q_gen_8241}, Q_f={q_gen_8227}, Delta= { (q_gen_8241) -> q_gen_8241 () -> q_gen_8241 (q_gen_8230) -> q_gen_8230 (q_gen_8241) -> q_gen_8230 () -> q_gen_8230 (q_gen_8227) -> q_gen_8227 (q_gen_8230) -> q_gen_8227 (q_gen_8230) -> q_gen_8227 (q_gen_8241) -> q_gen_8227 () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.101803 s (model generation: 0.099360, model checking: 0.002443): Model: |_ { leq -> {{{ 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: { () -> leq([z, n2]) -> 0 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (plus([n, m, _jea])) -> leq([n, _jea]) -> 1 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 1 } Sat witness: Found: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.096722 s (model generation: 0.096287, model checking: 0.000435): Model: |_ { leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227}, Q_f={q_gen_8227}, Delta= { () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (plus([n, m, _jea])) -> leq([n, _jea]) -> 1 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 1 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> z }) ------------------------------------------- Step 2, which took 0.090023 s (model generation: 0.088661, model checking: 0.001362): Model: |_ { leq -> {{{ Q={q_gen_8228}, Q_f={q_gen_8228}, Delta= { () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227}, Q_f={q_gen_8227}, Delta= { () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (plus([n, m, _jea])) -> leq([n, _jea]) -> 1 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 4 } Sat witness: Found: ((plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]), { _eea -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 3, which took 0.088124 s (model generation: 0.087512, model checking: 0.000612): Model: |_ { leq -> {{{ Q={q_gen_8228}, Q_f={q_gen_8228}, Delta= { () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227, q_gen_8230}, Q_f={q_gen_8227}, Delta= { () -> q_gen_8230 (q_gen_8230) -> q_gen_8227 () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 1 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 1 (leq([s(nn1), z])) -> BOT -> 1 (plus([n, m, _jea])) -> leq([n, _jea]) -> 4 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 4 } Sat witness: Found: ((plus([n, m, _jea])) -> leq([n, _jea]), { _jea -> s(z) ; m -> s(z) ; n -> z }) ------------------------------------------- Step 4, which took 0.085154 s (model generation: 0.084082, model checking: 0.001072): Model: |_ { leq -> {{{ Q={q_gen_8228, q_gen_8232}, Q_f={q_gen_8228}, Delta= { () -> q_gen_8232 (q_gen_8232) -> q_gen_8228 () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227, q_gen_8230}, Q_f={q_gen_8227}, Delta= { () -> q_gen_8230 (q_gen_8230) -> q_gen_8227 () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 3 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 2 (leq([s(nn1), z])) -> BOT -> 2 (plus([n, m, _jea])) -> leq([n, _jea]) -> 4 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 4 } Sat witness: Found: ((leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 5, which took 0.097061 s (model generation: 0.091080, model checking: 0.005981): Model: |_ { leq -> {{{ Q={q_gen_8228, q_gen_8232}, Q_f={q_gen_8228}, Delta= { () -> q_gen_8232 (q_gen_8228) -> q_gen_8228 (q_gen_8232) -> q_gen_8228 () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227, q_gen_8230}, Q_f={q_gen_8227}, Delta= { () -> q_gen_8230 (q_gen_8230) -> q_gen_8227 () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 3 () -> plus([n, z, n]) -> 6 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 3 (leq([s(nn1), z])) -> BOT -> 3 (plus([n, m, _jea])) -> leq([n, _jea]) -> 4 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 4 } Sat witness: Found: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 6, which took 0.166092 s (model generation: 0.164719, model checking: 0.001373): Model: |_ { leq -> {{{ Q={q_gen_8228, q_gen_8232}, Q_f={q_gen_8228}, Delta= { () -> q_gen_8232 (q_gen_8228) -> q_gen_8228 (q_gen_8232) -> q_gen_8228 () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227, q_gen_8230}, Q_f={q_gen_8227}, Delta= { (q_gen_8230) -> q_gen_8230 () -> q_gen_8230 (q_gen_8230) -> q_gen_8227 (q_gen_8230) -> q_gen_8227 () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 () -> plus([n, z, n]) -> 6 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 4 (plus([n, m, _jea])) -> leq([n, _jea]) -> 4 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 4 } Sat witness: Found: (() -> leq([z, n2]), { n2 -> s(s(z)) }) ------------------------------------------- Step 7, which took 0.087114 s (model generation: 0.085406, model checking: 0.001708): Model: |_ { leq -> {{{ Q={q_gen_8228, q_gen_8232}, Q_f={q_gen_8228}, Delta= { (q_gen_8232) -> q_gen_8232 () -> q_gen_8232 (q_gen_8228) -> q_gen_8228 (q_gen_8232) -> q_gen_8228 () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227, q_gen_8230}, Q_f={q_gen_8227}, Delta= { (q_gen_8230) -> q_gen_8230 () -> q_gen_8230 (q_gen_8230) -> q_gen_8227 (q_gen_8230) -> q_gen_8227 () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 6 () -> plus([n, z, n]) -> 6 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 4 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 4 (leq([s(nn1), z])) -> BOT -> 4 (plus([n, m, _jea])) -> leq([n, _jea]) -> 4 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 7 } Sat witness: Found: ((plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]), { _eea -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 8, which took 0.098382 s (model generation: 0.091977, model checking: 0.006405): Model: |_ { leq -> {{{ Q={q_gen_8228, q_gen_8232}, Q_f={q_gen_8228}, Delta= { (q_gen_8232) -> q_gen_8232 () -> q_gen_8232 (q_gen_8228) -> q_gen_8228 (q_gen_8232) -> q_gen_8228 () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227, q_gen_8230, q_gen_8241}, Q_f={q_gen_8227}, Delta= { () -> q_gen_8241 (q_gen_8230) -> q_gen_8230 () -> q_gen_8230 (q_gen_8227) -> q_gen_8227 (q_gen_8230) -> q_gen_8227 (q_gen_8230) -> q_gen_8227 (q_gen_8241) -> q_gen_8227 () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 7 () -> plus([n, z, n]) -> 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 (plus([n, m, _jea])) -> leq([n, _jea]) -> 5 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 10 } Sat witness: Found: ((plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]), { _eea -> s(z) ; mm -> z ; n -> z }) ------------------------------------------- Step 9, which took 0.100523 s (model generation: 0.095204, model checking: 0.005319): Model: |_ { leq -> {{{ Q={q_gen_8228, q_gen_8232}, Q_f={q_gen_8228}, Delta= { (q_gen_8232) -> q_gen_8232 () -> q_gen_8232 (q_gen_8228) -> q_gen_8228 (q_gen_8232) -> q_gen_8228 () -> q_gen_8228 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_8227, q_gen_8230, q_gen_8241}, Q_f={q_gen_8227}, Delta= { () -> q_gen_8241 (q_gen_8230) -> q_gen_8230 (q_gen_8241) -> q_gen_8230 () -> q_gen_8230 (q_gen_8227) -> q_gen_8227 (q_gen_8230) -> q_gen_8227 (q_gen_8230) -> q_gen_8227 (q_gen_8241) -> q_gen_8227 () -> q_gen_8227 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_nat} _| Teacher's answer: New clause system: { () -> leq([z, n2]) -> 8 () -> plus([n, z, n]) -> 8 (leq([nn1, nn2])) -> leq([s(nn1), s(nn2)]) -> 6 (leq([s(nn1), s(nn2)])) -> leq([nn1, nn2]) -> 6 (leq([s(nn1), z])) -> BOT -> 6 (plus([n, m, _jea])) -> leq([n, _jea]) -> 6 (plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]) -> 13 } Sat witness: Found: ((plus([n, mm, _eea])) -> plus([n, s(mm), s(_eea)]), { _eea -> s(s(z)) ; mm -> z ; n -> s(z) }) Total time: 1.134633 Reason for stopping: Proved