Inference procedure has parameters: Ice fuel: 200 Timeout: 60s Convolution: left Learning problem is: env: { elt -> {a, b} ; eltlist -> {cons, nil} ; nat -> {s, z} } definition: { (leq, P: {() -> leq([a, n2]) () -> leq([b, b]) (leq([b, a])) -> BOT} ) (leqnat, P: {() -> leqnat([z, n2]) (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) (leqnat([s(nn1), z])) -> BOT} ) (merge, F: {() -> merge([cons(z, xs), nil, cons(z, xs)]) () -> merge([nil, y, y]) (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)])} (merge([_o, _p, _q]) /\ merge([_o, _p, _r])) -> eq_eltlist([_q, _r]) ) (append, F: {() -> append([nil, l2, l2]) (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)])} (append([_t, _u, _v]) /\ append([_t, _u, _w])) -> eq_eltlist([_v, _w]) ) (plus, F: {() -> plus([n, z, n]) (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)])} (plus([_y, _z, _aa]) /\ plus([_y, _z, _ba])) -> eq_nat([_aa, _ba]) ) (length, F: {() -> length([nil, z]) (length([ll, _ca])) -> length([cons(x, ll), s(_ca)])} (length([_da, _ea]) /\ length([_da, _fa])) -> eq_nat([_ea, _fa]) ) } properties: {(length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la])} over-approximation: {append, length, merge, plus} under-approximation: {append, leqnat, plus} Clause system for inference is: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([a, n2]) -> 0 () -> leq([b, b]) -> 0 () -> leqnat([z, n2]) -> 0 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 0 () -> merge([nil, y, y]) -> 0 () -> plus([n, z, n]) -> 0 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 0 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 0 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 0 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 0 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 0 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 0 (leq([b, a])) -> BOT -> 0 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 0 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 0 (leqnat([s(nn1), z])) -> BOT -> 0 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 0 } Solving took 66.606941 seconds. DontKnow. Stopped because: timeout Working model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_111, q_gen_124, q_gen_125, q_gen_126, q_gen_127, q_gen_128, q_gen_129, q_gen_147, q_gen_148, q_gen_161, q_gen_162, q_gen_163, q_gen_185, q_gen_186, q_gen_187, q_gen_188, q_gen_189, q_gen_207, q_gen_208, q_gen_209, q_gen_221, q_gen_222, q_gen_223, q_gen_224, q_gen_235, q_gen_236, q_gen_237, q_gen_238, q_gen_239, q_gen_250, q_gen_251, q_gen_252, q_gen_253, q_gen_254, q_gen_78, q_gen_98, q_gen_99}, Q_f={}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_188 (q_gen_128, q_gen_127) -> q_gen_224 () -> q_gen_100 (q_gen_111, q_gen_99) -> q_gen_110 () -> q_gen_111 (q_gen_128, q_gen_127) -> q_gen_148 (q_gen_100, q_gen_99) -> q_gen_236 () -> q_gen_239 (q_gen_188, q_gen_127) -> q_gen_253 () -> q_gen_254 () -> q_gen_99 (q_gen_111, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_99) -> q_gen_124 (q_gen_129, q_gen_126) -> q_gen_125 (q_gen_128, q_gen_127) -> q_gen_126 () -> q_gen_129 (q_gen_100, q_gen_148) -> q_gen_147 (q_gen_129, q_gen_78) -> q_gen_161 (q_gen_163, q_gen_98) -> q_gen_162 () -> q_gen_163 (q_gen_111, q_gen_99) -> q_gen_185 (q_gen_189, q_gen_187) -> q_gen_186 (q_gen_188, q_gen_127) -> q_gen_187 () -> q_gen_189 (q_gen_189, q_gen_78) -> q_gen_207 (q_gen_209, q_gen_98) -> q_gen_208 () -> q_gen_209 (q_gen_100, q_gen_148) -> q_gen_221 (q_gen_163, q_gen_223) -> q_gen_222 (q_gen_128, q_gen_224) -> q_gen_223 (q_gen_111, q_gen_236) -> q_gen_235 (q_gen_189, q_gen_238) -> q_gen_237 (q_gen_239, q_gen_148) -> q_gen_238 (q_gen_100, q_gen_110) -> q_gen_250 (q_gen_163, q_gen_252) -> q_gen_251 (q_gen_254, q_gen_253) -> q_gen_252 () -> q_gen_78 (q_gen_100, q_gen_99) -> q_gen_98 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_138, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_149, q_gen_159, q_gen_160, q_gen_174, q_gen_175, q_gen_176, q_gen_177, q_gen_178, q_gen_179, q_gen_180, q_gen_181, q_gen_190, q_gen_204, q_gen_205, q_gen_211, q_gen_212, q_gen_213, q_gen_214, q_gen_215, q_gen_230, q_gen_233, q_gen_240, q_gen_241, q_gen_242, q_gen_248, q_gen_249, q_gen_255, q_gen_262, q_gen_265, q_gen_266, q_gen_77, q_gen_93, q_gen_94, q_gen_95}, Q_f={}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_176, q_gen_139) -> q_gen_175 () -> q_gen_176 (q_gen_142) -> q_gen_178 (q_gen_140, q_gen_139) -> q_gen_180 (q_gen_140, q_gen_175) -> q_gen_212 (q_gen_178) -> q_gen_214 (q_gen_140, q_gen_180) -> q_gen_241 (q_gen_140, q_gen_241) -> q_gen_266 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 () -> q_gen_123 (q_gen_141, q_gen_139) -> q_gen_138 (q_gen_142) -> q_gen_141 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_95, q_gen_139) -> q_gen_149 (q_gen_160, q_gen_139) -> q_gen_159 (q_gen_142) -> q_gen_160 (q_gen_177, q_gen_175) -> q_gen_174 (q_gen_178) -> q_gen_177 (q_gen_141, q_gen_180) -> q_gen_179 (q_gen_177, q_gen_139) -> q_gen_181 (q_gen_177, q_gen_94) -> q_gen_190 (q_gen_205, q_gen_180) -> q_gen_204 (q_gen_178) -> q_gen_205 (q_gen_213, q_gen_212) -> q_gen_211 (q_gen_214) -> q_gen_213 (q_gen_213, q_gen_180) -> q_gen_215 (q_gen_177, q_gen_180) -> q_gen_230 (q_gen_95, q_gen_180) -> q_gen_233 (q_gen_141, q_gen_241) -> q_gen_240 (q_gen_213, q_gen_139) -> q_gen_242 (q_gen_177, q_gen_241) -> q_gen_248 (q_gen_205, q_gen_94) -> q_gen_249 (q_gen_95, q_gen_241) -> q_gen_255 (q_gen_205, q_gen_139) -> q_gen_262 (q_gen_95, q_gen_266) -> q_gen_265 () -> q_gen_77 (q_gen_95, q_gen_94) -> q_gen_93 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_75, q_gen_76, q_gen_82}, Q_f={}, Delta= { () -> q_gen_108 () -> q_gen_75 () -> q_gen_76 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145, q_gen_146, q_gen_184, q_gen_218, q_gen_219, q_gen_220, q_gen_232, q_gen_246, q_gen_247, q_gen_74, q_gen_81, q_gen_96, q_gen_97}, Q_f={}, Delta= { (q_gen_97) -> q_gen_107 (q_gen_107) -> q_gen_247 () -> q_gen_97 (q_gen_107) -> q_gen_106 (q_gen_146) -> q_gen_145 (q_gen_97) -> q_gen_146 (q_gen_145) -> q_gen_184 (q_gen_219) -> q_gen_218 (q_gen_220) -> q_gen_219 (q_gen_107) -> q_gen_220 (q_gen_184) -> q_gen_232 (q_gen_247) -> q_gen_246 () -> q_gen_74 (q_gen_74) -> q_gen_81 (q_gen_97) -> q_gen_96 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_116, q_gen_117, q_gen_118, q_gen_119, q_gen_120, q_gen_121, q_gen_132, q_gen_133, q_gen_134, q_gen_135, q_gen_136, q_gen_137, q_gen_144, q_gen_154, q_gen_155, q_gen_156, q_gen_157, q_gen_158, q_gen_164, q_gen_165, q_gen_166, q_gen_167, q_gen_168, q_gen_169, q_gen_170, q_gen_171, q_gen_172, q_gen_173, q_gen_182, q_gen_183, q_gen_191, q_gen_192, q_gen_193, q_gen_194, q_gen_195, q_gen_196, q_gen_197, q_gen_198, q_gen_199, q_gen_200, q_gen_201, q_gen_202, q_gen_203, q_gen_206, q_gen_210, q_gen_216, q_gen_217, q_gen_225, q_gen_226, q_gen_227, q_gen_228, q_gen_229, q_gen_231, q_gen_234, q_gen_243, q_gen_244, q_gen_245, q_gen_256, q_gen_257, q_gen_258, q_gen_259, q_gen_260, q_gen_261, q_gen_263, q_gen_264, q_gen_267, q_gen_268, q_gen_269, q_gen_270, q_gen_271, q_gen_272, q_gen_273, q_gen_274, q_gen_275, q_gen_276, q_gen_277, q_gen_278, q_gen_70, q_gen_71, q_gen_72, q_gen_73, q_gen_83, q_gen_84, q_gen_85, q_gen_86, q_gen_87, q_gen_88, q_gen_89, q_gen_90, q_gen_91, q_gen_92}, Q_f={}, Delta= { () -> q_gen_118 (q_gen_86, q_gen_85) -> q_gen_169 (q_gen_86, q_gen_169) -> q_gen_270 () -> q_gen_85 () -> q_gen_86 (q_gen_105, q_gen_72) -> q_gen_104 () -> q_gen_105 () -> q_gen_135 (q_gen_86, q_gen_85) -> q_gen_156 (q_gen_73, q_gen_72) -> q_gen_165 (q_gen_73, q_gen_156) -> q_gen_183 (q_gen_73, q_gen_165) -> q_gen_217 (q_gen_73, q_gen_245) -> q_gen_244 (q_gen_86, q_gen_169) -> q_gen_245 (q_gen_91, q_gen_72) -> q_gen_260 (q_gen_86, q_gen_270) -> q_gen_269 () -> q_gen_72 () -> q_gen_73 () -> q_gen_91 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_87, q_gen_117) -> q_gen_116 (q_gen_118, q_gen_85) -> q_gen_117 (q_gen_73, q_gen_72) -> q_gen_119 (q_gen_121, q_gen_84) -> q_gen_120 () -> q_gen_121 (q_gen_92, q_gen_70) -> q_gen_132 (q_gen_87, q_gen_134) -> q_gen_133 (q_gen_135, q_gen_72) -> q_gen_134 (q_gen_137, q_gen_84) -> q_gen_136 () -> q_gen_137 (q_gen_121, q_gen_70) -> q_gen_144 (q_gen_87, q_gen_155) -> q_gen_154 (q_gen_73, q_gen_156) -> q_gen_155 (q_gen_158, q_gen_84) -> q_gen_157 () -> q_gen_158 (q_gen_73, q_gen_165) -> q_gen_164 (q_gen_73, q_gen_156) -> q_gen_166 (q_gen_87, q_gen_168) -> q_gen_167 (q_gen_86, q_gen_169) -> q_gen_168 (q_gen_87, q_gen_119) -> q_gen_170 (q_gen_158, q_gen_172) -> q_gen_171 (q_gen_173, q_gen_84) -> q_gen_172 () -> q_gen_173 (q_gen_73, q_gen_183) -> q_gen_182 (q_gen_92, q_gen_192) -> q_gen_191 (q_gen_92, q_gen_193) -> q_gen_192 (q_gen_135, q_gen_72) -> q_gen_193 (q_gen_87, q_gen_195) -> q_gen_194 (q_gen_92, q_gen_196) -> q_gen_195 (q_gen_197, q_gen_84) -> q_gen_196 () -> q_gen_197 (q_gen_87, q_gen_199) -> q_gen_198 (q_gen_197, q_gen_119) -> q_gen_199 (q_gen_158, q_gen_201) -> q_gen_200 (q_gen_87, q_gen_202) -> q_gen_201 (q_gen_203, q_gen_84) -> q_gen_202 () -> q_gen_203 (q_gen_137, q_gen_71) -> q_gen_206 (q_gen_105, q_gen_72) -> q_gen_210 (q_gen_73, q_gen_217) -> q_gen_216 (q_gen_73, q_gen_104) -> q_gen_225 (q_gen_137, q_gen_227) -> q_gen_226 (q_gen_137, q_gen_119) -> q_gen_227 (q_gen_87, q_gen_229) -> q_gen_228 (q_gen_137, q_gen_164) -> q_gen_229 (q_gen_73, q_gen_217) -> q_gen_231 (q_gen_137, q_gen_155) -> q_gen_234 (q_gen_73, q_gen_244) -> q_gen_243 (q_gen_87, q_gen_257) -> q_gen_256 (q_gen_91, q_gen_72) -> q_gen_257 (q_gen_87, q_gen_259) -> q_gen_258 (q_gen_105, q_gen_260) -> q_gen_259 (q_gen_158, q_gen_90) -> q_gen_261 (q_gen_137, q_gen_70) -> q_gen_263 (q_gen_135, q_gen_183) -> q_gen_264 (q_gen_137, q_gen_268) -> q_gen_267 (q_gen_73, q_gen_269) -> q_gen_268 (q_gen_173, q_gen_272) -> q_gen_271 (q_gen_203, q_gen_273) -> q_gen_272 (q_gen_203, q_gen_170) -> q_gen_273 (q_gen_87, q_gen_275) -> q_gen_274 (q_gen_121, q_gen_276) -> q_gen_275 (q_gen_203, q_gen_277) -> q_gen_276 (q_gen_137, q_gen_278) -> q_gen_277 (q_gen_105, q_gen_165) -> q_gen_278 () -> q_gen_70 (q_gen_73, q_gen_72) -> q_gen_71 (q_gen_87, q_gen_84) -> q_gen_83 (q_gen_86, q_gen_85) -> q_gen_84 () -> q_gen_87 (q_gen_87, q_gen_70) -> q_gen_88 (q_gen_92, q_gen_90) -> q_gen_89 (q_gen_91, q_gen_72) -> q_gen_90 () -> q_gen_92 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_112, q_gen_113, q_gen_114, q_gen_115, q_gen_130, q_gen_131, q_gen_150, q_gen_151, q_gen_152, q_gen_153, q_gen_69, q_gen_79, q_gen_80}, Q_f={}, Delta= { () -> q_gen_115 (q_gen_115) -> q_gen_153 (q_gen_80) -> q_gen_102 (q_gen_115) -> q_gen_131 () -> q_gen_80 (q_gen_102) -> q_gen_101 (q_gen_80) -> q_gen_112 (q_gen_114) -> q_gen_113 (q_gen_115) -> q_gen_114 (q_gen_131) -> q_gen_130 (q_gen_131) -> q_gen_150 (q_gen_152) -> q_gen_151 (q_gen_153) -> q_gen_152 () -> q_gen_69 (q_gen_80) -> q_gen_79 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| ------------------- STEPS: ------------------------------------------- Step 0, which took 0.010235 s (model generation: 0.008993, model checking: 0.001242): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; merge -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; plus -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([a, n2]) -> 0 () -> leq([b, b]) -> 0 () -> leqnat([z, n2]) -> 0 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 0 () -> merge([nil, y, y]) -> 0 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 1 } Sat witness: Found: (() -> plus([n, z, n]), { n -> z }) ------------------------------------------- Step 1, which took 0.010887 s (model generation: 0.010714, model checking: 0.000173): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; merge -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69}, Q_f={q_gen_69}, Delta= { () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([a, n2]) -> 0 () -> leq([b, b]) -> 0 () -> leqnat([z, n2]) -> 0 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 0 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 1 } Sat witness: Found: (() -> merge([nil, y, y]), { y -> nil }) ------------------------------------------- Step 2, which took 0.010221 s (model generation: 0.010006, model checking: 0.000215): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70}, Q_f={q_gen_70}, Delta= { () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69}, Q_f={q_gen_69}, Delta= { () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([a, n2]) -> 0 () -> leq([b, b]) -> 0 () -> leqnat([z, n2]) -> 0 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 1 } Sat witness: Found: (() -> merge([cons(z, xs), nil, cons(z, xs)]), { xs -> nil ; z -> b }) ------------------------------------------- Step 3, which took 0.010475 s (model generation: 0.010405, model checking: 0.000070): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73}, Q_f={q_gen_70}, Delta= { () -> q_gen_72 () -> q_gen_73 (q_gen_73, q_gen_72) -> q_gen_70 () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69}, Q_f={q_gen_69}, Delta= { () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([a, n2]) -> 0 () -> leq([b, b]) -> 0 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 1 } Sat witness: Found: (() -> leqnat([z, n2]), { n2 -> z }) ------------------------------------------- Step 4, which took 0.009017 s (model generation: 0.008975, model checking: 0.000042): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73}, Q_f={q_gen_70}, Delta= { () -> q_gen_72 () -> q_gen_73 (q_gen_73, q_gen_72) -> q_gen_70 () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69}, Q_f={q_gen_69}, Delta= { () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([a, n2]) -> 0 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 1 } Sat witness: Found: (() -> leq([b, b]), { }) ------------------------------------------- Step 5, which took 0.009600 s (model generation: 0.009555, model checking: 0.000045): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73}, Q_f={q_gen_70}, Delta= { () -> q_gen_72 () -> q_gen_73 (q_gen_73, q_gen_72) -> q_gen_70 () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69}, Q_f={q_gen_69}, Delta= { () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 0 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 1 } Sat witness: Found: (() -> leq([a, n2]), { n2 -> b }) ------------------------------------------- Step 6, which took 0.009869 s (model generation: 0.008245, model checking: 0.001624): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73}, Q_f={q_gen_70}, Delta= { () -> q_gen_72 () -> q_gen_73 (q_gen_73, q_gen_72) -> q_gen_70 () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69}, Q_f={q_gen_69}, Delta= { () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 0 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 1 } Sat witness: Found: (() -> length([nil, z]), { }) ------------------------------------------- Step 7, which took 0.007933 s (model generation: 0.007795, model checking: 0.000138): Model: |_ { append -> {{{ Q={}, Q_f={}, Delta= { } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77}, Q_f={q_gen_77}, Delta= { () -> q_gen_77 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73}, Q_f={q_gen_70}, Delta= { () -> q_gen_72 () -> q_gen_73 (q_gen_73, q_gen_72) -> q_gen_70 () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69}, Q_f={q_gen_69}, Delta= { () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 1 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> nil }) ------------------------------------------- Step 8, which took 0.008455 s (model generation: 0.008300, model checking: 0.000155): Model: |_ { append -> {{{ Q={q_gen_78}, Q_f={q_gen_78}, Delta= { () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77}, Q_f={q_gen_77}, Delta= { () -> q_gen_77 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73}, Q_f={q_gen_70}, Delta= { () -> q_gen_72 () -> q_gen_73 (q_gen_73, q_gen_72) -> q_gen_70 () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69}, Q_f={q_gen_69}, Delta= { () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 1 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 1 (leqnat([s(nn1), z])) -> BOT -> 1 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: ((plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]), { _x -> z ; mm -> z ; n -> z }) ------------------------------------------- Step 9, which took 0.013576 s (model generation: 0.013416, model checking: 0.000160): Model: |_ { append -> {{{ Q={q_gen_78}, Q_f={q_gen_78}, Delta= { () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77}, Q_f={q_gen_77}, Delta= { () -> q_gen_77 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73}, Q_f={q_gen_70}, Delta= { () -> q_gen_72 () -> q_gen_73 (q_gen_73, q_gen_72) -> q_gen_70 () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69, q_gen_80}, Q_f={q_gen_69}, Delta= { () -> q_gen_80 (q_gen_80) -> q_gen_69 () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 1 (leq([b, a])) -> BOT -> 1 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 2 (leqnat([s(nn1), z])) -> BOT -> 2 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: ((leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]), { nn1 -> z ; nn2 -> z }) ------------------------------------------- Step 10, which took 0.011319 s (model generation: 0.009544, model checking: 0.001775): Model: |_ { append -> {{{ Q={q_gen_78}, Q_f={q_gen_78}, Delta= { () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77}, Q_f={q_gen_77}, Delta= { () -> q_gen_77 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { (q_gen_74) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73}, Q_f={q_gen_70}, Delta= { () -> q_gen_72 () -> q_gen_73 (q_gen_73, q_gen_72) -> q_gen_70 () -> q_gen_70 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69, q_gen_80}, Q_f={q_gen_69}, Delta= { () -> q_gen_80 (q_gen_80) -> q_gen_69 () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 1 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 2 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 2 (leqnat([s(nn1), z])) -> BOT -> 2 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(b, nil) ; xs -> nil ; y2 -> a ; ys -> nil ; z -> b }) ------------------------------------------- Step 11, which took 0.013805 s (model generation: 0.012372, model checking: 0.001433): Model: |_ { append -> {{{ Q={q_gen_78}, Q_f={q_gen_78}, Delta= { () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77}, Q_f={q_gen_77}, Delta= { () -> q_gen_77 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { (q_gen_74) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_70}, Delta= { () -> q_gen_85 () -> q_gen_86 () -> q_gen_72 () -> q_gen_73 (q_gen_87, q_gen_70) -> q_gen_70 (q_gen_73, q_gen_72) -> q_gen_70 (q_gen_86, q_gen_85) -> q_gen_70 () -> q_gen_70 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69, q_gen_80}, Q_f={q_gen_69}, Delta= { () -> q_gen_80 (q_gen_80) -> q_gen_69 () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 1 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 2 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 2 (leqnat([s(nn1), z])) -> BOT -> 2 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: ((leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]), { _m -> cons(a, nil) ; xs -> cons(b, nil) ; y2 -> a ; ys -> nil ; z -> b }) ------------------------------------------- Step 12, which took 0.016040 s (model generation: 0.015896, model checking: 0.000144): Model: |_ { append -> {{{ Q={q_gen_78}, Q_f={q_gen_78}, Delta= { () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77}, Q_f={q_gen_77}, Delta= { () -> q_gen_77 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { (q_gen_74) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_70}, Delta= { () -> q_gen_85 () -> q_gen_86 () -> q_gen_72 () -> q_gen_73 () -> q_gen_73 (q_gen_87, q_gen_70) -> q_gen_70 (q_gen_73, q_gen_72) -> q_gen_70 (q_gen_86, q_gen_85) -> q_gen_70 () -> q_gen_70 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69, q_gen_80}, Q_f={q_gen_69}, Delta= { () -> q_gen_80 (q_gen_80) -> q_gen_69 () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 1 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 2 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 2 (leqnat([s(nn1), z])) -> BOT -> 2 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> z ; ll -> nil ; x -> b }) ------------------------------------------- Step 13, which took 0.013560 s (model generation: 0.013396, model checking: 0.000164): Model: |_ { append -> {{{ Q={q_gen_78}, Q_f={q_gen_78}, Delta= { () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74}, Q_f={q_gen_74}, Delta= { (q_gen_74) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_70}, Delta= { () -> q_gen_85 () -> q_gen_86 () -> q_gen_72 () -> q_gen_73 () -> q_gen_73 (q_gen_87, q_gen_70) -> q_gen_70 (q_gen_73, q_gen_72) -> q_gen_70 (q_gen_86, q_gen_85) -> q_gen_70 () -> q_gen_70 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69, q_gen_80}, Q_f={q_gen_69}, Delta= { () -> q_gen_80 (q_gen_80) -> q_gen_69 () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 1 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 1 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 2 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 2 (leqnat([s(nn1), z])) -> BOT -> 2 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> z ; _ka -> cons(b, nil) ; _la -> s(z) ; l1 -> nil ; l2 -> nil }) ------------------------------------------- Step 14, which took 0.013457 s (model generation: 0.013117, model checking: 0.000340): Model: |_ { append -> {{{ Q={q_gen_78}, Q_f={q_gen_78}, Delta= { () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74, q_gen_97}, Q_f={q_gen_74}, Delta= { () -> q_gen_97 (q_gen_74) -> q_gen_74 (q_gen_97) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_70}, Delta= { () -> q_gen_85 () -> q_gen_86 () -> q_gen_72 () -> q_gen_73 () -> q_gen_73 (q_gen_87, q_gen_70) -> q_gen_70 (q_gen_73, q_gen_72) -> q_gen_70 (q_gen_86, q_gen_85) -> q_gen_70 () -> q_gen_70 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69, q_gen_80}, Q_f={q_gen_69}, Delta= { () -> q_gen_80 (q_gen_80) -> q_gen_69 () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 2 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 2 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 2 (leqnat([s(nn1), z])) -> BOT -> 2 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> nil ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 15, which took 0.011667 s (model generation: 0.011554, model checking: 0.000113): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_78, q_gen_99}, Q_f={q_gen_78}, Delta= { () -> q_gen_100 () -> q_gen_99 (q_gen_100, q_gen_99) -> q_gen_78 () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_75 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74, q_gen_97}, Q_f={q_gen_74}, Delta= { () -> q_gen_97 (q_gen_74) -> q_gen_74 (q_gen_97) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_70}, Delta= { () -> q_gen_85 () -> q_gen_86 () -> q_gen_72 () -> q_gen_73 () -> q_gen_73 (q_gen_87, q_gen_70) -> q_gen_70 (q_gen_73, q_gen_72) -> q_gen_70 (q_gen_86, q_gen_85) -> q_gen_70 () -> q_gen_70 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69, q_gen_80}, Q_f={q_gen_69}, Delta= { () -> q_gen_80 (q_gen_80) -> q_gen_69 () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 3 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 2 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 3 (leqnat([s(nn1), z])) -> BOT -> 3 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: ((leq([b, a])) -> BOT, { }) ------------------------------------------- Step 16, which took 0.012059 s (model generation: 0.011213, model checking: 0.000846): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_78, q_gen_99}, Q_f={q_gen_78}, Delta= { () -> q_gen_100 () -> q_gen_99 (q_gen_100, q_gen_99) -> q_gen_78 () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75, q_gen_82}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74, q_gen_97}, Q_f={q_gen_74}, Delta= { () -> q_gen_97 (q_gen_74) -> q_gen_74 (q_gen_97) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_70}, Delta= { () -> q_gen_85 () -> q_gen_86 () -> q_gen_72 () -> q_gen_73 () -> q_gen_73 (q_gen_87, q_gen_70) -> q_gen_70 (q_gen_73, q_gen_72) -> q_gen_70 (q_gen_86, q_gen_85) -> q_gen_70 () -> q_gen_70 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_69, q_gen_80}, Q_f={q_gen_69}, Delta= { () -> q_gen_80 (q_gen_80) -> q_gen_69 () -> q_gen_69 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 3 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 3 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 4 (leqnat([s(nn1), z])) -> BOT -> 4 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: (() -> plus([n, z, n]), { n -> s(s(z)) }) ------------------------------------------- Step 17, which took 0.012796 s (model generation: 0.012103, model checking: 0.000693): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_78, q_gen_99}, Q_f={q_gen_78}, Delta= { () -> q_gen_100 () -> q_gen_99 (q_gen_100, q_gen_99) -> q_gen_78 () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75, q_gen_82}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74, q_gen_97}, Q_f={q_gen_74}, Delta= { () -> q_gen_97 (q_gen_74) -> q_gen_74 (q_gen_97) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_70, q_gen_72, q_gen_73, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_70}, Delta= { () -> q_gen_85 () -> q_gen_86 () -> q_gen_72 () -> q_gen_73 () -> q_gen_73 (q_gen_87, q_gen_70) -> q_gen_70 (q_gen_73, q_gen_72) -> q_gen_70 (q_gen_86, q_gen_85) -> q_gen_70 () -> q_gen_70 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102}, Q_f={q_gen_101}, Delta= { (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 3 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 3 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 4 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 4 (leqnat([s(nn1), z])) -> BOT -> 4 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: (() -> merge([nil, y, y]), { y -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 18, which took 0.014993 s (model generation: 0.014621, model checking: 0.000372): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_78, q_gen_99}, Q_f={q_gen_78}, Delta= { () -> q_gen_100 () -> q_gen_99 (q_gen_100, q_gen_99) -> q_gen_78 () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75, q_gen_82}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_74, q_gen_97}, Q_f={q_gen_74}, Delta= { () -> q_gen_97 (q_gen_74) -> q_gen_74 (q_gen_97) -> q_gen_74 () -> q_gen_74 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_103}, Delta= { () -> q_gen_85 () -> q_gen_86 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_87, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_86, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102}, Q_f={q_gen_101}, Delta= { (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 3 () -> leq([b, b]) -> 3 () -> leqnat([z, n2]) -> 6 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 4 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 4 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 4 (leqnat([s(nn1), z])) -> BOT -> 4 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: (() -> leqnat([z, n2]), { n2 -> s(s(z)) }) ------------------------------------------- Step 19, which took 0.012839 s (model generation: 0.012785, model checking: 0.000054): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_78, q_gen_99}, Q_f={q_gen_78}, Delta= { () -> q_gen_100 () -> q_gen_99 (q_gen_100, q_gen_99) -> q_gen_78 () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_75, q_gen_82}, Q_f={q_gen_75}, Delta= { () -> q_gen_75 () -> q_gen_75 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_103}, Delta= { () -> q_gen_85 () -> q_gen_86 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_87, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_86, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102}, Q_f={q_gen_101}, Delta= { (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 3 () -> length([nil, z]) -> 3 () -> leq([a, n2]) -> 6 () -> leq([b, b]) -> 4 () -> leqnat([z, n2]) -> 6 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 4 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 4 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 4 (leqnat([s(nn1), z])) -> BOT -> 4 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: (() -> leq([a, n2]), { n2 -> a }) ------------------------------------------- Step 20, which took 0.013949 s (model generation: 0.013640, model checking: 0.000309): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_78, q_gen_99}, Q_f={q_gen_78}, Delta= { () -> q_gen_100 () -> q_gen_99 (q_gen_100, q_gen_99) -> q_gen_78 () -> q_gen_78 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_103}, Delta= { () -> q_gen_85 () -> q_gen_86 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_87, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_86, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102}, Q_f={q_gen_101}, Delta= { (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([a, n2]) -> 6 () -> leq([b, b]) -> 4 () -> leqnat([z, n2]) -> 6 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 4 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 4 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 4 (leqnat([s(nn1), z])) -> BOT -> 4 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 4 } Sat witness: Found: (() -> append([nil, l2, l2]), { l2 -> cons(a, cons(a, nil)) }) ------------------------------------------- Step 21, which took 0.014768 s (model generation: 0.014614, model checking: 0.000154): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110}, Q_f={q_gen_109}, Delta= { () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 () -> q_gen_109 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_103}, Delta= { () -> q_gen_85 () -> q_gen_86 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_87, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_86, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102}, Q_f={q_gen_101}, Delta= { (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([a, n2]) -> 6 () -> leq([b, b]) -> 4 () -> leqnat([z, n2]) -> 6 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 4 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 4 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 4 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 4 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 4 (leqnat([s(nn1), z])) -> BOT -> 4 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 7 } Sat witness: Found: ((plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]), { _x -> s(z) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 22, which took 0.014839 s (model generation: 0.013996, model checking: 0.000843): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110}, Q_f={q_gen_109}, Delta= { () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 () -> q_gen_109 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_85, q_gen_86, q_gen_87}, Q_f={q_gen_103}, Delta= { () -> q_gen_85 () -> q_gen_86 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_87, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_86, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([a, n2]) -> 6 () -> leq([b, b]) -> 4 () -> leqnat([z, n2]) -> 6 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 4 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 4 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 4 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 7 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 5 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 5 (leqnat([s(nn1), z])) -> BOT -> 5 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 7 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(a, nil) ; xs -> nil ; y2 -> a ; ys -> nil ; z -> b }) ------------------------------------------- Step 23, which took 0.015221 s (model generation: 0.014475, model checking: 0.000746): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110}, Q_f={q_gen_109}, Delta= { () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 () -> q_gen_109 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_85, q_gen_87}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_87, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_87 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([a, n2]) -> 6 () -> leq([b, b]) -> 4 () -> leqnat([z, n2]) -> 6 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 4 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 4 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 4 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 7 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 7 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 5 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 5 (leqnat([s(nn1), z])) -> BOT -> 5 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 7 } Sat witness: Found: ((leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]), { _m -> cons(b, nil) ; xs -> nil ; y2 -> b ; ys -> nil ; z -> a }) ------------------------------------------- Step 24, which took 0.016148 s (model generation: 0.015978, model checking: 0.000170): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110}, Q_f={q_gen_109}, Delta= { () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 () -> q_gen_109 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_77, q_gen_94, q_gen_95}, Q_f={q_gen_77}, Delta= { () -> q_gen_94 (q_gen_95, q_gen_94) -> q_gen_77 () -> q_gen_77 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([a, n2]) -> 6 () -> leq([b, b]) -> 4 () -> leqnat([z, n2]) -> 6 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 4 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 4 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 4 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 4 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 7 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 7 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 7 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 5 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 5 (leqnat([s(nn1), z])) -> BOT -> 5 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 7 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> z ; ll -> nil ; x -> a }) ------------------------------------------- Step 25, which took 0.017871 s (model generation: 0.016799, model checking: 0.001072): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110}, Q_f={q_gen_109}, Delta= { () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 () -> q_gen_109 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_94}, Q_f={q_gen_122}, Delta= { () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 6 () -> length([nil, z]) -> 4 () -> leq([a, n2]) -> 6 () -> leq([b, b]) -> 4 () -> leqnat([z, n2]) -> 6 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 4 () -> merge([nil, y, y]) -> 6 () -> plus([n, z, n]) -> 6 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 7 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 5 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 5 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 7 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 7 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 7 (leq([b, a])) -> BOT -> 5 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 5 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 5 (leqnat([s(nn1), z])) -> BOT -> 5 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 7 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> cons(b, nil) ; h1 -> b ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 26, which took 0.019622 s (model generation: 0.018020, model checking: 0.001602): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_94}, Q_f={q_gen_122}, Delta= { () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 5 () -> leq([a, n2]) -> 7 () -> leq([b, b]) -> 5 () -> leqnat([z, n2]) -> 7 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 5 () -> merge([nil, y, y]) -> 7 () -> plus([n, z, n]) -> 7 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 7 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 6 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 6 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 7 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 7 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 7 (leq([b, a])) -> BOT -> 6 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 6 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 6 (leqnat([s(nn1), z])) -> BOT -> 6 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]), { _x -> s(z) ; mm -> z ; n -> z }) ------------------------------------------- Step 27, which took 0.019789 s (model generation: 0.018129, model checking: 0.001660): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_94}, Q_f={q_gen_122}, Delta= { () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 6 () -> leq([a, n2]) -> 7 () -> leq([b, b]) -> 6 () -> leqnat([z, n2]) -> 7 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 6 () -> merge([nil, y, y]) -> 7 () -> plus([n, z, n]) -> 7 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 7 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 7 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 7 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 7 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 7 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 7 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 7 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 7 (leqnat([s(nn1), z])) -> BOT -> 7 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(b, nil) ; xs -> nil ; y2 -> a ; ys -> cons(a, nil) ; z -> b }) ------------------------------------------- Step 28, which took 0.022217 s (model generation: 0.021230, model checking: 0.000987): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_94}, Q_f={q_gen_122}, Delta= { () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 7 () -> leq([a, n2]) -> 7 () -> leq([b, b]) -> 7 () -> leqnat([z, n2]) -> 7 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 7 () -> merge([nil, y, y]) -> 7 () -> plus([n, z, n]) -> 7 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 7 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 7 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 7 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 7 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 8 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 8 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 8 (leqnat([s(nn1), z])) -> BOT -> 8 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]), { _m -> cons(b, nil) ; xs -> nil ; y2 -> b ; ys -> nil ; z -> b }) ------------------------------------------- Step 29, which took 0.024694 s (model generation: 0.024308, model checking: 0.000386): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_94}, Q_f={q_gen_122}, Delta= { () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 7 () -> leq([a, n2]) -> 7 () -> leq([b, b]) -> 7 () -> leqnat([z, n2]) -> 7 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 7 () -> merge([nil, y, y]) -> 7 () -> plus([n, z, n]) -> 7 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 7 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 7 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 7 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 8 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 8 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 8 (leqnat([s(nn1), z])) -> BOT -> 8 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> s(z) ; ll -> cons(b, nil) ; x -> b }) ------------------------------------------- Step 30, which took 0.023758 s (model generation: 0.023430, model checking: 0.000328): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_142}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 () -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_123, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_142) -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 7 () -> leq([a, n2]) -> 7 () -> leq([b, b]) -> 7 () -> leqnat([z, n2]) -> 7 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 7 () -> merge([nil, y, y]) -> 7 () -> plus([n, z, n]) -> 7 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 7 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 7 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 8 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 8 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 8 (leqnat([s(nn1), z])) -> BOT -> 8 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> s(s(z)) ; _ka -> cons(a, nil) ; _la -> s(z) ; l1 -> cons(a, nil) ; l2 -> cons(b, nil) }) ------------------------------------------- Step 31, which took 0.026941 s (model generation: 0.026293, model checking: 0.000648): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_142}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 () -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_123, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_142) -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 7 () -> length([nil, z]) -> 7 () -> leq([a, n2]) -> 7 () -> leq([b, b]) -> 7 () -> leqnat([z, n2]) -> 7 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 7 () -> merge([nil, y, y]) -> 7 () -> plus([n, z, n]) -> 7 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 8 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 8 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 8 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 8 (leqnat([s(nn1), z])) -> BOT -> 8 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> cons(b, nil) ; h1 -> b ; l2 -> nil ; t1 -> nil }) ------------------------------------------- Step 32, which took 0.027530 s (model generation: 0.026503, model checking: 0.001027): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_142}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 () -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_123, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_142) -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 8 () -> length([nil, z]) -> 8 () -> leq([a, n2]) -> 8 () -> leq([b, b]) -> 8 () -> leqnat([z, n2]) -> 8 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 8 () -> merge([nil, y, y]) -> 8 () -> plus([n, z, n]) -> 8 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 8 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 8 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 8 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 8 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((leqnat([s(nn1), z])) -> BOT, { nn1 -> z }) ------------------------------------------- Step 33, which took 0.030498 s (model generation: 0.030404, model checking: 0.000094): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_142}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 () -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_123, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_142) -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_146}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_146) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_107) -> q_gen_146 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 8 () -> length([nil, z]) -> 8 () -> leq([a, n2]) -> 8 () -> leq([b, b]) -> 8 () -> leqnat([z, n2]) -> 8 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 8 () -> merge([nil, y, y]) -> 8 () -> plus([n, z, n]) -> 8 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 8 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 8 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 8 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 11 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]), { nn1 -> s(z) ; nn2 -> z }) ------------------------------------------- Step 34, which took 0.026873 s (model generation: 0.026401, model checking: 0.000472): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_142}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 () -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_123, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_142) -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_118, q_gen_85) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 8 () -> length([nil, z]) -> 8 () -> leq([a, n2]) -> 8 () -> leq([b, b]) -> 8 () -> leqnat([z, n2]) -> 8 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 8 () -> merge([nil, y, y]) -> 8 () -> plus([n, z, n]) -> 8 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 11 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 9 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 9 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 11 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 10 } Sat witness: Found: ((length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), { _ga -> s(s(z)) ; _ha -> cons(b, cons(b, nil)) ; _ia -> s(z) ; l1 -> cons(b, nil) ; l2 -> cons(b, nil) }) ------------------------------------------- Step 35, which took 0.028715 s (model generation: 0.027487, model checking: 0.001228): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_139) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 9 () -> length([nil, z]) -> 9 () -> leq([a, n2]) -> 9 () -> leq([b, b]) -> 9 () -> leqnat([z, n2]) -> 9 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 9 () -> merge([nil, y, y]) -> 9 () -> plus([n, z, n]) -> 9 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 11 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 10 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 10 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 11 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 13 } Sat witness: Found: ((plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]), { _x -> s(s(z)) ; mm -> z ; n -> s(z) }) ------------------------------------------- Step 36, which took 0.028743 s (model generation: 0.028349, model checking: 0.000394): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_142}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 () -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_123, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_142) -> q_gen_123 () -> q_gen_123 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_137, q_gen_73, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_73 () -> q_gen_73 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_73, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_137, q_gen_103) -> q_gen_117 (q_gen_137, q_gen_117) -> q_gen_117 (q_gen_73, q_gen_104) -> q_gen_117 (q_gen_118, q_gen_85) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_137 () -> q_gen_137 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 9 () -> length([nil, z]) -> 9 () -> leq([a, n2]) -> 9 () -> leq([b, b]) -> 9 () -> leqnat([z, n2]) -> 9 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 9 () -> merge([nil, y, y]) -> 12 () -> plus([n, z, n]) -> 10 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 11 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 10 (leq([b, a])) -> BOT -> 10 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 10 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 11 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 13 } Sat witness: Found: (() -> merge([nil, y, y]), { y -> cons(b, nil) }) ------------------------------------------- Step 37, which took 0.030838 s (model generation: 0.028975, model checking: 0.001863): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 10 () -> leq([a, n2]) -> 10 () -> leq([b, b]) -> 10 () -> leqnat([z, n2]) -> 10 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 10 () -> merge([nil, y, y]) -> 12 () -> plus([n, z, n]) -> 10 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 11 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 10 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 13 (leq([b, a])) -> BOT -> 11 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 11 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 11 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 13 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(b, cons(b, nil)) ; xs -> nil ; y2 -> a ; ys -> cons(b, nil) ; z -> b }) ------------------------------------------- Step 38, which took 0.035157 s (model generation: 0.034454, model checking: 0.000703): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_85) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 10 () -> leq([a, n2]) -> 10 () -> leq([b, b]) -> 10 () -> leqnat([z, n2]) -> 10 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 10 () -> merge([nil, y, y]) -> 12 () -> plus([n, z, n]) -> 10 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 11 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 10 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 13 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 13 (leq([b, a])) -> BOT -> 11 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 11 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 11 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 13 } Sat witness: Found: ((leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]), { _m -> cons(b, nil) ; xs -> nil ; y2 -> a ; ys -> nil ; z -> a }) ------------------------------------------- Step 39, which took 0.036718 s (model generation: 0.036034, model checking: 0.000684): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_85) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 10 () -> leq([a, n2]) -> 10 () -> leq([b, b]) -> 10 () -> leqnat([z, n2]) -> 10 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 10 () -> merge([nil, y, y]) -> 12 () -> plus([n, z, n]) -> 10 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 10 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 11 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 10 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 13 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 13 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 13 (leq([b, a])) -> BOT -> 11 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 11 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 11 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 13 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> s(z) ; ll -> cons(b, nil) ; x -> a }) ------------------------------------------- Step 40, which took 0.039640 s (model generation: 0.037173, model checking: 0.002467): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_85) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 10 () -> length([nil, z]) -> 10 () -> leq([a, n2]) -> 10 () -> leq([b, b]) -> 10 () -> leqnat([z, n2]) -> 10 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 10 () -> merge([nil, y, y]) -> 12 () -> plus([n, z, n]) -> 10 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 13 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 11 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 11 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 13 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 13 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 13 (leq([b, a])) -> BOT -> 11 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 11 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 11 (leqnat([s(nn1), z])) -> BOT -> 11 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 13 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> cons(b, nil) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 41, which took 0.038647 s (model generation: 0.036739, model checking: 0.001908): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_139) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_85) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 11 () -> length([nil, z]) -> 11 () -> leq([a, n2]) -> 11 () -> leq([b, b]) -> 11 () -> leqnat([z, n2]) -> 11 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 11 () -> merge([nil, y, y]) -> 12 () -> plus([n, z, n]) -> 11 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 13 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 11 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 14 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 13 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 13 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 13 (leq([b, a])) -> BOT -> 12 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 12 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 12 (leqnat([s(nn1), z])) -> BOT -> 12 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 13 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> s(s(z)) ; _ka -> cons(b, cons(b, nil)) ; _la -> s(z) ; l1 -> nil ; l2 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 42, which took 0.041748 s (model generation: 0.037993, model checking: 0.003755): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_85}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 () -> q_gen_85 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_85) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_85) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 12 () -> length([nil, z]) -> 12 () -> leq([a, n2]) -> 12 () -> leq([b, b]) -> 12 () -> leqnat([z, n2]) -> 12 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 12 () -> merge([nil, y, y]) -> 13 () -> plus([n, z, n]) -> 12 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 13 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 12 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 14 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 13 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 13 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 16 (leq([b, a])) -> BOT -> 13 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 13 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 13 (leqnat([s(nn1), z])) -> BOT -> 13 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 14 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(b, cons(b, nil)) ; xs -> nil ; y2 -> a ; ys -> nil ; z -> b }) ------------------------------------------- Step 43, which took 0.049373 s (model generation: 0.044837, model checking: 0.004536): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> length([nil, z]) -> 13 () -> leq([a, n2]) -> 13 () -> leq([b, b]) -> 13 () -> leqnat([z, n2]) -> 13 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 13 () -> merge([nil, y, y]) -> 13 () -> plus([n, z, n]) -> 13 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 13 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 13 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 14 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 13 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 16 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 16 (leq([b, a])) -> BOT -> 14 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 14 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 14 (leqnat([s(nn1), z])) -> BOT -> 14 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 14 } Sat witness: Found: ((leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]), { _m -> cons(a, cons(b, nil)) ; xs -> cons(b, nil) ; y2 -> a ; ys -> cons(b, nil) ; z -> a }) ------------------------------------------- Step 44, which took 0.056595 s (model generation: 0.055227, model checking: 0.001368): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> length([nil, z]) -> 13 () -> leq([a, n2]) -> 13 () -> leq([b, b]) -> 13 () -> leqnat([z, n2]) -> 13 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 13 () -> merge([nil, y, y]) -> 13 () -> plus([n, z, n]) -> 13 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 13 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 13 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 14 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 16 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 16 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 16 (leq([b, a])) -> BOT -> 14 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 14 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 14 (leqnat([s(nn1), z])) -> BOT -> 14 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 14 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> s(s(z)) ; ll -> cons(a, cons(b, nil)) ; x -> b }) ------------------------------------------- Step 45, which took 0.080180 s (model generation: 0.078824, model checking: 0.001356): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> length([nil, z]) -> 13 () -> leq([a, n2]) -> 13 () -> leq([b, b]) -> 13 () -> leqnat([z, n2]) -> 13 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 13 () -> merge([nil, y, y]) -> 13 () -> plus([n, z, n]) -> 13 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 13 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 16 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 14 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 16 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 16 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 16 (leq([b, a])) -> BOT -> 14 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 14 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 14 (leqnat([s(nn1), z])) -> BOT -> 14 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 14 } Sat witness: Found: ((length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), { _ga -> s(s(s(z))) ; _ha -> cons(b, cons(b, cons(b, nil))) ; _ia -> s(s(z)) ; l1 -> cons(b, cons(b, nil)) ; l2 -> nil }) ------------------------------------------- Step 46, which took 0.127510 s (model generation: 0.125780, model checking: 0.001730): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145, q_gen_146}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_145) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_146) -> q_gen_145 (q_gen_107) -> q_gen_146 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 13 () -> length([nil, z]) -> 13 () -> leq([a, n2]) -> 13 () -> leq([b, b]) -> 13 () -> leqnat([z, n2]) -> 13 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 13 () -> merge([nil, y, y]) -> 13 () -> plus([n, z, n]) -> 13 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 16 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 16 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 14 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 16 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 16 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 16 (leq([b, a])) -> BOT -> 14 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 14 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 14 (leqnat([s(nn1), z])) -> BOT -> 14 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 14 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> cons(a, nil) ; h1 -> b ; l2 -> cons(a, nil) ; t1 -> nil }) ------------------------------------------- Step 47, which took 0.115840 s (model generation: 0.112544, model checking: 0.003296): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_178}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 () -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 14 () -> length([nil, z]) -> 14 () -> leq([a, n2]) -> 14 () -> leq([b, b]) -> 14 () -> leqnat([z, n2]) -> 14 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 14 () -> merge([nil, y, y]) -> 14 () -> plus([n, z, n]) -> 14 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 16 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 16 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 17 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 16 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 16 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 16 (leq([b, a])) -> BOT -> 15 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 15 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 15 (leqnat([s(nn1), z])) -> BOT -> 15 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 15 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> s(s(s(z))) ; _ka -> cons(b, cons(b, nil)) ; _la -> s(s(z)) ; l1 -> nil ; l2 -> cons(b, nil) }) ------------------------------------------- Step 48, which took 0.109420 s (model generation: 0.107834, model checking: 0.001586): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145, q_gen_146}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_145) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_146) -> q_gen_145 (q_gen_107) -> q_gen_146 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 15 () -> length([nil, z]) -> 15 () -> leq([a, n2]) -> 15 () -> leq([b, b]) -> 15 () -> leqnat([z, n2]) -> 15 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 15 () -> merge([nil, y, y]) -> 15 () -> plus([n, z, n]) -> 15 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 16 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 16 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 17 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 16 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 16 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 16 (leq([b, a])) -> BOT -> 15 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 15 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 18 (leqnat([s(nn1), z])) -> BOT -> 16 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 16 } Sat witness: Found: ((leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]), { nn1 -> s(s(z)) ; nn2 -> s(z) }) ------------------------------------------- Step 49, which took 0.101352 s (model generation: 0.096756, model checking: 0.004596): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_176, q_gen_180}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_180) -> q_gen_139 (q_gen_176, q_gen_139) -> q_gen_139 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_176 (q_gen_140, q_gen_139) -> q_gen_180 () -> q_gen_180 (q_gen_123, q_gen_180) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_180) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> length([nil, z]) -> 16 () -> leq([a, n2]) -> 16 () -> leq([b, b]) -> 16 () -> leqnat([z, n2]) -> 16 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 16 () -> merge([nil, y, y]) -> 16 () -> plus([n, z, n]) -> 16 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 16 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 16 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 17 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 16 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 16 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 19 (leq([b, a])) -> BOT -> 16 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 16 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 18 (leqnat([s(nn1), z])) -> BOT -> 17 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 17 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(b, cons(b, cons(b, nil))) ; xs -> cons(b, cons(a, nil)) ; y2 -> a ; ys -> cons(a, cons(a, nil)) ; z -> b }) ------------------------------------------- Step 50, which took 0.273786 s (model generation: 0.262893, model checking: 0.010893): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_176, q_gen_180}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_180) -> q_gen_139 (q_gen_176, q_gen_139) -> q_gen_139 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_176 (q_gen_140, q_gen_139) -> q_gen_180 () -> q_gen_180 (q_gen_123, q_gen_180) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_180) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> length([nil, z]) -> 16 () -> leq([a, n2]) -> 16 () -> leq([b, b]) -> 16 () -> leqnat([z, n2]) -> 16 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 16 () -> merge([nil, y, y]) -> 16 () -> plus([n, z, n]) -> 16 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 16 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 16 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 17 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 16 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 19 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 19 (leq([b, a])) -> BOT -> 17 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 17 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 18 (leqnat([s(nn1), z])) -> BOT -> 17 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 17 } Sat witness: Found: ((leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]), { _m -> cons(a, cons(b, cons(b, nil))) ; xs -> cons(b, cons(a, nil)) ; y2 -> a ; ys -> cons(a, cons(b, nil)) ; z -> a }) ------------------------------------------- Step 51, which took 0.263166 s (model generation: 0.262498, model checking: 0.000668): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_176, q_gen_180}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_180) -> q_gen_139 (q_gen_176, q_gen_139) -> q_gen_139 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_176 (q_gen_140, q_gen_139) -> q_gen_180 () -> q_gen_180 (q_gen_123, q_gen_180) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_180) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> length([nil, z]) -> 16 () -> leq([a, n2]) -> 16 () -> leq([b, b]) -> 16 () -> leqnat([z, n2]) -> 16 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 16 () -> merge([nil, y, y]) -> 16 () -> plus([n, z, n]) -> 16 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 16 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 16 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 17 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 19 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 19 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 19 (leq([b, a])) -> BOT -> 17 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 17 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 18 (leqnat([s(nn1), z])) -> BOT -> 17 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 17 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> s(s(z)) ; ll -> cons(b, cons(b, nil)) ; x -> a }) ------------------------------------------- Step 52, which took 0.369400 s (model generation: 0.368204, model checking: 0.001196): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_166, q_gen_169, q_gen_72}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_105, q_gen_72) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_72 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_72) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_72) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_105, q_gen_104) -> q_gen_166 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> length([nil, z]) -> 16 () -> leq([a, n2]) -> 16 () -> leq([b, b]) -> 16 () -> leqnat([z, n2]) -> 16 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 16 () -> merge([nil, y, y]) -> 16 () -> plus([n, z, n]) -> 16 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 16 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 19 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 17 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 19 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 19 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 19 (leq([b, a])) -> BOT -> 17 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 17 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 18 (leqnat([s(nn1), z])) -> BOT -> 17 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 17 } Sat witness: Found: ((length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), { _ga -> s(s(s(z))) ; _ha -> cons(b, cons(b, nil)) ; _ia -> s(s(z)) ; l1 -> cons(b, cons(b, nil)) ; l2 -> cons(b, nil) }) ------------------------------------------- Step 53, which took 0.752062 s (model generation: 0.750731, model checking: 0.001331): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_156, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_105, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_105, q_gen_156) -> q_gen_117 (q_gen_105, q_gen_156) -> q_gen_117 (q_gen_118, q_gen_169) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 16 () -> length([nil, z]) -> 16 () -> leq([a, n2]) -> 16 () -> leq([b, b]) -> 16 () -> leqnat([z, n2]) -> 16 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 16 () -> merge([nil, y, y]) -> 16 () -> plus([n, z, n]) -> 16 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 19 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 19 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 17 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 19 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 19 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 19 (leq([b, a])) -> BOT -> 17 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 17 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 18 (leqnat([s(nn1), z])) -> BOT -> 17 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 17 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> cons(b, nil) ; h1 -> a ; l2 -> cons(a, nil) ; t1 -> cons(b, nil) }) ------------------------------------------- Step 54, which took 0.301600 s (model generation: 0.298821, model checking: 0.002779): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_156, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_105, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_105, q_gen_156) -> q_gen_117 (q_gen_105, q_gen_156) -> q_gen_117 (q_gen_118, q_gen_169) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 17 () -> length([nil, z]) -> 17 () -> leq([a, n2]) -> 17 () -> leq([b, b]) -> 17 () -> leqnat([z, n2]) -> 17 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 17 () -> merge([nil, y, y]) -> 17 () -> plus([n, z, n]) -> 17 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 19 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 19 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 20 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 19 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 19 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 19 (leq([b, a])) -> BOT -> 18 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 18 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 18 (leqnat([s(nn1), z])) -> BOT -> 18 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 18 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> s(s(s(z))) ; _ka -> cons(b, cons(b, nil)) ; _la -> s(s(z)) ; l1 -> nil ; l2 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 55, which took 0.263204 s (model generation: 0.262510, model checking: 0.000694): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_142, q_gen_149, q_gen_94, q_gen_95}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_139) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_95, q_gen_94) -> q_gen_122 () -> q_gen_122 (q_gen_142) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_123 (q_gen_95, q_gen_139) -> q_gen_149 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_169, q_gen_72, q_gen_73}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_72) -> q_gen_104 (q_gen_73, q_gen_104) -> q_gen_104 (q_gen_73, q_gen_72) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_72 () -> q_gen_73 () -> q_gen_73 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_105, q_gen_72) -> q_gen_103 (q_gen_73, q_gen_72) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_73, q_gen_72) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_73, q_gen_104) -> q_gen_117 (q_gen_105, q_gen_72) -> q_gen_117 (q_gen_73, q_gen_104) -> q_gen_117 (q_gen_118, q_gen_169) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 17 () -> length([nil, z]) -> 17 () -> leq([a, n2]) -> 17 () -> leq([b, b]) -> 17 () -> leqnat([z, n2]) -> 17 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 17 () -> merge([nil, y, y]) -> 20 () -> plus([n, z, n]) -> 18 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 19 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 19 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 20 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 19 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 19 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 19 (leq([b, a])) -> BOT -> 18 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 18 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 18 (leqnat([s(nn1), z])) -> BOT -> 18 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 18 } Sat witness: Found: (() -> merge([nil, y, y]), { y -> cons(a, nil) }) ------------------------------------------- Step 56, which took 0.600652 s (model generation: 0.536462, model checking: 0.064190): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_141, q_gen_175) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 18 () -> length([nil, z]) -> 18 () -> leq([a, n2]) -> 18 () -> leq([b, b]) -> 18 () -> leqnat([z, n2]) -> 18 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 18 () -> merge([nil, y, y]) -> 20 () -> plus([n, z, n]) -> 19 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 19 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 19 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 20 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 22 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 20 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 20 (leq([b, a])) -> BOT -> 19 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 19 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 19 (leqnat([s(nn1), z])) -> BOT -> 19 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 19 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> s(s(s(z))) ; ll -> cons(b, cons(a, cons(b, nil))) ; x -> b }) ------------------------------------------- Step 57, which took 0.440111 s (model generation: 0.435543, model checking: 0.004568): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_140, q_gen_175) -> q_gen_175 (q_gen_142) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_141, q_gen_175) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_178) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 19 () -> length([nil, z]) -> 19 () -> leq([a, n2]) -> 19 () -> leq([b, b]) -> 19 () -> leqnat([z, n2]) -> 19 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 19 () -> merge([nil, y, y]) -> 20 () -> plus([n, z, n]) -> 19 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 19 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 22 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 20 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 22 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 20 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 20 (leq([b, a])) -> BOT -> 20 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 20 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 20 (leqnat([s(nn1), z])) -> BOT -> 20 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 20 } Sat witness: Found: ((length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), { _ga -> s(s(s(s(z)))) ; _ha -> cons(b, cons(b, cons(b, nil))) ; _ia -> s(s(z)) ; l1 -> cons(b, cons(b, cons(b, nil))) ; l2 -> nil }) ------------------------------------------- Step 58, which took 0.739849 s (model generation: 0.738418, model checking: 0.001431): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_178}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 () -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_155, q_gen_156, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_105, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_121, q_gen_155) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_105, q_gen_156) -> q_gen_155 (q_gen_105, q_gen_156) -> q_gen_155 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 19 () -> length([nil, z]) -> 19 () -> leq([a, n2]) -> 19 () -> leq([b, b]) -> 19 () -> leqnat([z, n2]) -> 19 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 19 () -> merge([nil, y, y]) -> 20 () -> plus([n, z, n]) -> 19 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 22 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 22 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 20 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 22 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 20 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 20 (leq([b, a])) -> BOT -> 20 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 20 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 20 (leqnat([s(nn1), z])) -> BOT -> 20 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 20 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> cons(b, cons(b, nil)) ; h1 -> a ; l2 -> cons(b, nil) ; t1 -> nil }) ------------------------------------------- Step 59, which took 0.391282 s (model generation: 0.390222, model checking: 0.001060): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_139) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 (q_gen_142) -> q_gen_123 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_169, q_gen_72, q_gen_73}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_72) -> q_gen_104 (q_gen_73, q_gen_104) -> q_gen_104 (q_gen_73, q_gen_72) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_72 () -> q_gen_73 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_105, q_gen_72) -> q_gen_103 (q_gen_73, q_gen_72) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_72) -> q_gen_103 (q_gen_73, q_gen_72) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_73, q_gen_104) -> q_gen_117 (q_gen_73, q_gen_104) -> q_gen_117 (q_gen_118, q_gen_169) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 19 () -> length([nil, z]) -> 19 () -> leq([a, n2]) -> 19 () -> leq([b, b]) -> 19 () -> leqnat([z, n2]) -> 19 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 22 () -> merge([nil, y, y]) -> 20 () -> plus([n, z, n]) -> 20 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 22 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 22 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 20 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 22 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 20 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 20 (leq([b, a])) -> BOT -> 20 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 20 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 20 (leqnat([s(nn1), z])) -> BOT -> 20 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 20 } Sat witness: Found: (() -> merge([cons(z, xs), nil, cons(z, xs)]), { xs -> cons(a, nil) ; z -> b }) ------------------------------------------- Step 60, which took 0.391444 s (model generation: 0.389296, model checking: 0.002148): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_156, q_gen_169, q_gen_73}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_73, q_gen_104) -> q_gen_156 (q_gen_73, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 () -> q_gen_73 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_73, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_73, q_gen_104) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_105, q_gen_104) -> q_gen_117 (q_gen_73, q_gen_156) -> q_gen_117 (q_gen_73, q_gen_156) -> q_gen_117 (q_gen_118, q_gen_169) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> length([nil, z]) -> 20 () -> leq([a, n2]) -> 20 () -> leq([b, b]) -> 20 () -> leqnat([z, n2]) -> 20 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 22 () -> merge([nil, y, y]) -> 20 () -> plus([n, z, n]) -> 20 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 22 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 22 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 20 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 22 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 20 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 23 (leq([b, a])) -> BOT -> 21 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 21 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 21 (leqnat([s(nn1), z])) -> BOT -> 21 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 21 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(b, cons(b, cons(b, nil))) ; xs -> cons(b, nil) ; y2 -> a ; ys -> cons(b, cons(b, cons(b, nil))) ; z -> b }) ------------------------------------------- Step 61, which took 0.612623 s (model generation: 0.573561, model checking: 0.039062): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_140, q_gen_175) -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_178) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 20 () -> length([nil, z]) -> 20 () -> leq([a, n2]) -> 20 () -> leq([b, b]) -> 20 () -> leqnat([z, n2]) -> 20 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 22 () -> merge([nil, y, y]) -> 20 () -> plus([n, z, n]) -> 20 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 22 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 22 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 23 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 22 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 21 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 23 (leq([b, a])) -> BOT -> 21 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 21 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 21 (leqnat([s(nn1), z])) -> BOT -> 21 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 21 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> s(s(s(s(z)))) ; _ka -> cons(b, cons(b, cons(b, nil))) ; _la -> s(s(s(z))) ; l1 -> nil ; l2 -> cons(b, cons(b, cons(b, nil))) }) ------------------------------------------- Step 62, which took 1.538484 s (model generation: 1.454377, model checking: 0.084107): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_178}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 () -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_155, q_gen_156, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_105, q_gen_156) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_121, q_gen_155) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_105, q_gen_156) -> q_gen_155 (q_gen_105, q_gen_156) -> q_gen_155 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 21 () -> length([nil, z]) -> 21 () -> leq([a, n2]) -> 21 () -> leq([b, b]) -> 21 () -> leqnat([z, n2]) -> 21 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 22 () -> merge([nil, y, y]) -> 21 () -> plus([n, z, n]) -> 21 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 22 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 25 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 23 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 23 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 22 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 23 (leq([b, a])) -> BOT -> 22 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 22 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 22 (leqnat([s(nn1), z])) -> BOT -> 22 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 22 } Sat witness: Found: ((length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), { _ga -> s(s(s(z))) ; _ha -> cons(b, cons(b, cons(b, nil))) ; _ia -> s(z) ; l1 -> cons(b, nil) ; l2 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 63, which took 0.621714 s (model generation: 0.579307, model checking: 0.042407): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 22 () -> length([nil, z]) -> 22 () -> leq([a, n2]) -> 22 () -> leq([b, b]) -> 22 () -> leqnat([z, n2]) -> 22 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 22 () -> merge([nil, y, y]) -> 22 () -> plus([n, z, n]) -> 22 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 25 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 25 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 23 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 23 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 23 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 23 (leq([b, a])) -> BOT -> 23 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 23 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 23 (leqnat([s(nn1), z])) -> BOT -> 23 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 23 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> cons(a, cons(b, nil)) ; h1 -> b ; l2 -> cons(a, cons(b, nil)) ; t1 -> nil }) ------------------------------------------- Step 64, which took 0.723589 s (model generation: 0.660887, model checking: 0.062702): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_123, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 23 () -> length([nil, z]) -> 23 () -> leq([a, n2]) -> 23 () -> leq([b, b]) -> 23 () -> leqnat([z, n2]) -> 23 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 23 () -> merge([nil, y, y]) -> 23 () -> plus([n, z, n]) -> 23 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 25 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 25 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 26 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 24 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 24 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 24 (leq([b, a])) -> BOT -> 24 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 24 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 24 (leqnat([s(nn1), z])) -> BOT -> 24 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 24 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> s(s(s(s(z)))) ; _ka -> cons(b, cons(b, cons(b, cons(b, nil)))) ; _la -> s(s(z)) ; l1 -> nil ; l2 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 65, which took 0.735570 s (model generation: 0.735124, model checking: 0.000446): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_142) -> q_gen_142 () -> q_gen_142 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_116, q_gen_118, q_gen_121, q_gen_135, q_gen_155, q_gen_156, q_gen_169}, Q_f={q_gen_103, q_gen_116}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_135 () -> q_gen_135 (q_gen_135, q_gen_104) -> q_gen_156 (q_gen_135, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_135, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_121, q_gen_116) -> q_gen_116 (q_gen_121, q_gen_155) -> q_gen_116 (q_gen_135, q_gen_104) -> q_gen_116 (q_gen_118, q_gen_169) -> q_gen_116 () -> q_gen_116 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_121, q_gen_103) -> q_gen_155 (q_gen_135, q_gen_156) -> q_gen_155 (q_gen_135, q_gen_156) -> q_gen_155 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 23 () -> length([nil, z]) -> 23 () -> leq([a, n2]) -> 23 () -> leq([b, b]) -> 23 () -> leqnat([z, n2]) -> 23 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 23 () -> merge([nil, y, y]) -> 26 () -> plus([n, z, n]) -> 24 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 25 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 25 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 26 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 24 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 24 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 24 (leq([b, a])) -> BOT -> 24 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 24 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 24 (leqnat([s(nn1), z])) -> BOT -> 24 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 24 } Sat witness: Found: (() -> merge([nil, y, y]), { y -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 66, which took 0.753923 s (model generation: 0.753629, model checking: 0.000294): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145, q_gen_97}, Q_f={q_gen_106}, Delta= { (q_gen_97) -> q_gen_107 () -> q_gen_97 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 (q_gen_107) -> q_gen_106 (q_gen_97) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_97) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 23 () -> length([nil, z]) -> 23 () -> leq([a, n2]) -> 23 () -> leq([b, b]) -> 23 () -> leqnat([z, n2]) -> 26 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 24 () -> merge([nil, y, y]) -> 26 () -> plus([n, z, n]) -> 24 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 25 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 25 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 26 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 24 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 24 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 24 (leq([b, a])) -> BOT -> 24 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 24 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 24 (leqnat([s(nn1), z])) -> BOT -> 24 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 24 } Sat witness: Found: (() -> leqnat([z, n2]), { n2 -> s(s(s(z))) }) ------------------------------------------- Step 67, which took 1.358202 s (model generation: 1.357036, model checking: 0.001166): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 (q_gen_178) -> q_gen_123 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145, q_gen_247}, Q_f={q_gen_106}, Delta= { (q_gen_247) -> q_gen_107 (q_gen_107) -> q_gen_247 () -> q_gen_247 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 (q_gen_107) -> q_gen_106 (q_gen_247) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_247) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 24 () -> length([nil, z]) -> 24 () -> leq([a, n2]) -> 24 () -> leq([b, b]) -> 24 () -> leqnat([z, n2]) -> 26 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 24 () -> merge([nil, y, y]) -> 26 () -> plus([n, z, n]) -> 24 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 25 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 25 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 26 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 24 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 24 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 24 (leq([b, a])) -> BOT -> 24 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 24 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 24 (leqnat([s(nn1), z])) -> BOT -> 27 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 25 } Sat witness: Found: ((leqnat([s(nn1), z])) -> BOT, { nn1 -> s(z) }) ------------------------------------------- Step 68, which took 2.928211 s (model generation: 2.864462, model checking: 0.063749): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_176, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_139) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_175) -> q_gen_175 (q_gen_176, q_gen_139) -> q_gen_175 () -> q_gen_176 (q_gen_142) -> q_gen_178 (q_gen_178) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_178) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 24 () -> length([nil, z]) -> 24 () -> leq([a, n2]) -> 24 () -> leq([b, b]) -> 24 () -> leqnat([z, n2]) -> 26 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 24 () -> merge([nil, y, y]) -> 26 () -> plus([n, z, n]) -> 24 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 25 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 25 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 26 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 27 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 25 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 25 (leq([b, a])) -> BOT -> 25 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 25 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 25 (leqnat([s(nn1), z])) -> BOT -> 27 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 25 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> s(s(z)) ; ll -> cons(b, cons(b, cons(b, nil))) ; x -> b }) ------------------------------------------- Step 69, which took 0.874440 s (model generation: 0.812183, model checking: 0.062257): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_176, q_gen_177, q_gen_178, q_gen_180}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_180) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_175) -> q_gen_175 (q_gen_176, q_gen_139) -> q_gen_175 () -> q_gen_176 (q_gen_142) -> q_gen_178 (q_gen_178) -> q_gen_178 (q_gen_140, q_gen_139) -> q_gen_180 () -> q_gen_180 (q_gen_123, q_gen_180) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 (q_gen_178) -> q_gen_123 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_180) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_180) -> q_gen_143 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> length([nil, z]) -> 25 () -> leq([a, n2]) -> 25 () -> leq([b, b]) -> 25 () -> leqnat([z, n2]) -> 26 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 25 () -> merge([nil, y, y]) -> 26 () -> plus([n, z, n]) -> 25 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 25 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 28 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 26 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 27 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 26 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 26 (leq([b, a])) -> BOT -> 26 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 26 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 26 (leqnat([s(nn1), z])) -> BOT -> 27 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 26 } Sat witness: Found: ((length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), { _ga -> s(s(s(z))) ; _ha -> cons(b, nil) ; _ia -> s(z) ; l1 -> cons(a, nil) ; l2 -> nil }) ------------------------------------------- Step 70, which took 2.084100 s (model generation: 2.076837, model checking: 0.007263): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_212, q_gen_214}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_212) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_140, q_gen_175) -> q_gen_212 () -> q_gen_212 (q_gen_178) -> q_gen_214 (q_gen_123, q_gen_212) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_214) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_123, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_212) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_212) -> q_gen_143 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 25 () -> length([nil, z]) -> 25 () -> leq([a, n2]) -> 25 () -> leq([b, b]) -> 25 () -> leqnat([z, n2]) -> 26 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 25 () -> merge([nil, y, y]) -> 26 () -> plus([n, z, n]) -> 25 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 28 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 28 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 26 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 27 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 26 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 26 (leq([b, a])) -> BOT -> 26 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 26 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 26 (leqnat([s(nn1), z])) -> BOT -> 27 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 26 } Sat witness: Found: ((append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]), { _s -> cons(b, cons(a, nil)) ; h1 -> a ; l2 -> cons(b, cons(a, nil)) ; t1 -> nil }) ------------------------------------------- Step 71, which took 1.868400 s (model generation: 1.808173, model checking: 0.060227): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_212, q_gen_214}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_212) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_140, q_gen_175) -> q_gen_212 () -> q_gen_212 (q_gen_178) -> q_gen_214 (q_gen_123, q_gen_212) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 (q_gen_214) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_123, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_212) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_212) -> q_gen_143 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 26 () -> length([nil, z]) -> 26 () -> leq([a, n2]) -> 26 () -> leq([b, b]) -> 26 () -> leqnat([z, n2]) -> 26 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 26 () -> merge([nil, y, y]) -> 26 () -> plus([n, z, n]) -> 26 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 28 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 28 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 29 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 27 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 27 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 27 (leq([b, a])) -> BOT -> 27 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 27 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 27 (leqnat([s(nn1), z])) -> BOT -> 27 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 27 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> s(s(z)) ; _ka -> cons(b, cons(b, cons(b, cons(b, nil)))) ; _la -> s(z) ; l1 -> nil ; l2 -> cons(b, cons(b, nil)) }) ------------------------------------------- Step 72, which took 3.527269 s (model generation: 3.522795, model checking: 0.004474): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_178}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 () -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_135, q_gen_155, q_gen_156, q_gen_169, q_gen_197}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_135 () -> q_gen_135 (q_gen_105, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_197, q_gen_103) -> q_gen_103 (q_gen_197, q_gen_155) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_156) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_135, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_121, q_gen_155) -> q_gen_155 (q_gen_135, q_gen_104) -> q_gen_155 (q_gen_105, q_gen_156) -> q_gen_155 () -> q_gen_197 () -> q_gen_197 () -> q_gen_197 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 27 () -> length([nil, z]) -> 27 () -> leq([a, n2]) -> 27 () -> leq([b, b]) -> 27 () -> leqnat([z, n2]) -> 27 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 27 () -> merge([nil, y, y]) -> 27 () -> plus([n, z, n]) -> 27 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 28 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 28 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 29 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 27 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 27 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 30 (leq([b, a])) -> BOT -> 28 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 28 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 28 (leqnat([s(nn1), z])) -> BOT -> 28 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 28 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(a, cons(a, nil)) ; xs -> nil ; y2 -> a ; ys -> cons(a, cons(b, nil)) ; z -> b }) ------------------------------------------- Step 73, which took 7.223820 s (model generation: 7.223112, model checking: 0.000708): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_178}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 () -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_135, q_gen_155, q_gen_156, q_gen_169, q_gen_87}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_135 () -> q_gen_135 (q_gen_105, q_gen_156) -> q_gen_156 (q_gen_135, q_gen_104) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_87, q_gen_103) -> q_gen_103 (q_gen_87, q_gen_155) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_135, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_121, q_gen_155) -> q_gen_155 (q_gen_105, q_gen_156) -> q_gen_155 (q_gen_135, q_gen_104) -> q_gen_155 (q_gen_105, q_gen_156) -> q_gen_155 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 27 () -> length([nil, z]) -> 27 () -> leq([a, n2]) -> 27 () -> leq([b, b]) -> 27 () -> leqnat([z, n2]) -> 27 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 27 () -> merge([nil, y, y]) -> 27 () -> plus([n, z, n]) -> 27 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 28 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 28 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 29 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 27 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 30 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 30 (leq([b, a])) -> BOT -> 28 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 28 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 28 (leqnat([s(nn1), z])) -> BOT -> 28 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 28 } Sat witness: Found: ((leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]), { _m -> cons(a, nil) ; xs -> cons(b, nil) ; y2 -> a ; ys -> nil ; z -> a }) ------------------------------------------- Step 74, which took 4.694433 s (model generation: 4.693699, model checking: 0.000734): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_149, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_141, q_gen_94) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_149 (q_gen_141, q_gen_175) -> q_gen_149 (q_gen_177, q_gen_139) -> q_gen_149 (q_gen_177, q_gen_94) -> q_gen_149 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_156, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_105, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_105, q_gen_156) -> q_gen_117 (q_gen_105, q_gen_156) -> q_gen_117 (q_gen_118, q_gen_169) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 27 () -> length([nil, z]) -> 27 () -> leq([a, n2]) -> 27 () -> leq([b, b]) -> 27 () -> leqnat([z, n2]) -> 27 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 27 () -> merge([nil, y, y]) -> 27 () -> plus([n, z, n]) -> 27 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 28 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 28 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 29 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 30 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 30 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 30 (leq([b, a])) -> BOT -> 28 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 28 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 28 (leqnat([s(nn1), z])) -> BOT -> 28 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 28 } Sat witness: Found: ((length([ll, _ca])) -> length([cons(x, ll), s(_ca)]), { _ca -> s(s(z)) ; ll -> cons(b, nil) ; x -> a }) ------------------------------------------- Step 75, which took 5.217367 s (model generation: 5.213923, model checking: 0.003444): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_178}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 () -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_135, q_gen_155, q_gen_156, q_gen_158, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_135 (q_gen_105, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_158, q_gen_103) -> q_gen_103 (q_gen_158, q_gen_155) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_135, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_121, q_gen_155) -> q_gen_155 (q_gen_105, q_gen_156) -> q_gen_155 (q_gen_135, q_gen_104) -> q_gen_155 (q_gen_105, q_gen_156) -> q_gen_155 () -> q_gen_158 () -> q_gen_158 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 28 () -> length([nil, z]) -> 28 () -> leq([a, n2]) -> 28 () -> leq([b, b]) -> 28 () -> leqnat([z, n2]) -> 28 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 28 () -> merge([nil, y, y]) -> 28 () -> plus([n, z, n]) -> 28 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 28 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 31 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 29 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 30 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 30 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 30 (leq([b, a])) -> BOT -> 29 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 29 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 29 (leqnat([s(nn1), z])) -> BOT -> 29 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 29 } Sat witness: Found: ((length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), { _ga -> s(s(s(z))) ; _ha -> cons(b, nil) ; _ia -> s(z) ; l1 -> cons(b, nil) ; l2 -> cons(b, nil) }) ------------------------------------------- Step 76, which took 2.464824 s (model generation: 2.451629, model checking: 0.013195): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_176, q_gen_177, q_gen_178, q_gen_180, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_175) -> q_gen_175 (q_gen_140, q_gen_180) -> q_gen_175 (q_gen_176, q_gen_139) -> q_gen_175 () -> q_gen_176 (q_gen_142) -> q_gen_178 (q_gen_178) -> q_gen_178 (q_gen_140, q_gen_139) -> q_gen_180 () -> q_gen_94 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_141, q_gen_180) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_178) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_123, q_gen_175) -> q_gen_143 (q_gen_123, q_gen_180) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_180) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_118, q_gen_169) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 29 () -> length([nil, z]) -> 29 () -> leq([a, n2]) -> 29 () -> leq([b, b]) -> 29 () -> leqnat([z, n2]) -> 29 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 29 () -> merge([nil, y, y]) -> 29 () -> plus([n, z, n]) -> 29 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 29 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 31 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 32 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 30 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 30 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 30 (leq([b, a])) -> BOT -> 30 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 30 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 30 (leqnat([s(nn1), z])) -> BOT -> 30 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 30 } Sat witness: Found: ((length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]), { _ja -> s(s(s(z))) ; _ka -> cons(b, cons(b, cons(b, nil))) ; _la -> s(s(z)) ; l1 -> nil ; l2 -> cons(a, cons(b, nil)) }) ------------------------------------------- Step 77, which took 4.424367 s (model generation: 4.186811, model checking: 0.237556): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_177, q_gen_178, q_gen_94}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_142) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 () -> q_gen_122 () -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 (q_gen_141, q_gen_94) -> q_gen_143 (q_gen_177, q_gen_139) -> q_gen_143 (q_gen_177, q_gen_94) -> q_gen_143 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_177 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 () -> q_gen_107 (q_gen_106) -> q_gen_106 (q_gen_107) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_107) -> q_gen_145 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_118, q_gen_121, q_gen_155, q_gen_156, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_105, q_gen_156) -> q_gen_156 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_103) -> q_gen_103 (q_gen_121, q_gen_155) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_156) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_118, q_gen_169) -> q_gen_103 () -> q_gen_103 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_105, q_gen_156) -> q_gen_155 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 30 () -> length([nil, z]) -> 30 () -> leq([a, n2]) -> 30 () -> leq([b, b]) -> 30 () -> leqnat([z, n2]) -> 30 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 30 () -> merge([nil, y, y]) -> 30 () -> plus([n, z, n]) -> 30 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 30 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 34 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 32 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 31 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 31 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 31 (leq([b, a])) -> BOT -> 31 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 31 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 31 (leqnat([s(nn1), z])) -> BOT -> 31 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 31 } Sat witness: Found: ((length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]), { _ga -> s(s(z)) ; _ha -> cons(b, cons(b, cons(b, cons(b, cons(b, nil))))) ; _ia -> s(z) ; l1 -> cons(b, cons(b, nil)) ; l2 -> cons(b, nil) }) ------------------------------------------- Step 78, which took 5.167113 s (model generation: 5.161004, model checking: 0.006109): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129}, Q_f={q_gen_109}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_128 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_110 () -> q_gen_110 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_109 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 () -> q_gen_129 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_141, q_gen_142, q_gen_143, q_gen_175, q_gen_178}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_175) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 (q_gen_178) -> q_gen_142 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 () -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_123, q_gen_175) -> q_gen_122 (q_gen_141, q_gen_139) -> q_gen_122 () -> q_gen_122 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_178) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_141 (q_gen_142) -> q_gen_141 (q_gen_123, q_gen_139) -> q_gen_143 (q_gen_141, q_gen_175) -> q_gen_143 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145, q_gen_220, q_gen_247}, Q_f={q_gen_106}, Delta= { (q_gen_247) -> q_gen_107 (q_gen_107) -> q_gen_247 () -> q_gen_247 (q_gen_106) -> q_gen_106 (q_gen_220) -> q_gen_106 (q_gen_107) -> q_gen_106 (q_gen_247) -> q_gen_106 () -> q_gen_106 (q_gen_145) -> q_gen_145 (q_gen_247) -> q_gen_145 (q_gen_107) -> q_gen_220 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_117, q_gen_118, q_gen_121, q_gen_156, q_gen_169}, Q_f={q_gen_103}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 () -> q_gen_169 (q_gen_105, q_gen_104) -> q_gen_104 (q_gen_105, q_gen_156) -> q_gen_104 () -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_118, q_gen_169) -> q_gen_156 (q_gen_121, q_gen_117) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_156) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 () -> q_gen_103 (q_gen_121, q_gen_103) -> q_gen_117 (q_gen_105, q_gen_156) -> q_gen_117 (q_gen_118, q_gen_169) -> q_gen_117 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 31 () -> length([nil, z]) -> 31 () -> leq([a, n2]) -> 31 () -> leq([b, b]) -> 31 () -> leqnat([z, n2]) -> 31 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 31 () -> merge([nil, y, y]) -> 31 () -> plus([n, z, n]) -> 31 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 31 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 34 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 32 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 31 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 31 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 31 (leq([b, a])) -> BOT -> 31 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 31 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 34 (leqnat([s(nn1), z])) -> BOT -> 32 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 32 } Sat witness: Found: ((leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]), { nn1 -> s(s(z)) ; nn2 -> z }) ------------------------------------------- Step 79, which took 6.022453 s (model generation: 6.016246, model checking: 0.006207): Model: |_ { append -> {{{ Q={q_gen_100, q_gen_109, q_gen_110, q_gen_127, q_gen_128, q_gen_129, q_gen_148, q_gen_162, q_gen_163, q_gen_187, q_gen_188, q_gen_207, q_gen_208}, Q_f={q_gen_109, q_gen_162, q_gen_187, q_gen_208}, Delta= { (q_gen_128, q_gen_127) -> q_gen_127 () -> q_gen_127 () -> q_gen_128 () -> q_gen_188 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 () -> q_gen_100 (q_gen_100, q_gen_110) -> q_gen_110 () -> q_gen_110 (q_gen_128, q_gen_127) -> q_gen_148 (q_gen_188, q_gen_127) -> q_gen_148 (q_gen_129, q_gen_109) -> q_gen_109 (q_gen_129, q_gen_162) -> q_gen_109 (q_gen_163, q_gen_187) -> q_gen_109 (q_gen_100, q_gen_148) -> q_gen_109 (q_gen_100, q_gen_110) -> q_gen_109 (q_gen_128, q_gen_127) -> q_gen_109 () -> q_gen_129 () -> q_gen_129 (q_gen_163, q_gen_208) -> q_gen_162 () -> q_gen_162 () -> q_gen_163 () -> q_gen_163 (q_gen_163, q_gen_207) -> q_gen_187 (q_gen_188, q_gen_127) -> q_gen_187 (q_gen_163, q_gen_162) -> q_gen_207 (q_gen_100, q_gen_148) -> q_gen_207 (q_gen_129, q_gen_208) -> q_gen_208 (q_gen_163, q_gen_109) -> q_gen_208 (q_gen_100, q_gen_110) -> q_gen_208 } Datatype: Convolution form: left }}} ; length -> {{{ Q={q_gen_122, q_gen_123, q_gen_139, q_gen_140, q_gen_142, q_gen_149, q_gen_175, q_gen_177, q_gen_178, q_gen_205, q_gen_94, q_gen_95}, Q_f={q_gen_122}, Delta= { (q_gen_140, q_gen_94) -> q_gen_139 () -> q_gen_140 () -> q_gen_140 () -> q_gen_142 (q_gen_140, q_gen_139) -> q_gen_175 (q_gen_140, q_gen_175) -> q_gen_175 (q_gen_142) -> q_gen_178 (q_gen_178) -> q_gen_178 () -> q_gen_94 (q_gen_123, q_gen_139) -> q_gen_122 (q_gen_123, q_gen_94) -> q_gen_122 (q_gen_177, q_gen_175) -> q_gen_122 (q_gen_205, q_gen_139) -> q_gen_122 (q_gen_205, q_gen_175) -> q_gen_122 (q_gen_95, q_gen_94) -> q_gen_122 () -> q_gen_122 (q_gen_142) -> q_gen_123 () -> q_gen_123 (q_gen_142) -> q_gen_123 (q_gen_123, q_gen_175) -> q_gen_149 (q_gen_177, q_gen_139) -> q_gen_149 (q_gen_177, q_gen_94) -> q_gen_149 (q_gen_205, q_gen_94) -> q_gen_149 (q_gen_95, q_gen_139) -> q_gen_149 (q_gen_95, q_gen_175) -> q_gen_149 (q_gen_178) -> q_gen_177 (q_gen_178) -> q_gen_205 () -> q_gen_95 } Datatype: Convolution form: left }}} ; leq -> {{{ Q={q_gen_108, q_gen_82}, Q_f={q_gen_108}, Delta= { () -> q_gen_108 () -> q_gen_108 () -> q_gen_108 () -> q_gen_82 } Datatype: Convolution form: left }}} ; leqnat -> {{{ Q={q_gen_106, q_gen_107, q_gen_145, q_gen_146, q_gen_219, q_gen_220, q_gen_97}, Q_f={q_gen_106}, Delta= { (q_gen_107) -> q_gen_107 (q_gen_97) -> q_gen_107 () -> q_gen_97 (q_gen_106) -> q_gen_106 (q_gen_219) -> q_gen_106 (q_gen_107) -> q_gen_106 (q_gen_97) -> q_gen_106 () -> q_gen_106 (q_gen_146) -> q_gen_145 (q_gen_145) -> q_gen_146 (q_gen_97) -> q_gen_146 (q_gen_220) -> q_gen_219 (q_gen_107) -> q_gen_220 } Datatype: Convolution form: left }}} ; merge -> {{{ Q={q_gen_103, q_gen_104, q_gen_105, q_gen_116, q_gen_118, q_gen_121, q_gen_144, q_gen_156, q_gen_169, q_gen_172, q_gen_173, q_gen_194, q_gen_195, q_gen_206, q_gen_217, q_gen_226, q_gen_231, q_gen_245, q_gen_258, q_gen_268, q_gen_85, q_gen_87, q_gen_91}, Q_f={q_gen_103, q_gen_116, q_gen_195, q_gen_206, q_gen_226, q_gen_268}, Delta= { () -> q_gen_118 () -> q_gen_118 (q_gen_118, q_gen_169) -> q_gen_169 (q_gen_118, q_gen_85) -> q_gen_169 () -> q_gen_85 (q_gen_105, q_gen_156) -> q_gen_104 () -> q_gen_105 () -> q_gen_105 () -> q_gen_105 (q_gen_105, q_gen_245) -> q_gen_156 (q_gen_118, q_gen_85) -> q_gen_156 () -> q_gen_156 (q_gen_105, q_gen_104) -> q_gen_217 (q_gen_91, q_gen_156) -> q_gen_245 (q_gen_118, q_gen_169) -> q_gen_245 () -> q_gen_91 (q_gen_87, q_gen_103) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_156) -> q_gen_103 (q_gen_105, q_gen_104) -> q_gen_103 (q_gen_105, q_gen_156) -> q_gen_103 (q_gen_121, q_gen_116) -> q_gen_116 (q_gen_121, q_gen_172) -> q_gen_116 (q_gen_173, q_gen_195) -> q_gen_116 (q_gen_87, q_gen_116) -> q_gen_116 (q_gen_87, q_gen_144) -> q_gen_116 (q_gen_118, q_gen_85) -> q_gen_116 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 () -> q_gen_121 (q_gen_121, q_gen_195) -> q_gen_144 (q_gen_173, q_gen_103) -> q_gen_144 (q_gen_118, q_gen_169) -> q_gen_144 (q_gen_173, q_gen_116) -> q_gen_172 (q_gen_173, q_gen_144) -> q_gen_172 () -> q_gen_173 () -> q_gen_173 () -> q_gen_173 (q_gen_87, q_gen_195) -> q_gen_194 (q_gen_121, q_gen_268) -> q_gen_195 (q_gen_173, q_gen_172) -> q_gen_195 () -> q_gen_195 (q_gen_121, q_gen_103) -> q_gen_206 (q_gen_105, q_gen_217) -> q_gen_206 (q_gen_121, q_gen_206) -> q_gen_226 (q_gen_87, q_gen_206) -> q_gen_226 (q_gen_91, q_gen_156) -> q_gen_226 (q_gen_121, q_gen_226) -> q_gen_231 (q_gen_87, q_gen_231) -> q_gen_231 (q_gen_105, q_gen_217) -> q_gen_231 (q_gen_91, q_gen_156) -> q_gen_231 (q_gen_87, q_gen_258) -> q_gen_258 (q_gen_105, q_gen_245) -> q_gen_258 (q_gen_173, q_gen_226) -> q_gen_268 (q_gen_105, q_gen_245) -> q_gen_268 () -> q_gen_87 } Datatype: Convolution form: left }}} ; plus -> {{{ Q={q_gen_101, q_gen_102, q_gen_115}, Q_f={q_gen_101}, Delta= { (q_gen_115) -> q_gen_115 () -> q_gen_115 (q_gen_102) -> q_gen_102 (q_gen_115) -> q_gen_102 () -> q_gen_102 (q_gen_101) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_102) -> q_gen_101 (q_gen_115) -> q_gen_101 () -> q_gen_101 } Datatype: Convolution form: left }}} } -- Equality automata are defined for: {eq_elt, eq_eltlist, eq_nat} _| Teacher's answer: New clause system: { () -> append([nil, l2, l2]) -> 31 () -> length([nil, z]) -> 31 () -> leq([a, n2]) -> 31 () -> leq([b, b]) -> 31 () -> leqnat([z, n2]) -> 31 () -> merge([cons(z, xs), nil, cons(z, xs)]) -> 31 () -> merge([nil, y, y]) -> 31 () -> plus([n, z, n]) -> 31 (append([t1, l2, _s])) -> append([cons(h1, t1), l2, cons(h1, _s)]) -> 31 (length([_ha, _ia]) /\ length([l1, _ga]) /\ merge([l1, l2, _ha])) -> leqnat([_ga, _ia]) -> 34 (length([_ka, _la]) /\ length([l2, _ja]) /\ merge([l1, l2, _ka])) -> leqnat([_ja, _la]) -> 32 (length([ll, _ca])) -> length([cons(x, ll), s(_ca)]) -> 31 (leq([z, y2]) /\ merge([xs, cons(y2, ys), _m])) -> merge([cons(z, xs), cons(y2, ys), cons(z, _m)]) -> 31 (not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]) -> 34 (leq([b, a])) -> BOT -> 32 (leqnat([nn1, nn2])) -> leqnat([s(nn1), s(nn2)]) -> 32 (leqnat([s(nn1), s(nn2)])) -> leqnat([nn1, nn2]) -> 34 (leqnat([s(nn1), z])) -> BOT -> 32 (plus([n, mm, _x])) -> plus([n, s(mm), s(_x)]) -> 32 } Sat witness: Found: ((not leq([z, y2]) /\ merge([cons(z, xs), ys, _n])) -> merge([cons(z, xs), cons(y2, ys), cons(y2, _n)]), { _n -> cons(a, cons(b, cons(b, cons(a, cons(b, nil))))) ; xs -> cons(a, cons(a, cons(b, nil))) ; y2 -> a ; ys -> cons(b, cons(b, cons(b, cons(a, cons(b, nil))))) ; z -> b }) Total time: 66.606941 Reason for stopping: DontKnow. Stopped because: timeout